备份网站,一般全部压缩打包,然后下载或传送到其他空间;lftp,Linux下FTP客户端,可以上传、下载FTP上的文件;在这篇文章中,主要介绍如何使用lftp给网站文件增量备份,介绍几个备份的lftp实例。
增量备份的优点:更多的节约空间、网络和服务器(VPS)资源,以更小的占用来备份站点或文件。
lftp使用环境:服务器,或VPS,或开通SSH权限的虚拟主机(众多)。
【Linux 安装lftp】
- CentOS之类:yum install -y lftp
- Debian, Ubuntu之类:apt-get install -y lftp
有SSH权限的虚拟主机,一般默认都有lftp,直接使用就可以了。
【lftp命令】
一个登录ftp的命令:
- lftp -u username,password ftpsite
同步本地文件至远程文件:
- mirror -R 本地目录 远程目录
去掉-R,则下载远程目录文件至本地目录。
【lftp增量备份】
lftp增量备份即用到上面写到的mirror命令,在写lftp增量备份实例前,先来了解一下几个实用的选项。
- -delete # 删除远程目录中,本地目录中不存在的文件;
- -only-newer # 只上传新的文件,额,增量备份必须添加上该选项;
- -exclude # 指定不需要同步的文件夹;
- -verbose # 监视同步的进程。
按照上面几个常用的选项,同步本地文件至远程目录,你可以这样写:
- mirror -R --delete --only-newer --verbose 本地目录 远程目录
唔,上面命令需要用lftp登录到FTP服务器之后再输入;一条语句解决:
- lftp -u username,password -e "mirror -R --delete --only-newer --verbose 本地目录 远程目录" ftpsite
也可以把上面脚本添加至文件,用 -f 选项调用,示例:
- lftp -f /home/dir/ftpscript.txt
lftp恢复远程目录文件至本地文件,唔,去掉 -R 就可以了。
【lftp定时增量备份】
一、at选项。
可以用来指定时间来运行程序,下面的命令,即表示在凌晨时候运行,最后的 &,表示在后台运行:
- lftp at 00:00 -u username,password -e "mirror -R --delete --only-newer --verbose 本地目录 远程目录" ftpsite &
二、crontab命令,Debian之类的用其他。
创建一个sh脚本文件,添加命令。然后:
- crontab -e
- 00 00 * * * /bin/sh /home/scripts/lftp.sh
【结语】
适用用VPS或服务器,和FTP服务器之间的文件传送;如果2台都是服务器或VPS,唔,scp貌似是更好的选择。
额外的赠品,lftp多线程下载:
- lftp -c "pget -n 10 http://speedtest.london.linode.com/100MB-london.bin"
转载请注明:大地博客 » lftp实例 网站文件增量备份