网站首页 > 开源技术 正文
一、为什么使用lftp?
为什么不使用ftp命令?
答:ftp命令不支持递归上传目录;
为什么不使用inotify+rsync实时同步?
答:首先,备份服务器使用FTP服务端,此乃其一;其次,备份目的不同,网站较多为防止某些网站被入侵篡改时需要从备份恢复,因此不适宜用【实时备份】。
综合以上选择使用lftp解决ftp命令的问题,因此用其替换ftp命令。
二、如何使用?
lftp很强大功能很多,支持断点续传、多线程下载以及镜像功能等。此例场景如下:
web服务器A:
服务器IP:192.168.10.5
需要备份网站目录/data/www,该目录下有多个站点;
备份服务器B:
备份目录/Web_Bak;
IP:192.168.10.253
FTP登录信息:bakuser、bakpassword
这里选择镜像功能,具体命令如下:
lftp -u bakuser,bakpassword -e "mirror -c -R --parallel=2 --exclude='bak' /data/www /Web_Bak/2016/20161026/192.168.10.5/ --verbose" 192.168.10.253
【命令及参数说明】
【-u】参数:指定FTP登录账号和密码;
【-e】参数:指定登录后执行的命令,双引号之间;命令执行完后不退出lftp;
【mirror】命令的参数说明:
【-c】参数:续传
【-R】参数:反向镜像,即将本地目录镜像到FTP服务器目录;
【--parallel】参数:并行即同时下载N个文件;
【--exclude】参数:忽略的文件名,使用正则表达式,例如这里【--exclude='bak'】就会忽略掉所有包含【bak】3个字符的目录、文件名。【文件:log.bak、yumbak123.php、index.php.bak;目录:bak、testbak】;这里容易造成误解,觉得是用来忽略掉目录的,这样就会误将文件名中包含bak的文件也忽略掉;
目录树如下图:
3个文件夹、4个文件,则只会上传【wwwroot目录和index.php文件,其他会忽略掉】;
【--verbose】参数:显示详细操作信息,可以使用--verbose = level选项或多个-v选项来选择详细程度级别,例如:
--verbose =3或者-vvv:一共4个级别:0、1、2、3 默认为0级别;
【最后总结】这里大概介绍了一下,看似很简单的一个东西,但是真正使用起来会遇到一个接一个的问题,只有遇到问题了才能总结到一些经验,下边说几点:
需要注意的:远程目录/Web_Bak/2016/20161026/192.168.10.5/,使用此命令的时候后边加【/】和不加【/】也是有区别的,使用表格说明如下:
【/Web_Bak/2016/20161026/192.168.10.5/】如果有多台服务器备份,使用此方式命名文件夹方便备份服务器端清理数据;
如果要执行上传命令后退出lftp可使用【-c】参数,命令如下:
lftp -c "mirror -c -R /data/www/ ftp://bakuser:bakpassword@192.168.20.253/2016/ --verbose=3"
【注意】使用【-c】参数如果要上传到FTP根目录IP后边的【/】不能省略,省略后会提示:
mirror: Not connected
使用lftp备份粒度会较粗,如果要求较高还是建议做实时备份,关于备份其实要注意的问题也很多。
猜你喜欢
- 2024-10-17 DockerFile文件详解(dockerfile sh)
- 2024-10-17 复制!粘贴!搞定!Lierda Theland OS来了!
- 2024-10-17 Linux学习日志20090310(linux learn)
- 2024-10-17 RedHat Linux 7安装CentOS 7 yum源的安装步骤
- 2024-10-17 成为合格的Linux运维工程师必备技能:
- 2024-10-17 一套五星级酒店智能化系统设计说明书
- 2024-10-17 ftp终端中下载orerilly子目录下所有到本地目录中
- 2024-10-17 安服仔偷懒必备技能之自动化主机检查脚本
- 2024-10-17 Linux之RedHat7如何更换yum源(redhat更换centos yum源)
- 2024-10-17 Windows下使用GIT管理推送FTP代码
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)