ECS服务器实现本地七天循环备份数据库和网站文件

投稿  懿古今 2016-10-28 阅读 66 次 评论 26 条

以前懿古今备份网站数据库和文件都是通过安装BackUpWordpress插件来实现,刚开始还很好用,备份文件小的时候还能自动发送到指定邮箱中。不过秉承着能不用插件就不用插件的原则,终于根据张戈博主分享的《Linux/vps本地七天循环备份和七牛远程备份脚本》成功实现本地七天循环备份数据库和网站文件,从而可以停用卸载BackUpWordpress插件了。

ECS服务器实现本地七天循环备份数据库和网站文件

七天循环备份说明:

七天循环备份的意思就是总共保留七份备份文件,到第8天的时候就会覆盖第一天的备份文件,比如星期一到星期天总共七份备份文件,每次备份都将覆盖上星期同一天的文件,从而只备份7份数据,不至于占用特别大的空间。

准备工作

  • 整理ECS服务器已有网站的数据库用户名和密码;
  • 已有网站的根目录所在路径,如/home/wwwroot/yigujin.cn;
  • 本地存放备份文件的路径,如/home/wwwroot/wwwbackup。

本地七天循环备份具体步骤:

1、下载张戈博主分享的VPS备份脚本backup.sh,并上传backup.sh到ECS服务器指定路径(如/home/wwwroot/wwwbackup),然后执行以下命令赋予其执行权限:

  1. chmod +x /home/wwwroot/wwwbackup/backup.sh

2、编写备份数据库文件和网站文件命令

①备份数据库文件命令:

  1. /home/wwwroot/wwwbackup/backup.sh db 网站域名(用于备份文件命名) 数据库名称 数据库用户名 数据库密码 备份文件存放路径

完整的命令如下:

  1. /home/wwwroot/wwwbackup/backup.sh db yigujin.cn yigujin_db root rootpasswd /home/wwwroot/wwwbackup/yigujin.cn

②备份网站文件命令:

  1. /home/wwwroot/wwwbackup/backup.sh file 网站域名(用于备份文件命名) 网站文件路径 备份文件存放路径

完整的命令如下:

  1. /home/wwwroot/wwwbackup/backup.sh file yigujin.cn /home/wwwroot/yigujin.cn  /home/wwwroot/wwwbackup/yigujin.cn

3、建立七天循环备份任务计划

①先执行crontab -l 看看命令是否存在,若不存在,请使用yum -y install vixie-cron crontabs 安装crond

②确认crond已存在后,请执行/etc/init.d/crond start 确保启动了crond服务,并执行chkconfig crond on设置为开机启动。

③执行crontab -e 建立任务计划,如下是我ECS服务器的任务计划(只备份数据库文件,如还需备份网站文件,只需要按备份网站文件命令继续添加到任务计划即可),请参考添加:

  1. #backup boke112.com:
  2. 0 4 * * * /home/wwwroot/wwwbackup/backup.sh db boke112.com boke112com_db root 123456 /home/wwwroot/wwwbackup/boke112.com >/dev/null 2>&1
  3. #backup yigujin.cn:
  4. 30 3 * * * /home/wwwroot/wwwbackup/backup.sh db yigujin.cn yigujinwang_db root 123456 /home/wwwroot/wwwbackup/yigujin.cn >/dev/null 2>&1

其中,0 4 * * *为分 时 日 月 周,意思就是每天凌晨4点开始执行后面的命令行计划;>/dev/null 2>&1,表示屏蔽任何日志信息。

4、平滑重启nginx

  1. /usr/local/nginx/sbin/nginx -s reload

至此,我的ECS服务器上两个站点的数据库文件都已经成功实现了本地七天循环备份机制,终于可以放心停用并卸载BackUpWordpress插件了。

特别说明:

1、本文的技术及代码均来自张戈博主分享的《Linux/vps本地七天循环备份和七牛远程备份脚本》。

2、本想同时实现本地七天循环备份和七牛远程备份的,可惜七牛远程备份功能死活折腾都不成功,最后只能放弃。

