lftp镜像命令排除匹配文件[Regex]

时间:2020-01-09 10:41:11  来源:igfitidea点击:

如何使用ftp镜像目录,并要排除某些子目录(例如日志)和以* .cvs结尾的文件。
在Linux或Unix等操作系统上使用lftp命令进行镜像时,如何排除文件?

lftp ftp客户端具有许多功能,使其成为此类工作的更好选择。可以使用mirror命令并将指定的源目录指定为本地目标目录。如果目标目录以斜杠结尾,则源基本名称将追加到目标目录名称之后。您可以排除文件和子目录。您还可以使用glob字符,例如*。

lftp命令排除语法

语法如下:

mirror --exclude RX 
mirror --exclude-glob GP

在此示例中,排除日志目录,执行:

mirror --exclude logs/ --exclude

您可以多次使用--exclude:

mirror --exclude logs/ --exclude reports/ --exclude-glob *.bak --exclude-glob *~$

以下内容将排除所有* .cvs文件:

mirror --exclude-glob *.cvs

全部放在一起

创建一个名为mirror.http.lftp的文件,如下所示:

set ftp:list-options -a
set cmd:fail-exit true
open ftp.theitroad.local.com:/var/www/
lcd /nas06/backup/theitroad.local/
mirror --delete --exclude logs/ --exclude tmp/ --exclude-glob *~$
quit

创建或编辑一个名为~/.netrc的身份验证文件,该文件包含文件传输协议客户端ftp和lftp的配置和自动登录信息:

machine ftp.theitroad.local
login MyUserNameHer
password myPassWordHere

保存并关闭文件。
运行作业,如下所示:

lftp -f mirror.http.lftp

或者

lftp -f mirror.http.lftp > ~/mirror.http.lftp.log