利用Dropbox自动备份WordPress

作者: siediyer 分类: linux 发布时间: 2013-08-07 23:29

前一段时间自己的VPS不知道什么情况,出现了文件系统损坏的问题,一大批web发布目录下的文件变成了意义不明的二进制文件或者svn的元文件,到现在也还不知道到底被害范围有多大,于是觉得自己有必要把博客的备份变成常态,并且决定把备份文件同步到Dropbox上。

首先写了一个shell脚本用crontab每天运行以确保每天的数据库都没有问题,脚本依然很简单:

#!/bin/bash

#uncomment this for debug
#set -x

host='YOUR_MYSQL_HOST'
user='YOUR_MYSQL_USER'
pass='YOUR_MYSQL_PASSWORD'
dbs=('YOUR_MYSQL_DB_ONE' 'YOUR_MYSQL_DB_TWO' 'YOUR_MYSQL_DB_ANOTHER')
dir='/data/mysql_backup'
todaydir="$dir/`date +%Y%m%d`"

mkdir -p $todaydir

for db in ${dbs[@]}; do
    mysqldump --add-drop-database -u"$user" -p"$pass" -h"$host" -B $db > "$todaydir/$db.dump.sql"
done

#remove directories modified 15 days ago
find "$dir" -mindepth 1 -maxdepth 1 -type d -mtime +15 -exec rm -rf {} ;

然后把它加入crond每天晚上23:55时运行,利用crontab -e加入新行:

55 23 * * *  /opt/scripts/db_backup.sh

接下去是安装Dropbox,安装方式可以在官网 https://www.dropbox.com/install 找到,可以看到那里提供了deb包,不过对于CLI来说,使用那个命令行方式的安装更加合适(这样不需要python-gtk2的依赖)。那么执行官网上给出的一条命令:

cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -

过了一会儿后应该已经可以在自己的home目录下面找到.dropbox-dist了(注意”.”,是隐藏的~),进入~dropbox-dist,执 行./dropboxd,会给你一个链接,让你去那个链接的页面上完成Dropbox的绑定操作。操作完成后可以先按ctrl + c暂时先终止程序。然后去官网下载一个python脚本 https://www.dropbox.com/download?dl=packages/dropbox.py 放到自己的PATH路径(例如/usr/local/bin)下面,这个就是之后操作dropbox服务的一个控制程序了,然后运行

chmod +x dropbox.py
dropbox.py start

 

即可开始服务。

接下去的事情就好办多了,只要在你自己的home目录的Dropbox下面放一个上面备份SQL目录的符号链接,自己的数据库就会被自动备份到 Dropbox上面去了,然后可以把你自己的WordPress的wp-content目录也一起通过符号链接的形式备份起来,这样的话如果真的发生服务 器崩溃的问题,也可以拿到自己在上面的所有数据(当然,也可以在这个里面放任何你希望在服务器上备份到云端的数据)

cd ~/Dropbox
ln -s /data/mysql_backup
ln -s /YOUR_WORDPRESS_DIR_ROOT/wp-content

 

后来网上搜索了一下相关的文章,发现WordPress本身也有一个插件可以自动帮你同步到Dropbox,不过那个看起来并非在下的美学,适用范围也比较有限,所以哥还是玩自己的~

最后,我的Dropbox邀请链接,欢迎大家通过此链接注册Dropbox: http://db.tt/oeGwG4oQ = 。 =

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

Title - Artist
0:00