LinuxGem
此处为老的 LinuxGem,新版 LinuxGem 请移步 www.linuxgem.org

用 lftp 备份你的文件

galeki posted @ 2007年12月06日 20:56 in Bash 和它的朋友们 with tags 备份 lftp , 2812 阅读

翻译 & 修改自: http://www.linux.com/feature/122169

每天都在折腾电脑,重要的数据不能不备份。备份到自己的机器上,万一整个硬盘坏掉,数据还是玩完……最好能备份到另外的主机上,再保险可以在不同的机子上备份多个拷贝,如果你可以在自己的电脑上打开 ftp 服务,可以让 lftp 帮你,在另一台电脑上备份你现有电脑文件~

先来熟悉下 了lftp 的基本用法,如果 ftp 服务器是匿名,只要:

lftp ftpsite

就可以登录进服务器,如果需要用户名和密码,就要像下面的样子:

lftp -u username,password ftpsite

在其他的计算机上登录进如 ftp 服务器后,只需要用 lftp 的 mirror 命令就可以方便的进行下载备份了:

mirror  需要备份的目录  保存备份计算机的本地目录

例如 mirror  /work  save/backup,这样 lftp 就会帮你自动同步目录下的所有文件。你也可以给 mirror 命令传入参数,控制同步的行为:

--delete:  如果远程目录下已经没有某个文件,而本地有,则删除这个文件。

--only-newer:  只下载新的文件。

--exculde:  不包含某个目录。

--verbose:  详细输出。

举例:

mirror --delete --only-newer --verbose  /work backup/

自动备份远处电脑的 work文件夹,到本地当前目录的 backup文件夹下,并且删除已经不存在的文件,并且只下载最新的文件,再给出详细的输出。

你也可以用 lftp 的 -e 选项,把命令直接接在 lftp 之后:

lftp -u username,password -e"mirror --delete --only-newer --verbose  /work backup/" ftpsite

也可以用 at 选项指定备份的时间:

lftp at 00:00 -u username,password -e"mirror --delete --only-newer --verbose  /work backup/" ftpsite

这样每天夜里 12 点就会执行备份任务。

那么,如何恢复备份呢,很简单,只需要在 mirror 命令中加入 --reverse 选项:

mirror --reverse --delete --only-newer --verbose  /work backup/

这样 lftp 就会将备份上传到 ftp 服务器上了~ 

max 说:
2007年12月07日 00:23 有个问题请教下:对于--exculde选项 如果目录里有个abc的文件夹,而在同级目录123/abc同样有个名为abc的文件夹,那么怎样才能不传一级目录的abc而能把下级目录的abc备份呢?
gmj 说:
2007年12月07日 12:10 --exculde=./abc ?

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter