做网站最重要的莫过了数据了,所以我们要每天备份数据库,应对随时发生的故障。本人的vps是用lnmp搭建的,用脚本成功备份数据库,并且发送到指定的邮箱。

原文参考:http://www.hostloc.com/viewthread.php?tid=1689&highlight=%E5%A4%87%E4%BB%BD

备份数据库的脚本代码

mysqldump -uuser -ppassword --databases db1 db2 db3 > /home/website/backups/databackup.sql
tar zcf /home/website/backups/databackup.sql.tar.gz /home/website/backups/
echo "主题:数据库备份" | mutt -a /home/website/backups/databackup.sql.tar.gz -s "内容:数据库备份" www@gmail.com
rm -r /home/website/backups/*

将以上代码保存为:automysqlbackup.sh

用ssh登录vps,用crontab 命令实现定时自动备份,在ssh下输入

crontab -e

按i进行修改,输入以下内容

00 00 * * * /home/website/automysqlbackup.sh

然后按ESC按,再按 :wq。如果要晚上8点备份,则00 08 * * * /home/website/automysqlbackup.sh

这样就完成了脚本的设置。

说明

1.第一句里的-uuser -ppassword,是数据库的用户名和密码,如:-u123 -p123,是指数据库的用户名是123,密码是123。若遇到无法备份,则将mysqldump改为/usr/local/mysql/bin/mysqldump。db1 db2 db3是要备份的数据库名。

2.第二名则是将备份好的数据库压缩。

3.将压缩好的包发送到指定的邮箱。

4.删除备份的数据库。

脚本放置的位置

在home下新建目录website,在website下再新建目录backups。

automysqlbackup.sh放在website目录里面,设置好权限。

如果不能自动发送到指定的邮箱,则需要安装mutt

debian:
apt-get install mutt

centos:
yum install mutt

databases前面是两个-

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注