lftp个人总结

2024-06-13 22:32
文章标签 总结 个人 lftp

本文主要是介绍lftp个人总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、登陆:
lftp ftp://yourname@site    lftp ftp://admin@192.168.1.111:21
pwd:*****


open ftp://yourname@site
2、基本操作(转)
lftp 是一个功能强大的下载工具,它支持访问文件的协议: ftp, ftps, http, https, hftp, fish.(其中ftps和https需要在编译的时候包含openssl库)。llftp的界面非常想一个shell: 有命令补全,历史记录,允许多个后台任务执行等功能,使用起来非常方便。它还有书签、排队、镜像、断点续传、多进程下载等功能。
命令行语法
要看lftp的命令行语法,只要在shell中输入lftp --help
lftp [OPTS]
'lftp'是在 rc 文件执行后 lftp 执行的第一个命令
-f 执行文件中的命令后退出
-c 执行命令后退出
--help 显示帮助信息后退出
--version 显示 lftp 版本后退出
其他的选项同 'open' 命令
-e 在选择后执行命令
-u [,] 使用指定的用户名/口令进行验证
-p 连接指定的端口
主机名, URL 或书签的名字
如果在命令行中输入的站点名称,lftp将直接登录站点,比如
$lftp ftp://.............
如果在命令行不输入站点名称,则必须在进入到lftp界面后用open命令打开
[yhj@ccse-yhj yhj]$ lftp
lftp :~> open ftp://...................
常用命令
* 下载单个文件和一组文件,断点续传用-c参数
lftp ................:/> get -c ls-lR.txt
lftp ...............:/> mget *.txt
* 镜像(反镜像即上传)一个目录,可以用多个线程并行镜像一个目录(--parallel=N)
lftp ................:/> mirror incoming local_name
lftp ................:/> mirror -R local_name
lftp ................:/> mirror --parallel=3 incoming local_name
* 多线程下载,类似网络蚂蚁的功能;缺省是5个线程
lftp ................:/> pget -n 4 ls-lR.txt
* 后台任务管理
缺省情况下,按 Ctrl+z,正在执行的任务将转为后台执行,也可以在命令行末尾加&符号使任务在后台执行。用jobs命令可以查看所有的后台进程。用queue命令可以排队新的任务。如果退出lftp是还有任务在后台执行,lftp将转为后台执行。
* 其它用法
lftp支持类似bash的管道操作,例如用下面的命令可以将ftp服务器上的特定目录下(也可以是整个站点)所有文件的大小存到本地的文件ls.txt中
lftp ................:/> du incoming > ls.txt
相关文件
/etc/lftp.conf
全局配置文件,实际位置依赖系统配置文件目录,可能在/etc,也可能在/usr/local/etc
~/.lftp/rc, ~/.lftprc
用户配置文件,将在/etc/lftp.conf之后执行,所以这里面的设置会覆盖/etc/lftp.conf中的设置。
lftp 缺省不会显示 ftp 服务器的欢迎信息和错误信息,这在很多时候不方便,因为你有可能想知道这个服务器到底是因为没开机连不上,还是连接数已满。如果是这样,你可以在 ~/.lftprc 里写入一行
debug 3
就可以看到出错信息了。
更多的配置选项请查man手册或在lftp界面内用命令 set -a 获得。
~/.lftp/log
当lftp转为后台非挂起模式执行时,输出将重定向到这里
~/.lftp/bookmarks
这是lftp存储书签的地方,可以lftp查看bookmark命令
~/.lftp/cwd_history
这个文件用来存储访问过的站点的工作目录
~/.lftprc
在用lftp访问国内一些ftp服务器时,往往看到的中文是乱码
^_^不用慌,这是由于服务器和本地编码不一致造成的。我们只要在主目录下新建一个文件~/.lftprc或者~/.lftp/rc
并在其中加入以下内容:
debug 3set ftp:charset GBKset file:charset UTF-8#set ftp:passtive-mode no#alias utf8 " set ftp:charset UTF-8"#alias gbk " set ftp:charset GBK"
登录ftp服务器
言归正传,我们先来看看怎么登录ftp服务器
lftp ftp://user:password@site:port
lftp user:password@site:port
lftp site -p port -u user,password
lftp site:port -u user,password
上面的几种方式都能正常工作,不过密码都是明文,这样好像不太安全哦。没关系
lftp user@site:port
系统会提示输入password,密码就回显为******了
不过每次都输入这么多,好麻烦哦。 如果有类似leapftp的站点管理器就好了,其实lftp早就给我们想好了: 这就是bookmark。后面我们将会看到。
常用命令
在终端运行
man lftp
或登录ftp后输入
help
就可以看到命令列表
下面我们看一下lftp常用的命令:
ls
显示远端文件列表(!ls 显示本地文件列表)。
cd
切换远端目录(lcd 切换本地目录)。
get
下载远端文件。
mget
下载远端文件(可以用通配符也就是 *)。
pget
使用多个线程来下载远端文件, 预设为五个。
mirror
下载/上传(mirror -R)/同步 整个目录。
put
上传文件。
mput
上传多个文件(支持通配符)。
mv
移动远端文件(远端文件改名)。
rm
删除远端文件。
mrm
删除多个远端文件(支持通配符)。
mkdir
建立远端目录。
rmdir
删除远端目录。
pwd
显示目前远端所在目录(lpwd 显示本地目录)。
du
计算远端目录的大小
!
执行本地 shell的命令(由于lftp 没有 lls, 故可用 !ls 来替代)
lcd
切换本地目录
lpwd
显示本地目录
alias
定义别名
bookmark
设定书签。
exit
退出ftp
快捷书签
补充作者:aBiNg
ftp中的bookmark命令,是将配置写到~/.lftp/bookmarks文件中;我们可以直接修改此文件,快速登陆ftp服务器。
3、mirror 同步镜像,备份服务器文件
今天主要的问题是解决如何备份服务器端文件的问题。了解了mirror指令的用法后,发现比较适合而且好用。
基本使用方法:
1)、下载服务器端文件:
# mirror –vn RCD LCD //RCD为远程路径,LCD为本地路径
2)、上传文件:
# mirror –R LCD RCD
下附一个自动同步的脚本:
#!bin/bash
echo Script start at: `date +%Y-%m-%d %H:%M:%S`
HOST="8.8.8.8"
USER="USERS"
PASS="PASSWORD"
LCD="/www/web"
RCD="/www/web"
/usr/sbin/lftp << EOF
open ftp://$USER:$PASS@$HOST
mirror -R --delete --only-newer --verbose $LCD $RCD
EOF
echo Script end at: `date +%Y-%m-%d %H:%M:%S`
这篇文章讲的是利用lftp命令行ftp工具进行网站数据的增量备份。上次我们讲到如何架设rsync服务器进行数据同步,当然,如何你是把数据备份到另一台vps或是服务器的话,还是推荐用rsync备份,但是如果你是把数据备份到只有FTP服务器的虚拟主机,比如免费的GD空间,那lftp备份是不二的选择了。
如果没有安装lftp,CentOS系统可以使用yum install lftp来安装。
为了介绍这一种备份方法,我们将会循序渐进地介绍lftp的使用。如果ftp服务器支持匿名连接,你可以简单的使用以下命令连接。
lftp ftpsite
如果是需要密码的话,可以使用以下命令连接。
lftp -u username,password ftpsite
为了同步本地的一个文件夹到远程文件夹,lftp增加了mirror命令。不用设置其它的选项,你只需要指定本地目录和远程目录即可。
mirror -R 本地目录 远程目录
mirror命令提供了几个实用的选项来控制同步进程。例如使用–delete选项,mirror命令会删除远程备份服务器中存在的文件而本地服务器不存在的文件,当使用–only-newer选项时lftp只上传新的文件。另一个选项是–exclude,它允许你指定不需要同步的文件夹。如果你想监视同步的进程,可以使用–verbose选项。
每次同步时都要先执行lftp,再执行mirror命令是一件很烦人的事,幸运的事,lftp软件支持把两条命令合成一条,你只需要添加-e选项就可以告诉lftp执行连接服务器后接着运行指定命令。
lftp -u username,password -e "mirror -R --delete --only-newer --verbose 本地目录 远程目录" ftpsite
你也可以把命令存在一个文件里面,只需要添加-f选项。
lftp -f /home/user/ftpscript.txt
lftp提供了一些智能的功能,at选项可以很方便地指定在什么时候运行程序。下面的命令表示是零晨运行:
lftp at 00:00 -u username,password -e "mirror -R --delete --only-newer --verbose 本地目录 远程目录" ftpsite &
注意&符号,它表示让命令在后台运行而不需要一直开着终端。
现在你已经知道如何使用lftp进行本地目录和远程目录之间的同步了,但是当本地服务器数据丢失的时候如何恢复呢?很简单,你只需要删除-R选项,lftp就会下载远程的文件到本地。如:
lftp -u username,password -e "mirror --delete --only-newer --verbose 本地目录 远程目录" ftpsite
上面只介绍几个常用的lftp命令,如何你需要了解更多的lftp命令使用方法,可以使用man lftp命令查看所有的lftp命令。

