6

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

 3 years ago
source link: https://zhang.ge/4212.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
Jager · 7月31日 · 2014年七牛云存储 · 网站备份 3457次已读

一直想写一篇关于网站本地备份和远程备份的文章,相关草稿其实在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!

下面贴上测试截图:

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

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

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

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

三、后期维护

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

#执行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用户,请留言即可!张戈可提供无偿服务!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK