bak文件夹需要事先创建好,使用环境为CentOS
cd /root/bak if [ ! -d bak_$(date +%Y%m%d) ]; then mkdir bak_$(date +%Y%m%d) fi #打包网站文件 cd /home/wwwroot tar -czf /root/bak/bak_$(date +%Y%m%d)/bak_www.wdssmq.com.tar.gz www.wdssmq.com #导出数据库 /usr/local/mysql/bin/mysqldump -uroot -p数据库密码 数据库名 > /root/bak/bak_$(date +%Y%m%d)/db_www.wdssmq.com.sql.gz #del 3 days ago find /root/bak/ -type d -mtime +5 -name "bak*" -print -exec rm -rf {} \; #镜像同步至远程FTP lftp -u FTP用户名,FTP密码 -e "mirror -R --delete --only-newer --verbose /root/bak /远程目录;exit" www.FTP地址.com
将代码写入到backup.sh文件放在root目录下,然后设置一个定时,比如每天凌晨3点执行。
crontab -e
0 3 * * * /root/backup.sh
定时需要 crontabs,参考:http://www.ha97.com/910.html
关于lftp:参考:https://www.centos.bz/2011/06/incremental-backup-site-using-lftp/