< 返回

Linux系统下FTP自动备份脚本

2022-08-18 16:35 作者:136739373 阅读量:601

使用该脚本之前,要在需要备份的机器上创建 /home/backup 目录 安装ftp命令

  1. yum install ftp -#centos
  2. apt-get install ftp -#debian ubuntu
  3. mkdir /home/backup

在备份机器上创建存放备份文件的目录,得在ftp上事先创建。 可以配合cron自动执行备份,例如(每天凌晨一点自动执行备份脚本):

  1. 00 1 * * * bash /root/backup.sh
  2. #!/bin/bash
  3. #你要修改的地方从这里开始
  4. MYSQL_USER=root #mysql用户名
  5. MYSQL_PASS=eqblog.com #mysql密码 #数据库发送到的邮箱
  6. FTP_USER=yan #ftp用户名
  7. FTP_PASS=eqblog.com #ftp密码
  8. FTP_IP=ftp.eqblog.com #ftp地址
  9. FTP_backup=sql #ftp上存放备份文件的目录,这个要自己得ftp上面建的
  10. WEB_DATA=/data/wwwroot #要备份的网站数据
  11. #你要修改的地方从这里结束
  12. #定义数据库的名字和旧数据库的名字
  13. DataBakName=Data_$(date +"%Y%m%d").tar.gz
  14. WebBakName=Web_$(date +%Y%m%d).tar.gz
  15. OldData=Data_$(date --5day +"%Y%m%d").tar.gz
  16. OldWeb=Web_$(date --5day +"%Y%m%d").tar.gz
  17. #删除本地3天前的数据
  18. rm -rf /home/backup/Data_$(date --3day +"%Y%m%d").tar.gz /home/backup/Web_$(date --3day +"%Y%m%d").tar.gz
  19. cd /home/backup
  20. #导出数据库,一个数据库一个压缩文件
  21. for db in `/usr/local/mysql/bin/mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' | xargs`; do
  22. (/usr/local/mysql/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 - > ${db}.sql.gz)
  23. done
  24. #压缩数据库文件为一个文件
  25. tar zcf /home/backup/$DataBakName /home/backup/*.sql.gz
  26. 上一篇:Windows服务器无法远程登录提示“试图登录”
  27. 上一篇:系统提示配额不足的解决方法
联系我们
返回顶部