脚本编程

VPS服务器备份网站文件和数据库到七牛云存储的shell脚本工具

Jager · 7月31日 · 2014年 · 4440次已读

一直想写一篇关于网站本地备份和远程备份的文章,相关草稿其实在 6.12 号就写好了,一直因为没有测试环境,没发布出来。时间久了,也就忘了,回头找个时间测试下再发布好了。

今天分享的工具也和备份有关,而且是远程备份,这个工具算是我的无聊之作吧,虽说 WordPress 已经有 wp2pcs 这类备份插件了。相信折腾 VPS 的站长会喜欢我这个工具的,因为它不会常驻占用资源。

一、工具档案

工具名称:Backup_to_QiNiu_By_ZhangGe_Ver1.0.sh

工具语言:Shell,json

工作环境:Linux

功能描述:通过 Linux 系统计划任务,将网站文件及数据库备份到七牛的免费云存储空间

额外说明:

①、工具默认使用 zip 打包,如果系统未安装 zip,将使用 tar 打包成 tar.gz 格式;

②、为了避免中文乱码,工具中全部采用洋文,张戈水平有限,可能存在蹩脚语法(下文有中文对照);

③、使用原生交互风格,未做界面菜单式优化,反正初始化也就用一次。

二、使用说明

①、下载工具:

进入 VPS 系统,执行以下命令下载工具:

cd  && wget http://static.zhang.ge/diy_tools/Backup_to_QiNiu_By_ZhangGe_Ver1.0.sh

 

 

②、运行工具,并根据工具提示输入信息:

chmod +x ./Backup_to_QiNiu_By_ZhangGe_Ver1.0.sh && ./Backup_to_QiNiu_By_ZhangGe_Ver1.0.sh

 

过程如下:

[root@jiukeyi ~]# ./Backup_to_QiNiu_By_ZhangGe_Ver1.0.sh
Please input the webroot like /domain/zhang.ge/public_html:输入你网站文件存放路径
Please input the access_key:输入七牛的 access_key
Please input the secret_key:输入七牛的 secret_key
Please input the bucket name:输入七牛的空间名
Please input the mysql username:输入数据库账号
Please input the mysql password:输入数据库密码
Please input the database name:输入数据库名称
Please input the backup path:输入备份文件的临时存放路径,直接回车将存放在/usr/local/qiniu/backup
Please input the backup rate time(like 1/2/3..30):输入备份间隔,比如输入 7 表示每七天备份一次
#回车后,出现下图信息则为成功:
=========================The crontab list=================================
#Add by QN_Backup Scripts
0 0 */7 * * sh /usr/local/qiniu/QN_backup.sh /www/web/default test2 123456 /www/backup_temp mytest
=========================The crontab list=================================
compelet!

下面贴上测试截图:

VPS服务器备份网站文件和数据库到七牛云存储的shell脚本工具

执行完成后,可以复制 crontab 的命令行,手动执行试试效果:

sh /usr/local/qiniu/QN_backup.sh /www/web/default test2 123456 /www/backup_temp mytest

VPS服务器备份网站文件和数据库到七牛云存储的shell脚本工具

备份成功后,七牛对应的空间将可以看到刚刚备份的文件:

VPS服务器备份网站文件和数据库到七牛云存储的shell脚本工具

以上过程为初始化,只需执行一次即可,当然重复执行也没关系哈,只是覆盖了设置而已。

三、后期维护

做完初始化设置之后,如果想改变备份间隔或者备份目标之类的,你可以编辑系统计划任务,来重新定义:

#执行 crontab -e,打开计划任务编辑界面
[root@jiukeyi ~]# crontab -e
#Add by QN_Backup Scripts  
0 0 */7 * * sh /usr/local/qiniu/QN_backup.sh /www/web/default test2 123456 /www/backup_temp mytest

以上第 4 行则为备份的命令行,以下为后期修改说明:

前 5 列表示执行频率,具体为 分  时 日 月 周,工具默认是定义在【日】这一列,代码中的 */7 表示每 7 天备份一次;

/www/web/default:需要备份的网站文件路径

test2、123456:数据库用户名和密码

/www/backup_temp:备份文件存放地址,每次备份的文件将保留至下一次备份才会被删除,差不多算本地备份了。

