vestacp面板是俄罗斯人开发的一个免费的vps控制面板,我使用了近一个月,感觉还不错。它提供了自动备份数据功能,但仅限于备份到vps上,为了保险,我们需要把数据也备份到远程空间上,于是就有了这个脚本,并且是把数据压缩加密之后再传到ftp空间。
先安装一下zip
yum install -y zip
制作备份脚本,命名为vestacpback.sh
#!/bin/bash
#Funciont: Backup website and mysql by vestacp
#你要修改的地方从这里开始
FTP_USER= #ftp用户名
FTP_PASS= #ftp密码
FTP_IP= #ftp地址
FTP_backup=/public_html/backup/ #ftp上存放备份文件的目录,这个要自己得ftp上面建的
WEB_DATA=/home/backup #要备份的网站数据
#你要修改的地方从这里结束
#定义数据库的名字和旧数据库的名字
WebBakName=back_$(date +%Y%m%d).zip
OldWeb=back_$(date -d -2day +"%Y%m%d").zip
#删除本地2天前的数据
find /home/backup/ -mtime 2 -name "*.tar" -exec rm -rf {} ;
cd /home/backup/
#压缩网站数据,把password改为自己的密码
zip -rP password back_$(date +%Y%m%d).zip /home/backup/*.tar
#上传到FTP空间,删除FTP空间2天前的数据
ftp -v -n $FTP_IP << END
user $FTP_USER $FTP_PASS
type binary
cd $FTP_backup
delete $OldWeb
put $WebBakName
bye
END
修改脚本信息,保存后添加定时任务
crontab -e
59 23 * * * /bin/sh /root/vestacpback.sh