我们的 WordPress开发环境全部是在 Mac 上面的,开发环境的代码每天都会及时提交到远程 Git 仓库,所以不用操心代码的备份问题。虽然开发环境的 WordPress Database没有正式环境那么重要,及时备份还是一个好习惯。而开发环境的 MySQL 数据库没办法通过直接备份数据库文件的方式备份,于是我们的开发工程师研究了一下,发现可以通过 Mac OS 的 Automator 方式实现自动备份,在这里把设置备份的方法分享给大家,方便有需要的朋友参考。
1、打开 Automator. 从文稿类型中选择 “日历提醒”。
2、然后在资源库中选择“运行Shell 脚本”,“运行Shell 脚本”到添加右边的工作流程。
3、编辑需要执行的脚本
然后在 “运行Shell 脚本” 的编辑框里输入以下脚本内容,或者把以下脚本内容保存成 .sh 文件,赋予执行权限,在编辑框里输入 .sh 文件的路径。
#!/bin/bash
MYSQL_USER="root" ##数据库帐号
MYSQL_PASS="" #数据库密码
BACK_DATA=/Users/Amoslee/Dropbox/macdev #本地备份文件存放目录,手动创建 #定义数据库的名字和旧数据库的名字
DBBakName=DB_$(date +"%Y%m%d").tar.gz
OldDB=Data_$(date -d -3day +"%Y%m%d").tar.gz
#删除本地3天前的数据
rm -rf $BACK_DATA/$OldDB cd $BACK_DATA
#使用命令导出SQL数据库,并且按数据库分个压缩
for db in `/usr/local/bin/mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' | xargs`; do
(/usr/local/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 - > ${db}.sql.gz)
done
tar zcf $BACK_DATA/$DBBakName $BACK_DATA/*.sql.gz
rm -rf $BACK_DATA/*.sql.gz echo -e "Thank you! all down"
修改过 VPS 备份到 Dropbox 脚本的朋友可能会觉得上面的代码很熟悉,没错,这就是根据哪个脚本修改的,在这里感谢一下写这个脚本的朋友。
4、设置脚本定期执行的时间
最后,点击“文件> 存储”,然后关闭 Automator, 日历会自动打开,然后在日历中配置一个定期提醒的事项来安排脚本运行的时间。
设置好了之后,就不用管了,每天到了我们设置的时间,Mac 会出现一个日历提醒,同时开始数据库备份操作。