跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 求个脚本支持打包备份MYSQL+web然后备份到FTP和goolge网盘
未分類
13 5 月 2020

求个脚本支持打包备份MYSQL+web然后备份到FTP和goolge网盘

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 …

谢谢,不懂技术,改不了!
还是谢谢。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具