I have to admit, April is off to a bad start this year. If you noticed, the server that hosts the database went down yesterday. You might be wondering what happened from the tweets I made. I will share what happened.
Around 6:00 PM eastern time yesterday, the hosting provider restarted the server that hosted the database. The host also had all my stuff used for my business. Apparently, all the solid-state storage drives failed. Compared to traditional hard drives, it’s nearly impossible to recover data from solid-state drives. In short, they built a new node and restored from backups that were a few days old.
I have to admit that I was anxious when all of this happened and lost sleep over it. If I had a good backup strategy, I wouldn’t feel uneasy. But I came close to losing all my work I have already done since March 7th, which is the last time I backed up the database. This would mean I have to manually recreate all the posts and comments from emails and Microsoft Word documents. That won’t be fun at all!
The last time I had data loss is from 2010, when I accidentally dropped tables and had to restore from a somewhat old backup. In short, I had to recreate all the posts from Google Reader and whatever is cached. Of course, I am not alone. I know that someone hacked someone’s anime blog and they lost all their work back in 2014. It’s not a good feeling to see your work disappear without realizing it and not have recent backups of some kind.
If you are in Information Technology, you should be familiar with Business Continuity and Disaster Recovery. One of the things you consider while creating a disaster recovery plan is how do you recover from a disaster. An effective plan can reduce the downtime and data loss. One of the important aspects of this is to have regular backups so you won’t lose all your work or stuff critical to a business. Of course, a backup is useless if it’s not offsite too since servers themselves can fail.
This is where my problem lie. Back in October, I moved the database to another server to improve page loading times. However, I never got around to creating automatic backups or downloaded them to my home server. If the backup was 5 days out of date or more, I would lose some of my work, and it wouldn’t be good. After the server went back online, I proceeded to move the database back to the virtual private server after restoring a few comments made that day.
So, what lessons I learned from this? If you host your own Anime Blog and don’t use WordPress.com, you need to have a solid backup solution. This includes having off-site backups stored off the server. If you are savvy enough and the host provider allows terminal access, you can write a script to automatically backup your site and databases. Afterwards, you create a scheduled task to automatically download the backups to a computer or network attached storage.
To accomplish this, I used my Mac Mini, which is my home server which shares my files, backups and Plex Server. I set it up so it would download new backups every day to my RAID 10 storage for redundancy. A script on the virtual private server that hosts my blog will generate the backups for me, which the Mac Mini will download. This will include site files as well. In technical terms, I created Automator workflow to have my FTP client, Transmit synchronize download the files from the server to my hard drives. This workflow will run as a cron job every day.
I know not everyone is computer savvy. Thankfully, there are WordPress plugins that can back up the database. There are also services like Jetpack Premium, which can back up your entire blog for you off-site and restore it in one click. With that, you don’t have to download backups manually and go through the hassle of restoring them.
In short, if you are self-hosting your Anime Blog, remember to download your backups. It can be to your computer, network attached storage, Dropbox, etc. Your backups are useless if you do not download them off the server. Servers can catastrophic fail and your hosting provider might not have the most recent backup. By automating the process, it will give you peace and mind.
With that we will go back to your regularly scheduled programming. ¶