closed
logo logo
关于我们

技术分享

技术分享 Linux lftp命令备份文件

Linux lftp命令备份文件

2020-08-14

       

CentOS                Linux lftp命令备份文件

lftp是Linux下的一个ftp客户端,用于登陆远程的FTP服务器。使用它的mirror命令可以把本地的文件通过lftp备份到远程FTP服务器上。

如果没有lftp命令,需要先安装:

yum install lftp

1、lftp登陆
           lftp登陆常用格式:
           lftp [-d] [-e cmd] [-p port] [-u user[,pass]] [site]

[-d]
           在debug mode运行。

[-e cmd]
           执行指定的命令。

[-p port]
           指定连接端口。

[-u user[,pass]]
           登陆的用户名和密码。

[site]
           FTP服务器地址。

           例如:
           lftp -p 21 -u admin,123456 ftp.aaa.com
           表示使用用户名admin、密码123456登陆ftp.aaa.com这个站点,端口为21。

简便格式:
           lftp user:password@site:port

例如:
           lftp admin:123456@ftp.aaa.com:21
           同样可以登陆。

随后就和其它命令行的ftp工具一样使用ftp内部命令进行控制。登陆后输入help可以查看支持的命令。

Linux lftp命令备份文件

2、lftp的mirror命令
           lftp登陆成功后,使用mirror命令用来备份文件。

将远程服务器上的文件备份到本地:
           mirror [选项] [远程目录] [本地目录]

将本地文件备份到远程服务器上:
           mirror -R [其它选项] [本地目录] [远程目录]

常用选项:
           -c, --continue :如果镜像过程中连接中断,重新开始。
           -e, --delete :删除不在远程服务器上的本地文件。
           -n, --only-newer :下载远程服务器上的新文件,不能和-c一起用。
           -R, --reverse :将本地文件镜像传输到远程服务器上。
           -v, --verbose[=level] :设置监视级别,范围0-3,0表示不输出,3表示输出全部。

举例:
           mirror -R --delete --only-newer --verbose /home/aaa.com /public_html/web/aaa.com
           将本地/home/aaa.com目录下的文件备份到远程服务器/public_html/web/aaa.com目录。

mirror --delete --only-newer --verbose /public_html/web /tmp
           将远程服务器上/public_html/web目录下的文件备份到本地/tmp目录下。

3、一条命令实现lftp登陆和mirror
           使用lftp的-e选项,例如:
           lftp -e "mirror -R --delete --only-newer --verbose /home/aaa.com /public_html/web/aaa.com" -p 21 -u            admin,123456 ftp.aaa.com
           登陆后自动执行-e选项中的命令。

注意:如果远程FTP服务器是Pure-FTPd [privsep] [TLS],执行命令会报错
           WARNING: Certificate verification: Not trusted
           WARNING: Certificate verification: The certificate's owner does not match hostname 'www.xxx.com'
           并且停留在[Making data connection...],连接不上。

需要编辑lftp的/etc/lftp.conf:

vim /etc/lftp.conf

在最后加入:

debug 3
               set ftp:ssl-auth TLS-P
               set ftp:use-feat no

再次尝试查看详情是否有报错。

PS:lftp默认使用PASV模式,如要使用PORT模式,登陆后执行set ftp:passive off,或者直接将其加入到/etc/lftp.conf中。

4、lftp多线程下载
           lftp还可以做为一个多线程下载工具。

常用选项:
           pget -n :设置使用线程数。
           -c :断点续传。

举例:
           lftp -c "pget -n 10 http://sourceforge.net/projects/kvm/files/qemu-kvm/1.2.0/qemu-kvm-1.2.0.tar.gz"

5、lftp使用问题
           1)使用lftp的mirror命令备份时报550错
           rm: Access failed: 550 dirname: Directory not empty

在lftp命令开头添加:
           set ftp:list-options -a
           是因为该文件夹下有隐藏文件,服务器默认不显示,所以删不掉。

2)设置lftp超时时间和重试次数
           在lftp命令开头添加:
           set net:timeout 10;set net:max-retries 2;set net:reconnect-interval-base 5;set            net:reconnect-interval-multiplier 1;

综合这两点最终的命令为:
           lftp -e "set net:timeout 10;set net:max-retries 2;set net:reconnect-interval-base 5;set            net:reconnect-interval-multiplier 1;set ftp:list-options -a;mirror -R --delete --only-newer --verbose            /home/aaa.com /public_html/web/aaa.com" -p 21 -u admin,123456 ftp.aaa.com

参考资料:
http://blog.chinaunix.net/space.php?uid=253473&do=blog&cuid=154733
http://heavenhades.blog.163.com/blog/static/1583886920075289154509/
http://www.cnblogs.com/LJ-fish/archive/2010/03/15/1686607.html        




#!/bin/bash
           source ~/.bash_profile


           lftp jollychic:e8gFVc0Iq4TTPBPz@ftp.spl4cn.com:21  <<EOF


           set ftp:use-feat true
           mirror --delete --only-newer --verbose 


           /data /data/edmdata 


           EOF

       

