网站数据对我们站长来说极其重要,即使我做的是垃圾站.所以数据备份就很关键,下面把vps上自动备份数据的方法给大家分享一下.
首先安装mutt,这个的作用是发送vps的数据到指定邮箱.
yum install -y mutt
另一种是安装lftp,这个作用是从vps的上传数据到GD空间.mutt或者lftp二者选其一即可.
yum install -y lftp
接着vi /root/automysqlbackup.sh
将一下代码复制进去,以下是mutt发送邮件的代码:
/usr/local/mysql/bin/mysqldump -uuser -ppassword --databases dbname > /web/www/date/dbname-$(date +%m%d%Y).sql
tar zcf /web/www/backup/$(date +%m%d%Y)databackup.sql.tar.gz /web/www/date/
echo "主题:数据库备份" | mutt -a /web/www/backup/$(date +%m%d%Y)databackup.sql.tar.gz -s "内容:数据库备份" [email protected]
databackup.sql.tar.gz;exit"
rm -rf /web/www/backup/*
rm -rf /web/www/date/*
另外如果是需要自动上传到GD空间或者其他支持ftp的空间,代码如下:
/usr/local/mysql/bin/mysqldump -uuser -ppassword --databases dbname > /web/www/date/dbname-$(date +%m%d%Y).sql
tar zcf /web/www/backup/$(date +%m%d%Y)databackup.sql.tar.gz /web/www/date/
/usr/bin/lftp -u username,password 192.168.1.1 -e "put /web/www/backup/$(date +%m%d%Y)
databackup.sql.tar.gz;exit"
rm -rf /web/www/backup/*
rm -rf /web/www/date/*
这里只写了一个数据库,如果有多个数据库备份到一个文件.可以写为/usr/local/mysql/bin/mysqldump -uuser -ppassword --databases dbname1 db2 db3 > /web/www/date/dbname-$(date +%m%d%Y).sql
或者一个数据库一个备份文件,我还是喜欢这样,虽然多点代码,但是一个对应一个,好分清楚.
/usr/local/mysql/bin/mysqldump -uuser -ppassword --databases dbname1 > /web/www/date/dbname1-$(date +%m%d%Y).sql
/usr/local/mysql/bin/mysqldump -uuser -ppassword --databases dbname2 > /web/www/date/dbname2-$(date +%m%d%Y).sql
/usr/local/mysql/bin/mysqldump -uuser -ppassword --databases dbname3 > /web/www/date/dbname3-$(date +%m%d%Y).sql
根据自己的需要设置,还可以设置>/usr/local/mysql/bin/mysqldump -uuser -ppassword --databases -all > /web/www/date/dbname-$(date +%m%d%Y).sql
这个表示把该用户的所有数据库备份为一个文件.
其中的$(date +%m%d%Y)
是以时间日期命名,[email protected]
改为你自己的邮箱名.然后将automysqlbackup.sh赋予运行权限.
chmod u+x automysqlbackup.sh
再将这个脚本加入到crontab
crontab -e
加入以下代码
00 03 * * * /root/automysqlbackup.sh
即时0点过3分运行本脚本,自动备份.发送邮件/ftp上传.
192.168.1.1即是你ftp空间的ip,这里可以直接加文件夹路径,然后再提醒一下到gd空间后台把文件夹设置为密码保护,安全些.
这下每天就能自动备份数据了,如果还需要备份其他文件夹照着代码加进去即可.
最后再写一下数据恢复.通常是用source 命令.
进入mysql数据库控制台
mysql -u root -ppasswrod
mysql>use dbname;
mysql>set dbname utf8;
mysql>source /usr/src/back.sql
这里为什么要设置utf-8,主要怕乱码.如果到处的时候或者mysql设置好了编码,也可以忽略那一步.
vps定时备份数据,并上传到GD空间或者发送邮件
本原创文章未经允许不得转载 | 当前页面:蒙面人生 » vps定时备份数据,并上传到GD空间或者发送邮件