|
本帖最后由 chnfsx 于 2020/7/11 08:52 编辑
kangle 备份网站+MYSQL 脚本 2020 独立版本
因为后台不好使 改了个独立 定时删除
确认7za可用
创建 /home/backup 备份目录 把backup-ftp.sh 上传进去
- * 5 * * * /home/backup/backup-ftp.sh
复制代码
-xr\!cache -xr\!wwwzip -xr\!logs
是排除压缩目录 cache wwwzip logs
-p123456 是设置解压密码123456
定时任务 就可以
- #!/bin/bash
- #你要修改的地方从这里开始
- MYSQL_USER=root
- MYSQL_PASS=lssipe
- MAIL_TO=cafefeet@cnbanwagong.com #数据库发送到的邮箱
- FTP_USER=ftpback #ftp用户名
- FTP_PASS=wdwfwfw423t #ftp密码
- FTP_IP=127.0.0.1 #ftp地址
- FTP_backup=backup #ftp上存放备份文件的目录,这个要自己得ftp上面建的
- WEB_DATA=/home/ftp #要备份的网站数据
- #你要修改的地方从这里结束
- #定义数据库的名字和旧数据库的名字
- DataBakName=Data_$(date +"%Y%m%d").zip
- WebBakName=Web_$(date +%Y%m%d).zip
- OldData=Data_$(date -d -5day +"%Y%m%d").zip
- OldWeb=Web_$(date -d -5day +"%Y%m%d").zip
- #删除本地3天前的数据
- rm -rf /home/backup/Data_$(date -d -3day +"%Y%m%d").zip /home/backup/Web_$(date -d -3day +"%Y%m%d").zip
- cd /home/backup
- #导出数据库,一个数据库一个压缩文件
- for db in `mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' | xargs`; do
- (nice -n 19 mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db}> ${db}.sql)
- done
- #压缩数据库文件为一个文件
- nice -n 19 /usr/local/bin/7za a /home/backup/$DataBakName /home/backup/*.sql -mx=0 -p123456
- rm -rf /home/backup/*.sql
- #发送数据库到Email,如果数据库压缩后太大,请注释这行
- #echo "主题:数据库备份" | mutt -a /home/backup/$DataBakName -s "内容:数据库备份" $MAIL_TO
- #压缩网站数据
- nice -n 19 /usr/local/bin/7za a /home/backup/$WebBakName $WEB_DATA -xr\!cache -xr\!wwwzip -xr\!logs -mx=0 -p123456
- #上传到FTP空间,删除FTP空间5天前的数据
- nice -n 19 ftp -v -n $FTP_IP << END
- user $FTP_USER $FTP_PASS
- type binary
- cd $FTP_backup
- delete $OldData
- delete $OldWeb
- put $DataBakName
- put $WebBakName
- bye
- END
复制代码
参考 https://bbs.itzmx.com/forum.php?mod=viewthread&tid=87549 |
|