找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 83|回复: 9

一键备份脚本 网站及数据库 至邮箱和ftp debian6 版本

[复制链接]

48

主题

316

回帖

816

积分

高级会员

积分
816
发表于 2013-2-6 22:00:44 | 显示全部楼层 |阅读模式
本帖最后由 myzim 于 2013-5-6 19:21 编辑
[ol]
  • #你要修改的地方从这里开始
  • MYSQL_USER=root                             #mysql用户名
  • MYSQL_PASS=qq123                      #mysql密码
  • MAIL_TO=qq@gmail.com                #数据库发送到的邮箱
  • FTP_USER=qq@gmail.com                             #ftp用户名
  • FTP_PASS=qq123                   #ftp密码
  • FTP_IP=onlinefilefolder.com                        #ftp地址
  • FTP_backup=backup                          #ftp上存放备份文件的目录,这个要自己得ftp上面建的
  • WEB_DATA=/home/wwwroot/qq.com                       #要备份的网站数据
  • #你要修改的地方从这里结束[/ol]复制代码建目录:[ol]
  • mkdir -p /home/backup[/ol]复制代码首先安装Email发送组件[ol]
  • apt-get install sendmail mutt[/ol]复制代码VPS安装好lftp:[ol]
  • apt-get install lftp[/ol]复制代码接着给脚本执行权限[ol]
  • chmod +x AutoBackupToFtp.sh[/ol]复制代码Debian下面安装Crontab命令:
    apt-get install cron             //大部分情况下Debian都已安装。

    /etc/init.d/cron restart    //重启Crontab

    添加crontab定时执行任务
    crontab -e
    输入[ol]
  • 00 00 * * * /root/AutoBackupToFtp.sh[/ol]复制代码(脚本存放路径。这样就实现了每天00:00自动备份网站文件和数据库上传到FTP空间)
    Ctrl+x退出,再输y 回车保存。

    更多的crontab使用方法参考军哥的。 Linux VPS/服务器上用Crontab来实现VPS自动化      http://www.vpser.net/manage/crontab.html

    debian下crontab不执行的解决方案,多数是时区问题。

    解决方案:
    debian中cron会读/etc/timezone来做为时区,我们需要编辑
    /etc/timezone,把里面全部删除,然后添加Asia/Shanghai,这样是设置为上海时区,最后重启一下cron,再运行看看是否生效。
    更多原因请参考主机码的帖子:http://www.hostloc.com/thread-122182-1-1.html

    最后贴一个脚本代码,猫大的原来是ftp,看到很多基友反应debian下ftp不能成功备份。我已经改成lftp的。代码如下:[ol]
  • #!/bin/bash
  • #你要修改的地方从这里开始
  • MYSQL_USER=root                          #mysql用户名
  • MYSQL_PASS=qq123                      #mysql密码
  • MAIL_TO=qq@gmail.com                     #数据库发送到的邮箱
  • FTP_USER=qq@gmail.com                    #ftp用户名
  • FTP_PASS=qq123                           #ftp密码
  • FTP_IP=onlinefilefolder.com              #ftp地址 (ip或者域名)
  • FTP_backup=backup                        #ftp上存放备份文件的目录,这个要自己得ftp上面建的
  • WEB_DATA=/home/wwwroot/qq.com            #要备份的网站数据
  • #你要修改的地方从这里结束
  • #定义数据库的名字和旧数据库的名字
  • DataBakName=Data_$(date +"%Y%m%d").tar.gz
  • WebBakName=Web_$(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
  • #删除本地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
  • 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 mysqldata
  • #发送数据库到Email,如果数据库压缩后太大,请注释这行
  • echo "主题:数据库备份" | mutt -a /home/backup/$DataBakName -s "内容:数据库备份" $MAIL_TO
  • #压缩网站数据
  • tar zcf /home/backup/$WebBakName $WEB_DATA
  • #上传到FTP空间,删除FTP空间5天前的数据
  • lftp $FTP_IP -u $FTP_USER,$FTP_PASS 复制代码





    (1.02 KB, 下载次数: 674)

    2013-5-6 19:21 上传
    点击文件名下载附件







    debian 6 32位运行成功,理论上 debian和Ubuntu 都支持。。。

    新人备份数据必备,老鸟飘过!参考各位前人的经验总结了一下,造福大家哈,



    ftp空间推荐GODADDY ONLINE STORAGE。

    centos 的版本可以去猫大的空间看,不再累赘啦,
    猫大的centos版本链接
    http://imcat.in/auto-backup-site-files-database-upload-ftp/
  • 本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×
    回复

    使用道具 举报

    2

    主题

    145

    回帖

    310

    积分

    中级会员

    积分
    310
    发表于 2013-2-6 22:01:13 | 显示全部楼层
    不错不错。。。。。。。。。
    回复

    使用道具 举报

    23

    主题

    1467

    回帖

    3019

    积分

    论坛元老

    积分
    3019
    发表于 2013-2-6 22:02:15 | 显示全部楼层
    感谢猫大分享!!!!!
    回复

    使用道具 举报

    49

    主题

    716

    回帖

    1583

    积分

    金牌会员

    积分
    1583
    发表于 2013-2-6 22:02:56 | 显示全部楼层
    +100
    回复

    使用道具 举报

    11

    主题

    185

    回帖

    409

    积分

    中级会员

    积分
    409
    发表于 2013-2-6 22:05:19 | 显示全部楼层

    感谢猫大分享!!!!!
    回复

    使用道具 举报

    110

    主题

    1万

    回帖

    2万

    积分

    论坛元老

    积分
    20714
    发表于 2013-2-6 22:05:27 | 显示全部楼层
    谁做个至N个网盘,XAE版本。
    回复

    使用道具 举报

    152

    主题

    481

    回帖

    1440

    积分

    金牌会员

    积分
    1440
    发表于 2013-2-6 22:07:32 | 显示全部楼层
    wput 更稳定
    回复

    使用道具 举报

    216

    主题

    1449

    回帖

    3580

    积分

    论坛元老

    积分
    3580
    发表于 2013-2-6 22:08:47 | 显示全部楼层
    感谢分享
    回复

    使用道具 举报

    125

    主题

    1053

    回帖

    2507

    积分

    金牌会员

    积分
    2507
    发表于 2013-2-6 22:15:32 | 显示全部楼层
    是的 之前都有备份成功的帮顶  
    我用的是备份到dropbox的shell
    回复

    使用道具 举报

    0

    主题

    1

    回帖

    4

    积分

    新手上路

    积分
    4
    发表于 2013-2-6 22:17:57 | 显示全部楼层

    感谢分享
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|Discuz! X

    GMT+8, 2025-1-11 15:53 , Processed in 0.024620 second(s), 5 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表