使用 Mac OS 的 Automator 自动备份 MySQL

文 / @WordPress主题

小本本的开发环境备份方法分享

我们团队使用的WordPress开发环境全部在Mac上进行,每天会将代码提交至远程Git仓库,所以代码备份不必担心。尽管开发环境下的WordPress数据库不像正式环境那么重要,合理备份依然是个好习惯。但是,开发环境下的MySQL数据库不能直接通过备份文件的方式进行,因此我们的工程师研究了下,在这里分享一下使用MacOS的Automator工具自动备份的方法,供有需要的朋友参考。

备份方法

使用Automator进行备份

步骤如下

  1. 打开Automator,从文稿类型中选择“日历提醒“。
  2. 在资源库中选择“运行Shell脚本”,添加至右侧工作流程。
  3. 编辑需要执行的Shell脚本,并赋予执行权限。
  4. 在日历中设置执行脚本的时间。

脚本内容

在运行Shell脚本的编辑框中输入以下脚本内容或者将以下脚本内容保存成.sh文件赋予执行权限,在编辑框中输入.sh文件的路径。其中,MYSQL_USER为数据库帐号,MYSQL_PASS为数据库密码,BACK_DATA为本地备份文件存放目录(需要手动创建),DBBakName为数据库的备份名字,OldDB为旧数据库的备份名字。

#!/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/$OldDBcd$BACK_DATA

#使用命令导出SQL数据库,并且按数据库分个压缩
fordbin`/usr/local/bin/mysql-u$MYSQL_USER-p$MYSQL_PASS-B-N-e'SHOWDATABASES'|xargs`;do
(/usr/local/bin/mysqldump-u$MYSQL_USER-p$MYSQL_PASS${db}|gzip-9->${db}.sql.gz)
done

tarzcf$BACK_DATA/$DBBakName$BACK_DATA/*.sql.gz
rm-rf$BACK_DATA/*.sql.gzecho-e"Thankyou!alldown"

笔者曾经修改过VPS备份到Dropbox的脚本,可能会觉得上面的代码很熟悉,没错,这就是根据哪个脚本修改的,在这里感谢一下写这个脚本的朋友。

定期备份

最后,点击“文件>存储”,然后关闭Automator,日历会自动打开。在日历中配置一个定期提醒的事项来安排脚本运行的时间。配置好后,就不用管了,每天到了我们设置的时间,Mac会出现一个日历提醒,同时开始数据库备份操作。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。