CentOS                Linux lftp命令备份文件

lftp是Linux下的一个ftp客户端,用于登陆远程的FTP服务器。使用它的mirror命令可以把本地的文件通过lftp备份到远程FTP服务器上。

如果没有lftp命令,需要先安装:

yum install lftp

1、lftp登陆
           lftp登陆常用格式:
           lftp [-d] [-e cmd] [-p port] [-u user[,pass]] [site]

[-d]
           在debug mode运行。

[-e cmd]
           执行指定的命令。

[-p port]
           指定连接端口。

[-u user[,pass]]
           登陆的用户名和密码。

[site]
           FTP服务器地址。

           例如:
           lftp -p 21 -u admin,123456 ftp.aaa.com
           表示使用用户名admin、密码123456登陆ftp.aaa.com这个站点,端口为21。

简便格式:
           lftp user:password@site:port

例如:
           lftp admin:123456@ftp.aaa.com:21
           同样可以登陆。

随后就和其它命令行的ftp工具一样使用ftp内部命令进行控制。登陆后输入help可以查看支持的命令。

Linux lftp命令备份文件

2、lftp的mirror命令
           lftp登陆成功后,使用mirror命令用来备份文件。

将远程服务器上的文件备份到本地:
           mirror [选项] [远程目录] [本地目录]

将本地文件备份到远程服务器上:
           mirror -R [其它选项] [本地目录] [远程目录]

常用选项:
           -c, --continue :如果镜像过程中连接中断,重新开始。
           -e, --delete :删除不在远程服务器上的本地文件。
           -n, --only-newer :下载远程服务器上的新文件,不能和-c一起用。
           -R, --reverse :将本地文件镜像传输到远程服务器上。
           -v, --verbose[=level] :设置监视级别,范围0-3,0表示不输出,3表示输出全部。

举例:
           mirror -R --delete --only-newer --verbose /home/aaa.com /public_html/web/aaa.com
           将本地/home/aaa.com目录下的文件备份到远程服务器/public_html/web/aaa.com目录。

mirror --delete --only-newer --verbose /public_html/web /tmp
           将远程服务器上/public_html/web目录下的文件备份到本地/tmp目录下。

3、一条命令实现lftp登陆和mirror
           使用lftp的-e选项,例如:
           lftp -e "mirror -R --delete --only-newer --verbose /home/aaa.com /public_html/web/aaa.com" -p 21 -u            admin,123456 ftp.aaa.com
           登陆后自动执行-e选项中的命令。

注意:如果远程FTP服务器是Pure-FTPd [privsep] [TLS],执行命令会报错
           WARNING: Certificate verification: Not trusted
           WARNING: Certificate verification: The certificate's owner does not match hostname 'www.xxx.com'
           并且停留在[Making data connection...],连接不上。

需要编辑lftp的/etc/lftp.conf:

vim /etc/lftp.conf

在最后加入:

debug 3
               set ftp:ssl-auth TLS-P
               set ftp:use-feat no

再次尝试查看详情是否有报错。

PS:lftp默认使用PASV模式,如要使用PORT模式,登陆后执行set ftp:passive off,或者直接将其加入到/etc/lftp.conf中。

4、lftp多线程下载
           lftp还可以做为一个多线程下载工具。

常用选项:
           pget -n :设置使用线程数。
           -c :断点续传。

举例:
           lftp -c "pget -n 10

5、lftp使用问题
           1)使用lftp的mirror命令备份时报550错
           rm: Access failed: 550 dirname: Directory not empty

在lftp命令开头添加:
           set ftp:list-options -a
           是因为该文件夹下有隐藏文件,服务器默认不显示,所以删不掉。

2)设置lftp超时时间和重试次数
           在lftp命令开头添加:
           set net:timeout 10;set net:max-retries 2;set net:reconnect-interval-base 5;set            net:reconnect-interval-multiplier 1;

综合这两点最终的命令为:
           lftp -e "set net:timeout 10;set net:max-retries 2;set net:reconnect-interval-base 5;set            net:reconnect-interval-multiplier 1;set ftp:list-options -a;mirror -R --delete --only-newer --verbose            /home/aaa.com /public_html/web/aaa.com" -p 21 -u admin,123456 ftp.aaa.com




#!/bin/bash
           source ~/.bash_profile


           lftp jollychic:e8gFVc0Iq4TTPBPz@ftp.spl4cn.com:21  <<EOF


           set ftp:use-feat true
           mirror --delete --only-newer --verbose 


           /data /data/edmdata 


           EOF

云祺备份软件,云祺容灾备份系统,虚拟机备份,数据库备份,文件备份,实时备份,勒索软件,美国,图书馆
  • 标签:
  • 容灾备份

您可能感兴趣的新闻 换一批

现在下载,可享30天免费试用

立即下载

请添加好友为您提供支持
jia7jia_7

请拨打电话
为您提供支持

400-9955-698