lastfree 大佬有话说 :
求个脚本支持打包备份MYSQL+web然后备份到FTP和goolge网盘
求个脚本支持备份MYSQL+web,支持跳过web的某些目录,
而且能打包压缩的时候支持加密码。然后支持同时备份到FTP和GOOGLE网盘。支持计划任务执行。
一直没有找到这样需求的脚本。
宝塔的计划任务到是可以,但是不能加密码。之前还到宝塔论坛提了意见,要加密,
官方回复说考虑加到新版上,结果他们弄到企业版了!之前的收费版也没得用。
看坛子里有没有人这样的脚本。
谢谢大佬提供一下!非常感谢。
hjh142857 大佬有话说 :
大佬可以尝试自己修改宝塔的py脚本
有JJ的男人 大佬有话说 :
:lol 顶一下 同求https://cdn.jsdelivr.net/gh/hishis/forum-master/public/images/patch.gif
斜阳晚暮 大佬有话说 :
本帖最后由 斜阳晚暮 于 2020-5-13 23:21 编辑
自己用的备份FTP脚本。
想要排除目录和密码,可以自行修改打包命令行。
备份到谷歌网盘,可以另外使用rclone同步。
定时任务都写到crontab中。
什么都一起弄好的,没有。
root@deuzqZ:~/code/hello# cat /home/backup/autobackuptoftp.sh
#!/bin/bash
#使用发送邮箱功能必须安装email发送组件
#yum install sendmail mutt
#你要修改的地方从这里开始
MYSQL_USER=root #mysql用户名
MYSQL_PASS=passwd #mysql密码
[email protected] #数据库发送到的邮箱
FTP_IP=fto.cloud.top #ftp地址
FTP_PROT=21 #ftp端口
FTP_USER=user #ftp用户名
FTP_PASS=password #ftp密码
FTP_BACKUP=/Backup #ftp上存放备份文件的目录,需要在ftp上面建立
WEB_DATA=/home/wwwroot #备份的网站数据
NGINX_CONF=/usr/local/nginx/conf #nginx配置文件夹
CERT_DATA=/home/www/cert #证书文件夹
WEB_BACKUP=/home/backup #本地备份路径
#你要修改的地方从这里结束
#定义备份文件名和旧备份文件名
DataBakName=Data_$(date +"%Y%m%d").tar.gz
WebBakName=Web_$(date +%Y%m%d).tar.gz
NginxBakName=Nginx_$(date +"%Y%m%d").tar.gz
CertBakName=Cert_$(date +"%Y%m%d").tar.gz
OldData=Data_$(date -d -5day +"%Y%m%d").tar.gz
OldWeb=Web_$(date -d -5day +"%Y%m%d").tar.gz
OldNginx=Nginx_$(date -d -5day +"%Y%m%d").tar.gz
OldCert=Cert_$(date -d -5day +"%Y%m%d").tar.gz
#删除本地3天前的数据
mkdir -p $WEB_BACKUP
rm -rf $WEB_BACKUP/Data_$(date -d -3day +"%Y%m%d").tar.gz $WEB_BACKUP/Web_$(date -d -3day +"%Y%m%d").tar.gz $WEB_BACKUP/Nginx_$(date -d -3day +"%Y%m%d").tar.gz $WEB_BACKUP/Cert_$(date -d -3day +"%Y%m%d").tar.gz $WEB_BACKUP/Other_$(date -d -3day +"%Y%m%d").tar.gz
cd $WEB_BACKUP
#导出数据库,一个数据库一个压缩文件
for db in `/usr/local/mysql/bin/mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e ‘SHOW DATABASES’ | xargs`; do
(/usr/local/mysql/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS –single-transaction ${db} | gzip -9 – > ${db}.sql.gz)
done
#压缩数据库文件为一个文件
tar zcf $WEB_BACKUP/$DataBakName $WEB_BACKUP/*.sql.gz
rm -rf $WEB_BACKUP/*.sql.gz
#发送数据库到Email,如果数据库压缩后太大,请注释这行
#echo "主题:数据库备份" | mutt -a $WEB_BACKUP/$DataBakName -s "内容:数据库备份" $MAIL_TO
#压缩网站数据
tar zcf $WEB_BACKUP/$WebBakName $WEB_DATA
#压缩nginx配置文件
tar zcf $WEB_BACKUP/$NginxBakName $NGINX_CONF
#压缩证书文件
tar zcf $WEB_BACKUP/$CertBakName $CERT_DATA
#上传到FTP空间,删除FTP空间5天前的数据
#如FTP服务器不支持主动模式,请在type binary后面增加passive参数以开启被动模式。
ftp -v -n $FTP_IP $FTP_PROT<< END
user $FTP_USER $FTP_PASS
type binary
passive
cd $FTP_BACKUP
delete $OldData
delete $OldWeb
delete $OldNginx
delete $OldCert
put $DataBakName
put $WebBakName
put $NginxBakName
put $CertBakName
bye
END
搬瓦工 大佬有话说 :
用 teddysun 大佬的
lastfree 大佬有话说 :
斜阳晚暮 大佬有话说 : 2020-5-13 23:13
自己用的备份FTP脚本。
想要排除目录和密码,可以自行修改打包命令行。
备份到谷歌网盘,可以另外使用rclon …
谢谢,不懂技术,改不了!
还是谢谢。