老谢博客

  • 首页
  • WordPress
  • 网络技术
  • 乱七八糟
  • 运维技术
  • 给我留言
  • 关于老谢

Linux每日自动备份数据到FTP空间

分类:运维技术日期:2012-02-10 - 21:52:33作者:老谢

原脚本地址:http://www.vpsmm.com/blog-32.html
说明:增加了日志的备份,本脚本适合小型站点,数据库较大可以考虑使用更高级的rsync进行增量备份

#!/bin/bash
#你要修改的地方从这里开始
 
MYSQL_USER=root                             #mysql用户名
MYSQL_PASS=123456                      #mysql密码
MAIL_TO=cat@hostloc.com                 #数据库发送到的邮箱
FTP_USER=cat                              #ftp用户名
FTP_PASS=123456                         #ftp密码
FTP_IP=imcat.in                          #ftp地址
FTP_backup=backup                          #ftp上存放备份文件的目录,这个要自己得ftp上面建的
WEB_DATA=/home/www                          #要备份的网站数据
WEB_Log=/var/log/httpd		#要备份的日志数据
 
#你要修改的地方从这里结束
 
#定义数据库的名字和旧数据库的名字
DataBakName=Data_$(date +"%Y%m%d").tar.gz
WebBakName=Web_$(date +%Y%m%d).tar.gz
LogBakName=Log_$(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
OldLog=Log_$(date -d -5day +"%Y%m%d").tar.gz
#删除本地3天前的数据
rm -rf /home/backup/Data_$(date -d -3day +"%Y%m%d").tar.gz /home/backup/Web_$(date -d -3day +"%Y%m%d").tar.gz /home/backup/Los_$(date -d -3day +"%Y%m%d").tar.gz
cd /home/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 ${db} | gzip -9 - > ${db}.sql.gz)
done
#压缩数据库文件为一个文件
tar zcf /home/backup/$DataBakName /home/backup/*.sql.gz
rm -rf /home/backup/*.sql.gz
#发送数据库到Email,如果数据库压缩后太大,请注释这行
echo "主题:数据库备份" | mutt -a /home/backup/$DataBakName -s "内容:数据库备份" $MAIL_TO
#压缩网站数据
tar zcf /home/backup/$WebBakName $WEB_DATA
#压缩日志数据
tar zcf /home/backup/$LogBakName $WEB_Log
#上传到FTP空间,删除FTP空间5天前的数据
ftp -v -n $FTP_IP << END
user $FTP_USER $FTP_PASS
type binary
cd $FTP_backup
delete $OldData
delete $OldWeb
delete $OldLog
put $DataBakName
put $WebBakName
put $LogBakName
bye
END

#!/bin/bash #你要修改的地方从这里开始 MYSQL_USER=root #mysql用户名 MYSQL_PASS=123456 #mysql密码 MAIL_TO=cat@hostloc.com #数据库发送到的邮箱 FTP_USER=cat #ftp用户名 FTP_PASS=123456 #ftp密码 FTP_IP=imcat.in #ftp地址 FTP_backup=backup #ftp上存放备份文件的目录,这个要自己得ftp上面建的 WEB_DATA=/home/www #要备份的网站数据 WEB_Log=/var/log/httpd #要备份的日志数据 #你要修改的地方从这里结束 #定义数据库的名字和旧数据库的名字 DataBakName=Data_$(date +"%Y%m%d").tar.gz WebBakName=Web_$(date +%Y%m%d).tar.gz LogBakName=Log_$(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 OldLog=Log_$(date -d -5day +"%Y%m%d").tar.gz #删除本地3天前的数据 rm -rf /home/backup/Data_$(date -d -3day +"%Y%m%d").tar.gz /home/backup/Web_$(date -d -3day +"%Y%m%d").tar.gz /home/backup/Los_$(date -d -3day +"%Y%m%d").tar.gz cd /home/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 ${db} | gzip -9 - > ${db}.sql.gz) done #压缩数据库文件为一个文件 tar zcf /home/backup/$DataBakName /home/backup/*.sql.gz rm -rf /home/backup/*.sql.gz #发送数据库到Email,如果数据库压缩后太大,请注释这行 echo "主题:数据库备份" | mutt -a /home/backup/$DataBakName -s "内容:数据库备份" $MAIL_TO #压缩网站数据 tar zcf /home/backup/$WebBakName $WEB_DATA #压缩日志数据 tar zcf /home/backup/$LogBakName $WEB_Log #上传到FTP空间,删除FTP空间5天前的数据 ftp -v -n $FTP_IP << END user $FTP_USER $FTP_PASS type binary cd $FTP_backup delete $OldData delete $OldWeb delete $OldLog put $DataBakName put $WebBakName put $LogBakName bye END

原文地址 : https://www.xj123.info/2407.html

本站遵循 : 署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5)

版权声明 : 原创文章转载时,请务必以超链接形式标明文章原始出处

Tags: Linux自动备份脚本 , 备份到ftp脚本
  • 上一篇:thinkpad x220i简单试用
  • 下一篇:CentOS编译安装Nginx(附:管理脚本)
5条评论
  1. DickWu 说:

    我觉得自动同步到dropbox更加靠谱

    POST:2012-02-11 15:05 回复
    • 老谢 说:

      @DickWu 刚刚注册了账户,等下备份试试看

      POST:2012-02-13 17:23 回复
    • 老谢 说:

      @DickWu 已经用上了dropbox,下载速度还不错,你的博客怎么打不开了?

      POST:2012-02-13 18:48 回复
  2. kkStx 说:

    也是用这个..很方便

    POST:2012-02-12 21:26 回复
    • 老谢 说:

      @kkStx 是很方便的说~

      POST:2012-02-13 17:24 回复
发表评论 点击取消评论.

*必填

*必填

  • 文章归档
  • 子网计算
  • 我的共享
  • 锻炼计划
  • 给我留言
  • 关于老谢
2019年二月
一 二 三 四 五 六 日
« 1月    
 123
45678910
11121314151617
18192021222324
25262728  

最新文章

  • Zabbix 数据库备份
  • Radware LinkProof 8016 负载均衡器开机主板E0错误修复
  • 终于买了张满意的桌子
  • Zabbix监控Bind(DNS)解析状态状态
  • Zabbix监控Apache性能
  • Zabbix通过PSK共享密钥实现Server和Agent的通信加密
  • Grafana 5.3 安装及配置
  • Surface Pro 4分辨率过高导致远程桌面过小的问题
  • 修复Surface Pro 4幽灵触摸故障
  • laoxie.me

最新评论

  • 搬瓦工vps:学习了
  • 大D:最近谢总更新很勤快呀
  • huka:我修好了 太感谢博主了,我的是surface...
  • huang:多谢老哥
  • fooleap:看起来厚实,真香。
  • Sam.Z:Zabbix是开源的吧,用起如何,我们公...
  • huang:这是哪个页面的网址 http://www.sqrt...
  • huang:抱歉抱歉忘记了 http://www.sqrt4.cc...
  • huang:我把上传后生成压缩的图片的功能给禁...
  • 两个字:都一样的,你有虚拟lede软路由的话就...

日志存档

  • 2019年一月
  • 2018年十二月
  • 2018年十一月
  • 2018年十月
  • 2018年七月
  • 2018年六月
  • 2018年五月
  • 2018年四月
  • 2018年三月
  • 2018年一月
  • 2017年十月
  • 2017年九月
  • 2017年八月
  • 2017年七月
  • 2017年二月
  • 2017年一月
  • 2016年十二月
  • 2016年十一月
  • 2016年十月
  • 2016年七月
  • 2016年六月
  • 2016年四月
  • 2016年二月
  • 2016年一月
  • 2015年十二月
  • 2015年十月
  • 2015年九月
  • 2015年七月
  • 2015年五月
  • 2015年四月
  • 2015年三月
  • 2015年二月
  • 2015年一月
  • 2014年十二月
  • 2014年十月
  • 2014年九月
  • 2014年八月
  • 2014年七月
  • 2014年六月
  • 2014年五月
  • 2014年四月
  • 2014年三月
  • 2014年二月
  • 2014年一月
  • 2013年十二月
  • 2013年十一月
  • 2013年十月
  • 2013年九月
  • 2013年八月
  • 2013年七月
  • 2013年六月
  • 2013年五月
  • 2013年四月
  • 2013年三月
  • 2013年二月
  • 2013年一月
  • 2012年十二月
  • 2012年十一月
  • 2012年九月
  • 2012年八月
  • 2012年七月
  • 2012年六月
  • 2012年五月
  • 2012年四月
  • 2012年三月
  • 2012年二月
  • 2012年一月
  • 2011年十二月
  • 2011年十一月
  • 2011年十月
  • 2011年九月
  • 2011年八月
  • 2011年七月
  • 2011年六月
  • 2011年五月
  • 2011年四月
  • 2011年三月
  • 2011年二月
  • 2011年一月
  • 2010年十二月
  • 2010年十一月
  • 2010年十月
  • 2010年九月
  • 2010年八月
  • 2010年七月

W3C

  • XHTML 1.0 Transitional
  • CSS level 3
  • Google+
Copyright © 2010-2019 老谢博客 All rights reserved.
Gzipped 74.8% | Optimized loading 8 queries in 0.422 seconds | Memory 44.25 MB | 皖ICP备13010663号-1
Powered by WordPress. | Hosted By 阿里云 | Theme by WordPress主题巴士 | 站点地图 | SiteMap | Uptime |