3、由于我的主题文件和插件文件都很少改动,个人觉得完全没必要备份网站文件,所以我的七天备份任务计划中就没有添加网站备份的命令行,想要备份网站文件的可以参照步骤2中的备份网站文件命令添加。

4、如果手头相对宽裕的,不妨购买一个阿里云OSS对象存储来实现定时远程备份网站,具体效果更佳,具体可前往张戈博主分享的《Python&Shell脚本结合阿里云OSS对象存储定时远程备份网站》学习。

本文地址:http://boke112.com/3598.html
关注我们:请关注一下我们的微信公众号:扫描二维码,公众号:aiboke112
温馨提示:文章内容仅代表作者个人观点,不代表boke112导航赞同其观点和对其真实性负责!
版权声明:本文为投稿文章,感谢 懿古今 的投稿,版权归原作者所有,欢迎分享本文,转载请保留出处!
WordPress免费响应式主题:Nana
CPA教学与引流技巧

发表评论

呲牙憨笑坏笑偷笑色微笑抓狂睡觉酷流汗鼓掌大哭可怜疑问晕惊讶得意尴尬发怒奋斗衰骷髅啤酒吃饭礼物强弱握手OKNO勾引拳头差劲爱你

表情

  1. 南通大熊
    南通大熊 【队长】 @回复

    自动备份的确省去了很多麻烦,另外针对一些突发事件有机会挽救!

  2. 憧憬Licoy
    憧憬Licoy 【农民】 @回复

    自动备份,我也要去折腾一下了

  3. 雅兮网
    雅兮网 【省长】 @回复

    厉害了我的哥,对linux系统表示一窍不通,简单的执行命令还玩不转,这个先mark吧

    • boke112导航
      boke112导航【站长】 @回复

      @雅兮网 [呲牙] 我也是根据张戈博主的文章一步步折腾的,幸好一次性就通过了

  4. 闲鱼
    闲鱼 【村长】 @回复

    蛮好的,自动化 [偷笑]

  5. 马超金博客
    马超金博客 【队长】 @回复

    还是不太懂,努力学习中

  6. 网际电脑
    网际电脑 【县长】 @回复

    本地七天循环备份可以用?

  7. 老叶养生博客
    老叶养生博客 【镇长】 @回复

    貌似有点复杂!

  8. 明月登楼
    明月登楼 【总理】 @回复

    不错,学习了!

  9. 管家婆
    管家婆 【镇长】 @回复

    现在的数据备份是越来越方便了

    • boke112导航
      boke112导航【站长】 @回复

      @管家婆 是的,最起码这样折腾之后又可以卸载一个插件了,挺好的

  10. 韩娱部落
    韩娱部落 【队长】 @回复

    感谢分享,以后定会用得着

  11. SEO自学网
    SEO自学网 【村长】 @回复

    这样太复杂了,ECS服务器可以直接设置自动快照策略,趁现在快照还是免费的

    • boke112导航
      boke112导航【站长】 @回复

      @SEO自学网 快照策略目前是免费,如果以后收费的话还不一定会用它,个人认为还是这个比较好,指定备份数据库或文件,每天深夜进行,挺好的

  12. benen005
    benen005 【镇长】 @回复

    确实不错

  13. 28兼职网
    28兼职网 【农民】 @回复

    分享的很不错。

  14. 苍蓝公爵
    苍蓝公爵 【镇长】 @回复

    方法不错耶!我用是阿里云的弹性托管,省事儿!

  15. 刘传鹏博客
    刘传鹏博客 【镇长】 @回复

    方法很不错

  16. 小萝博客
    小萝博客 【市长】 @回复

    oss价格还是可以的,不过买了没用就是

  17. 爱时尚
    爱时尚 【市长】 @回复

    收藏了

  18. 增达任务网
    增达任务网 【农民】 @回复

    相当不错,自愧不如!

  19. 捌零男人
    捌零男人 【镇长】 @回复

    学习了,这个说实在的感觉有点难

    • boke112导航
      boke112导航【站长】 @回复

      @捌零男人 我刚开始看着张戈博主分享的文章也觉得好难,后来硬着头皮一步步折腾下去,没想到竟然成功了 [呲牙]