lftp的 mirror功能 详细介绍
- 语法和常用参数
lftp(选项)(参数)
参数为要访问的站点的ip地址或者域名。
-f:指定lftp指令要执行的脚本文件;
-c:执行指定的命令后退出;
--help:显示帮助信息;
--version:显示命令的版本号。
lftp登录
lftp 用户名:密码@ftp地址:传送端口(默认21)
#在服务端未进行一些限制设置的时候可以直接通过ip进行登录访问
mget -c *.pdf
#把所有的pdf文件以允许断点续传的方式下载。
mirror aaa/
#将aaa目录整个的下载下来,子目录也会自动复制。
pget -c -n 10 file.dat
#以最多10个线程以允许断点续传的方式下载file.dat,可以通过设置pget:default-n的值而使用默认值
文件上传
同样的put、mput都是对文件的操作,和下载类似;也可以使用mirror
mirror -R 本地目录名
#将本地目录以迭代(包括子目录)的方式反向上传到ftp site。
配置文件
vim /etc/lftp.conf
一般,添加以下几行:
set ftp:charset gbk
set file:charset utf8
set pget:default-n 5
mirror参数:
mirror [OPTS] [remote [local]]
把指定的远程目录镜像到本地
-c, --continue 如果可能, 继续一个镜像任务。
-e, --delete 如果远程目录下已经没有某个文件,而本地有,则删除这个文件。
--delete-first 在传输新文件之前先删除旧的文件
-s, --allow-suid 根据远程站点设置相应的 suid/sgid 位
--allow-chown 改变文件的属主和属组
--ignore-time 通过实践判断是否下载该文件
-n, --only-newer 只下载新的文件 (-c 没有作用)
-r, --no-recursion 不下载子目录
-p, --no-perms 不设置文件权限
--no-umask 不在文件上使用umask
-R, --reverse 反向镜像 (上传文件),作用类似:mirror [OPTS] [local [remote]]
-L, --dereference 下载符号链接指向的文件
-N, --newer-than FILE 只下载比文件 FILE 更新的文件
-i RX, --include RX 包括匹配的文件 (只能使用一次) RX是括展的正则表达式
-x RX, --exclude RX 不包括匹配的文件 (只能使用一次)
--exculde: 不包含某个目录。
--parallel=3 设置多线程传输
-t Nx, --time-prec Nx 设置时间精度为 N 秒 (x=s) 分钟 (x=m)
小时 (x=h) 或者天 (x=d)
默认值 - 12 小时
-v, --verbose 显示详细的信息
--log=FILE 将执行过的命令写入日志文件<FILE>
--script=FILE 把命令写入脚本文件但不执行
--just-print, --dry-run 同 --script=<>FILE
排除 参数说明:
-x RX, --exclude=RX exclude matching files
-X GP, --exclude-glob=GP exclude matching files
-n, --only-newer Only new matching files略过指定目录:
mirror --exclude logs/ --exclude reports/略过符合模式的档案:
mirror --exclude-glob *.cvs
注意:
当使用 -R 参数时,第一个目录为本地目录,第二个为远程目录
如果第二项没有填写,则采用第一个个目录的名称
如果两项都没填写,则采用当前的本地和远程目录
lftp的-e选项,把命令直接接在lftp之后:
lftp -u username,password -e "mirror -e -n -v remote local" ftpIP
也可以用at选项指定备份的时间:这样每天1点就会执行备份任务。
lftp at 01:00 -u username,password -e "mirror -e -n remote local" ftpIP
评论已关闭