vps自动备份脚本,删除N天前备份
之前写过一篇vps备份的教程,Linux下备份数据库和网站目录上传到ftp:http://kzpu.com/?p=707,适合大多数vps,下面这种方法,和这种差不多,就是多了日期标识,每天可以独立备份,并且可以删除N天前的备份,保持最近几天的最新备份。
#! /bin/bash
cd /home/
/usr/local/mysql/bin/mysqldump --databases data1 data2 -uroot -p123456 |gzip > data_$(date +"%Y%m%d").sql.gz
tar -zcf web_$(date +"%Y%m%d").tar.gz /home/www/* --exclude=*.tar.gz
ftp -vn 8.8.8.8 << autoftp
user name 123456
type binary
put data_$(date +"%Y%m%d").sql.gz
put web_$(date +"%Y%m%d").tar.gz
close
quit
autoftp
rm -rf /home/data_$(date -d -5day +"%Y%m%d").sql.gz web_$(date -d -5day +"%Y%m%d").tar.gz
$(date +"%Y%m%d")
表示是今天的日期,如:20100729
$(date -d -5day +"%Y%m%d")
表示是5天前的日期,如:20100724
ftp -vn 8.8.8.8 << autoftp
user name 123456
这里填写ftp的ip、帐号和密码
恢复数据库
gunzip < data_$(date +"%Y%m%d").sql.gz | mysql -uroot -p123456
对于数据库是sql文件,则用以下命令
mysql -uroot -p123456 < data.sql
123456改成自已的mysql密码。
注意:databases前面是两个-
–databases
可以下载下面的,自已修改即可