lftp和mirror实现增量备份的方法详解

发布时间:2019-11-15编辑:脚本学堂
本文介绍下,在linux下使用lftp与mirror实现网站增量备份的方法,有需要的朋友,参考下吧。

linux系统中,进行增量备份,除了使用rsync外,对于小规模的备份,还可以考虑lftp、mirror结合的方法。
简单好用,值得一试。
 
1,安装lftp:
yum install lftp
这里使用yum安装,更简单。

2,备份网站是数据库(jbxue建议数据库最好每天都全部备份,因为文件不大,速度也很快)
先进入网站目录:(jbxue备份时候每次都被目录搞晕,所以每次都直接进入网站目录)
举例:
cd /home/admin/jb200.com

备份数据库到网站根目录:  
格式:
mysqldump -u数据库用户名 -p密码 --default-character-set=编码 数据库名 > 文件名.sql

举例:
 

复制代码 代码示例:
mysqldump -ujbxue -p123456 --default-character-set=gbk jbxue > jbxue.sql

lftp连接到备份空间:
格式:
lftp ftp账号:密码@服务器
(lftp很多登陆格式,这种方法适合jbxue我这种懒人,存在文档里,每次复制进去不用每次都输入用户名和密码)

例如:lftp jbxue:123456@ftp.jb200.com
把刚才备份的数据库传送到备份空间根目录:

格式:
put /全目录/文件名.sql

例如:
 

复制代码 代码示例:
put /home/admin/jb200.com/jbxue.sql

3,开始备份增量文件,一天或者一段时间的更新的文件。  

格式:
mirror -R 本地文件夹全目录 远程目录

jbxue有个discuz论坛,是一天备份一次的,由于每天附件更新很大,我们只增量备份附件目录即可。
格式:
 

复制代码 代码示例:
mirror -R /home/admin/jb200.com/attachments/day_100721/ attachments/day_100721/
 

把本地7月21号的附件目录上传到备份服务器attachments/day_100721的目录里,如果没有此文件夹,创建此文件夹。
如果不知道哪个文件夹更新了,可以用
“--only-newer 和 --only-missing”这两个参数,他会自动检测哪个文件或者文件夹有更新,自动上传到备份空间。

格式:
mirror -R --only-newer --only-missing 网站目录 备份空间目录

比如jbxue的很多目录都有更新了就不适合用刚才那个命令了,适合用“--only-newer 和 --only-missing”了。
要把jb200.com的全部网站的最近更新(在上次更新的基础上)上传到备份空间目录backupfile里,则使用命令:
mirror -R --only-newer --only-missing /home/admin/jb200.com/ backupfile
这样他就会自动对比变动的文件或者文件夹,把变动的全部传到备份空间。  

4,备份完毕,退出
exit

有关rsync的用法,请参考文章:
有关rsync安装与配置的实例教程
inotify+rsync配置实例详解
rsync+inotify 文件同步配置实例
Rsync配置与升级相关内容介绍
有关rsync服务器端配置及客户端的使用
学习rsync服务端与客户端的配置
rsync文件同步配置一例
文件同步工具rsync配置
linux rsync同步设置指南

有关lftp命令的用法,请参考文章:
lftp自动备份文件和数据库上传FTP服务器的shell脚本
linux下lftp命令使用小结
lftp命令增量备份网站的方法分享
linux下lftp命令行上传或下载整个文件夹的方法
linux下lftp命令中mirror的用法详解
linux下lftp连接ftp服务器进行上传与下载的方法详解