通过服务器直接备份博客数据库虽然最安全,但是需要手动不方便;通过 wordpress 插件备份虽然可以全自动,但是可能会出现问题。所以,如果能够把数据库备份到服务器,同时也备份到邮箱,不需要安装任何插件,并且一切都是自动 完成的,那就好了。
事实上,automysqlbackup 程序是可以实现这个想法的,虽然并不适合所有的服务器。下面先介绍 automysqlbackup 程序的使用方法,然后再说说它的不足之处。
一、通过 automysqlbackup 备份博客数据库的具体步骤:
第一步. 下载 automysqlbackup 文件
下载地址:automysqlbackup
下载到的文件是这样的:
automysqlbackup.sh.2.5
把以上文件重命名为 “automysqlbackup.sh”。
第二步. 在服务器上创建一个备份文件夹
这个文件夹是用来储存你备份的数据库的,文件夹的名字可以随意。文件夹可以放到博客服务器的任何目录,但是为了安全起见,最好放在根目录,也就是和 “public_html” 文件夹放在一起,那样别人就访问不到你的备份数据库了。以下就以新文件夹的路径是“/home/young/backups”作为例子。
第三步. 上传 automysqlbackup 文件
把 automysqlbackup.sh 文件上传到新建的文件夹 “backups”。你可以通过 ftp 软件上传,也可以通过 cpanel 上传。不过最好通过 cpanel 上传,因为就一个文件并且下面还要在 cpanel 上操作。
第四步. 更改许可
通过 cpanel 的“文件管理器” 找到并选择 automysqlbackup 文件,点击“更改许可”,然后把许可属性改为“755”。
第五步. 修改 automysqlbackup 文件
更改许可并保存之后,点击编辑。虽然 automysqlbackup.sh 文件里面的内容很多,但是你需要修改的只有以下7个地方:
# username to access the mysql server e.g. dbuser
username=这里填你的博客数据库用户名(1)
# username to access the mysql server e.g. password
password=这里填你的博客数据库用户名的密码 (2)
# host name (or ip address) of mysql server e.g localhost
dbhost=localhost
# list of dbnames for daily/weekly backup e.g. “db1 db2 db3′
dbnames=”这里填你的博客数据库名称,如果有多个数据库,每两个数据库名称中间用一个空格隔开,例如‘数据库1 数据库2 数据库3’,当然,你也可以填‘all’。” (3)
# backup directory location e.g /backups
backupdir=”这里填你新建的文件夹路径,例如‘/home/young/backups’。”(4)
# mail setup
# what would you like to be mailed to you?
# – log : send only log file
# – files : send log file and sql files as attachments (see docs)
# – stdout : will simply output the log to the screen if run manually.
# – quiet : only send logs if an error occurs to the mailaddr.
mailcontent=”如果你想并且可以把备份的数据库发到邮箱,这里就填‘files’,否则,就填‘log’、‘stout’和‘quiet’其 中的任意一个。” (5)
# set the maximum allowed email size in k. (4000 = approx 5mb email [see docs])
maxattsize=”这里填允许发送邮件的最大尺寸,默认为4mb。” (6)
# email address to send mail to? ()
mailaddr=”这里填你接收备份数据的邮箱地址” (7)
以上标注的7个地方除了 (5)和(6)可以不改之外,其他都是需要更改的,另外,双引号是要保留的。
automysqlbackup 文件修改完并保存之后,接下来的就简单了。
第六步. 创建一个时钟守护作业
打开 cpanel “高级”选项里面的“时钟守护作业(cron jobs)”,输入你的邮箱地址,设置要备份的时间,可以简单地设置为每天备份一次,也可以设置为具体哪一天备份。备份时间设置好之后,在 command 一栏输入 automysqlbackup 文件的路径,例如:
/home/young/backups/automysqlbackup.sh
点击 add new cron job 就完成了整个通过 automysqlbackup 备份你博客数据库的操作。
二、automysqlbackup 程序的不足之处
通过 automysqlbackup + cron job 的方式来备份博客数据库,可以少安装一个插件,可以同时备份多个数据库,还可以有双重保障——备份数据库可以保存在服务器上同时也可以发到邮箱。但是只有 安装了 mutt 程序的服务器才可以把数据库发到邮箱。碰巧精品博客所用的服务器 bluehost 不支持 mutt,所以通过 automysqlbackup,我只能把精品博客的数据库备份到服务器,而无法备份到邮箱。
如果你有在不支持 mutt 的服务器上通过 automysqlbackup 备份数据库到邮箱的解决方法,或者有可以把博客数据库备份到邮箱的其他程序,欢迎分享。