One day as usual work, suddenly found that the computer power has been falling, check found that although the power has been plugged, but the power has been falling, feel not good. After a series of attempts, it still failed to stop the battery from dropping to zero, until the power was turned off and never started again. I was using Mac Pro 2016, and though I was in a panic, I still took a leave and went to Genius Bar nearby for a test. The final test result was that the motherboard was broken. The good news is that the main components of MBP (including the motherboard) have a two-year warranty. The bad news is that the hard drive is soldered to the motherboard due to the high degree of integration in the MAC, which means the hard drive data can’t be retrieved!!

This is when the backup benefits come into play. I have a removable hard drive dedicated to 1 terabyte of space for computer backup. The backup software is the time Machine of the macOS system. This backup software can back up the entire system completely, and the result of the subsequent restoration is very good. The downside is that you need a larger removable hard drive, and you have to figure out the format of the removable hard drive, which is a minor problem; The key problem is to make regular backup. When time Machine is turned on, it will remind you regularly that it is time to back up. Sometimes, you are too lazy to back up, and the frequency of using mobile hard disk is becoming less and less.

Then the next day work, because the motherboard procurement still need some days to borrow a colleague used to play games on the computer, to the company after facing the problem is who I am, I am doing. No matter the documents, common software, code, and operating environment, or even the account password of each website can not remember. Because there are so many passwords for web accounts, a chrome plugin is installed to store this information (important ones, such as credit card ones, are not stored). Wanted to think, to retrieve password again, fortunately colleagues computer installed over the wall software, open the Chrome browser, log in Google account (Google account there are two steps to verify password is a less complicated), after the browser tabs, sync up all plug-ins, and other sites password are found, the whole process is smooth and make me satisfied.

I then re-downloaded the editor, which I use daily for Sublime Text + IntelliJ IDEA, but which I can never get used to distressingly because the editor is highly configurable and includes some appearance Settings, shortcuts and plugins, It occurred to me that I had exported a configuration file to Dropbox, which was a bit old and saved a lot of effort.

After that, I downloaded the code from the code base again. I didn’t need to worry about the git version control code, but I still didn’t submit some code to the remote, so I had to rework it. The lesson here is to submit work every day (if any) if it’s already done.

Finally, the only regret is that because the virtual machine occupies too much space, the virtual machine was not backed up when the time Machine was used for backup, including Windows virtual machine and Linux virtual machine. It is not a problem that other environments were changed to Docker before. The trouble is that the database used to develop the tests is still large, the table structure can be rebuilt, and data import is cumbersome. After this, I wrote a script to supplement it with regular database backups.

In this case, the habit of backing up was not a big loss. In the future, you will never feel that backup is useless. Here is the summary of daily backup:

  1. Back up your computer regularly,macOSusetime machine, other platforms also have corresponding backup software
  2. All kinds of website accounts can be backed up by browser plug-ins or other tools (important passwords should not be recorded, common website account passwords should not be related to important passwords), but also to remember such as Google Browser account passwords (enable two-step verification to ensure security)
  3. Backup configuration files of common programming software, these files are not valuable to others but are important to yourself, use synchronization software such as Drobox (domestic software also has similar software)
  4. Code to joingitVersion library and upload to remote code base, work has been completed in case of timely submission
  5. If you use a database, back it up regularly