之前写过一篇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

可以下载下面的,自已修改即可

backup.zip

发表回复

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