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


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

一、工具档案

工具名称:Backup_to_qiniu_by_zhangge-Ver1.0.sh

工具语言:Shell,json

工作环境:Linux

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

额外说明:

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

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

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

二、使用说明

①、下载工具:

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

  1. cd && wget http://mymsdn.qiniudn.com/backup/Backup_to_qiniu_by_zhangge-Ver1.0.sh

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

  1. cd && ./Backup_to_qiniu_by_zhangge-Ver1.0.sh

过程如下:

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

下面贴上测试截图:

文章《VPS服务器备份网站文件和数据库到七牛云存储的shell脚本工具》中的图片-来自张戈博客的Shell分类 第1张执行完成后,可以复制crontab的命令行,手动执行试试效果:

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

文章《VPS服务器备份网站文件和数据库到七牛云存储的shell脚本工具》中的图片-来自张戈博客的Shell分类 第2张

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

文章《VPS服务器备份网站文件和数据库到七牛云存储的shell脚本工具》中的图片-来自张戈博客的Shell分类 第3张

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

三、后期维护

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

  1. #执行crontab -e,打开计划任务编辑界面
  2. [root@jiukeyi ~]# crontab -e
  3. #Add by QN_Backup Scripts
  4. 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用户实在不多,而且都有自己的一套备份系统。发这个工具的目的也只是为了给备份网站多一条出路。

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

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

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

来源: 张戈博客   作者: 张戈 原文链接: http://zhangge.net/4212.html

相关内容