mytest :数据库名称

Ps:当然你也可以仿照第 4 行,根据实际需要插入多条任务计划。

四、工具展望

此工具也只是张戈的无聊蛋疼作品,VPS 用户实在不多,而且都有自己的一套备份系统。发这个工具的目的也只是为了给备份网站多一条出路。

视受欢迎程度,下一版工具将加入

①、网站文件/数据库分开备份的自定义机制;

②、做成菜单式,将项目分开设置,包括后期维护的交互式菜单,提高易用性

五、附录:七牛云存储

七牛云存储的介绍:https://zhang.ge/1126.html

七牛云存储推广注册链接:https://portal.qiniu.com/signup?code=3lgiiufrno1ua

就说这么多,需要张戈帮忙部署备份的 VPS 用户,请留言即可!张戈可提供无偿服务!

33 条回应
  1. MOREOPEN 2014-7-31 · 20:19

    这方法挺好的,就是操作要在liunx中进行,要么搞个虚拟机操作了,或者搞双系统了,百度的那个备份我最近也忘了看了,不知道备份有没有问题

  2. PHP二次开发 2014-7-31 · 21:06

    博主挺能折腾,时间哪来的?》

    • avatar
      Jager 2014-7-31 · 21:58

      运维本来就是闲置,没需求的时候都是自学累经验。

  3. 香港虚拟主机 2014-8-1 · 9:26

    平时可以自己多学点东西

  4. 网商联盟 2014-8-1 · 15:14

    学习中~!!!

  5. musk 2014-8-1 · 18:53

    这个好

  6. 58说(blog.58shuo.cn) 2014-8-1 · 20:00

    好棒

  7. 免费部落 2014-8-2 · 16:58

    申请换个首页链接,不知可否?

    • avatar
      Jager 2014-8-2 · 17:44

      已加上,首页缓存过后将会出现。

    • avatar
      Jager 2014-8-3 · 15:39

      没诚意,我加上一天多了,你那边还没动静,算了,不换了。

    • Applehater果黑 2014-8-3 · 16:01

      为什么你这个网站是和free123同名的,他也是叫免费部落

  8. Phnomi 2014-8-2 · 23:58

    内页链接换吗?

  9. 大师兄 2014-8-3 · 13:59

    很专业!

  10. 萌妹 2014-8-3 · 19:51

    原来还能这么省事啊 。谢啦

  11. tennfy 2014-8-4 · 10:19

    多个数据库呢

    • avatar
      Jager 2014-8-4 · 11:24

      因为是针对一个网站做的备份,所以也是配套的一个数据库,如果是多个网站和多个数据库,可以按照文章第三步,插入多条计划任务即可。

      • tennfy 2014-8-4 · 15:08

        以前搞过备份到邮箱的,这个也不错,这样上传不算流量吧

        • avatar
          Jager 2014-8-4 · 15:33

          应该是要算流量的,回头完善下,让数据库和网站文件可以分开设置时间间隔,数据库很小可以天天备份,网站可以半个月备份下,节省流量。

  12. 大城小我 2014-8-4 · 11:06

    这个工具实用,标记下

  13. 乐心湖 2014-8-4 · 12:31

    好专业的样子!

  14. Phnomi 2014-8-4 · 15:09

    七牛到底影不影响seo和收录啊?

    • avatar
      Jager 2014-8-4 · 15:34

      你说的是用七牛做静态CDN存储吧?上传一个robots.txt禁用蜘蛛就行了。

      • Phnomi 2014-8-4 · 15:41

        哦哦!感谢~

  15. 脱毛吧 2014-8-4 · 20:30

    我用的万网空间,才150M 好小啊 看来以后要用到这个

  16. 文字头像吧 2014-8-8 · 12:32

    有点专业。

  17. 我只是个百合控 2014-8-26 · 14:17

    无法下载。

    • avatar
      Jager 2014-8-26 · 16:43

      抱歉,搬服务器的时候,把statice解析忘记了,已经修复。

  18. 少妇图片网 2015-3-28 · 20:27

    前段时间想使用阿里云的oss最终没用上,太难搞了对于小白来说,好像七牛多一些插件教程,好弄

  19. luke 2017-1-22 · 10:45

    大神!为什么这个不能下载了 !你能补一下连接吗