这篇关于lftp个人总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1058609

相关文章

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

Java反转字符串的五种方法总结

《Java反转字符串的五种方法总结》:本文主要介绍五种在Java中反转字符串的方法,包括使用StringBuilder的reverse()方法、字符数组、自定义StringBuilder方法、直接... 目录前言方法一:使用StringBuilder的reverse()方法方法二:使用字符数组方法三:使用自

使用DeepSeek搭建个人知识库(在笔记本电脑上)

《使用DeepSeek搭建个人知识库(在笔记本电脑上)》本文介绍了如何在笔记本电脑上使用DeepSeek和开源工具搭建个人知识库,通过安装DeepSeek和RAGFlow,并使用CherryStudi... 目录部署环境软件清单安装DeepSeek安装Cherry Studio安装RAGFlow设置知识库总

Python依赖库的几种离线安装方法总结

《Python依赖库的几种离线安装方法总结》:本文主要介绍如何在Python中使用pip工具进行依赖库的安装和管理,包括如何导出和导入依赖包列表、如何下载和安装单个或多个库包及其依赖,以及如何指定... 目录前言一、如何copy一个python环境二、如何下载一个包及其依赖并安装三、如何导出requirem

Rust格式化输出方式总结

《Rust格式化输出方式总结》Rust提供了强大的格式化输出功能,通过std::fmt模块和相关的宏来实现,主要的输出宏包括println!和format!,它们支持多种格式化占位符,如{}、{:?}... 目录Rust格式化输出方式基本的格式化输出格式化占位符Format 特性总结Rust格式化输出方式

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo

Git提交代码详细流程及问题总结

《Git提交代码详细流程及问题总结》:本文主要介绍Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下... 目录1.git 三大分区2.Git提交、推送、拉取代码、合并分支详细流程3.问题总结4.git push

Kubernetes常用命令大全近期总结

《Kubernetes常用命令大全近期总结》Kubernetes是用于大规模部署和管理这些容器的开源软件-在希腊语中,这个词还有“舵手”或“飞行员”的意思,使用Kubernetes(有时被称为“... 目录前言Kubernetes 的工作原理为什么要使用 Kubernetes?Kubernetes常用命令总

Python中实现进度条的多种方法总结

《Python中实现进度条的多种方法总结》在Python编程中,进度条是一个非常有用的功能,它能让用户直观地了解任务的进度,提升用户体验,本文将介绍几种在Python中实现进度条的常用方法,并通过代码... 目录一、简单的打印方式二、使用tqdm库三、使用alive-progress库四、使用progres

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO