当前位置: 首页 > Linux > 正文

vps定时自动备份数据库及网站数据资料到ftp服务器,7天循环备份。

1.在root下创建backuptoftp.sh,内容如下:

#!/bin/bash
#@cyq.me
#你要修改的地方从这里开始@cyq.me
MYSQL_USER=abc #mysql用户名
MYSQL_PASS=pass #mysql密码
FTP_USER=ftpuser #ftp用户名
FTP_PASS=ftppass #ftp密码
FTP_IP=ftp #ftp地址
FTP_backup=/cyqme/ #ftp上存放备份文件的目录,这个要自己在ftp上面建的
WEB_DATA=/home/wwwroot/cyqme #要备份的网站数据
#你要修改的地方到这里结束

#定义数据库的名字,以星期名为文件名
DataBakName=Data_$(date +”%A”).tar.gz
WebBakName=Web_$(date +”%A”).tar.gz
cd /home/backup
#导出数据库,一个数据库一个压缩文件
for db in `mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e ‘SHOW DATABASES’ | xargs`; do
(mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} –skip-lock-tables | gzip -9 – > ${db}.sql.gz)
done
#压缩数据库文件为一个文件
tar zcPf /home/backup/$DataBakName /home/backup/*.sql.gz
rm -rf /home/backup/*.sql.gz
#压缩网站数据
tar zcPf /home/backup/$WebBakName $WEB_DATA
#上传到FTP空间
ftp -v -n $FTP_IP << END
user $FTP_USER $FTP_PASS
type binary
cd $FTP_backup
put $DataBakName
put $WebBakName
bye
END

2.给脚本添加执行权限:

chmod +x /root/backuptoftp.sh

3.利用系统crontab实现每天自动运行:

crontab -e

输入以下内容:

30 01 * * * /root/backuptofcp.sh

其中30 01为时间分/小时,就是每天01:30备份。

vps定时自动备份7天数据库及网站数据资料到ftp:等您坐沙发呢!

发表评论

gravatar

快捷键:Ctrl+Enter