13397158231   jevian_ma@worldflying.cn

在linux下实现自动备份网站的方法

2017-07-29 10:00:00

上一篇文章种有提到关于linux服务器的一些说明,考虑到linux服务器市场的地位。写一个自动备份网站程序以及数据的工具是非常重要的,要想实现备份网站的功能,所需要使用到的相关工具有zip,crontab,lftp,mysqldump以及shell等。

首先,linux中存在一个比windows的batch功能更加强大的脚本语言,叫做shell。利用shell可以组合式的调用各种不同的linux命令。

好了,下面我介绍一下备份一个网站所需要的步骤。

  1. 导出数据库,这里 我们要用到的命令是mysqldump

    具体命令为mysqldump -u[mysql用户名] -p[mysql密码] [mysql数据库名] > [备份数据的文件名].sql

  2. 打包命令,这里我们使用的打包命令是zip,因为zip格式是兼容windows的压缩格式,而且压缩与解压工具都是开源免费的。

    具体命令为zip -r [备份文件的文件名].zip [网站根目录] [备份数据的文件名].sql

    这样就生成了我们所需要的备份的文件。

  3. 然后就是将上一步生成的文件上传到ftp地址用于备份。

    这里我们使用linux下的一个命令行ftp客户端lftp,直接敲lftp,然后他就会提示输入ftp地址,以及ftp用户名密码。

    lftp的命令中,上传所使用的是put命令。


下面我写一段shell脚本来实现上述功能。

我们假设空间所在文件夹路径为/var/www/html

数据库的用户名为worldflying

密码为123456

数据库名也为worldflying

ftp地址为192.168.56.101

ftp用户名为backup

ftp密码为backup123

#!/bin/bash

cd /var/www/
mysqldump -uworldflying -p123456 worldflying > backupmysql.sql
zip -r backupfile.zip backupmysql.sql html
lftp << EOF
open 192.168.56.101
user backup backup123
put backupfile.zip
bye
EOF

写到这里,大家一定会问,这样是不是要每次都手动执行以下这个脚本。哈哈,答案是否定的,linux下有一个计划任务工具叫做crontab。

使用方式是执行crontab -e,然后将需要执行的命令与执行时间设置在这里,保存,最后重启cron服务即可。

优秀产品推荐:可编程网络IO控制器

上一篇:linux下的ftp服务器软件推荐之pure-ftp

下一篇:连锁店点餐订单系统横向评估

联系我们

  • 地址:武汉市东湖高新开发区光谷总部国际1栋2412室
  • QQ:932773931
  • 电话:027-59761089-806
  • 手机:13397158231
  • 邮箱:jevian_ma@worldflying.cn

关注公众号

扫码添加微信

沃航(武汉)科技有限公司版权所有

备案号:鄂ICP备16014230号-1

本网站由提供CDN加速/云存储服务