lftp命令

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:
lftp常用命令 
ls    查看目录内容 
cd    切换远端目录 
lcd   切换本地目录 
put   上传 
mput  批量上传 
get   下载 
get -c   断点续传下载 
mget -c *.txt   批量断点下载 
open site:port  登录ftp 

1、登录ftp 
lftp (ftp://)username:password@site:port 
lftp (ftp://)username@site:port     ---然后系统会提示输入password 
lftp site -p port -u username,password    ---默认端口21 
lftp site:port -u username,password 

也可分步进行 
lftp 
open site:port 
user username:password 

举例: 
[root@mysqltest ~]# lftp bkdata:tinapwd@backup.work 
lftp bkdata@backup.work:~> 

[root@mysqltest ~]# lftp ftp://bkdata:tinapwd@backup.work 
lftp bkdata@backup.work:~> 

[root@mysqltest ~]#lftp backup.work -u bkdata,tinapwd 
lftp bkdata@backup.work:~> 

[root@mysqltest ~]#lftp backup.work -p 21 -u bkdata,tinapwd 
lftp bkdata@backup.work:~> 

[root@mysqltest ~]# lftp 
lftp :~> open backup.work 
lftp backup.work:~> user bkdata tinapwd  


2、查看内容(ls) 
lftp bkdata@backup.work:~> !ls -l /home/bk_pg    ---查看本地目录内容 
total 1524 
-rw-r--r--. 1 root root    4744 Dec 24 11:19 bk.log 
-rw-r--r--. 1 root root      75 Dec 24 11:19 pg.md5 
-rw-r--r--. 1 root root 1546722 Dec 24 11:19 rename_check.20151224.backup 

lftp bkdata@backup.work:~> cd 12.108_pg      ---进入远端目录 
cd ok, cwd=/12.108_pg                 
lftp bkdata@backup.work:/12.108_pg> ls       ---查看远端目录内容 
-rw-r--r--    1 500      500       1546722 Dec 24 03:18 bk.log 

lftp bkdata@backup.work:/12.108_pg> recls -l    ---也可以用这个命令recls有许多参数可用 
-rw-r--r--     1 500      500            75 Dec 24 11:18 pg.md5 
-rw-r--r--     1 500      500       1546722 Dec 24 11:18 rename_check.20151224.backup 

3、上传下载 
[root@mysqltest ~]# cd /home/bk_pg/   --本地目录 
[root@mysqltest bk_pg]# ll 
total 1524 
-rw-r--r--. 1 root root    4744 Dec 24 11:19 bk.log 
-rw-r--r--. 1 root root      75 Dec 24 11:19 pg.md5 
-rw-r--r--. 1 root root 1546722 Dec 24 11:19 rename_check.20151224.backup 

1)将本地文件上传到远端目录 
lftp bkdata@backup.work:~> lcd /home/bk_pg   ---切换本地目录(存放了备份文件) 
lcd ok, local cwd=/home/bk_pg 
lftp bkdata@backup.work:/> cd 12.108_pg      ---切换远端目录(我将要存放上传到的位置) 
cd ok, cwd=/12.108_pg 
lftp bkdata@backup.work:/12.108_pg> put pg.md5    ---上传 
lftp bkdata@backup.work:/12.108_pg> put rename_check.20151224.backup 
lftp bkdata@backup.work:/12.108_pg> ls 
-rw-r--r--    1 500      500            75 Dec 24 03:18 pg.md5   
-rw-r--r--    1 500      500       1546722 Dec 24 03:18 rename_check.20151224.backup  ---成功上传 

2)将远端目录文件下载到本地 
get rfile -o lfile 
抓 rfile 到本地改名为 lfile 
-c 为续传 
-E 抓档完成后, 将远端的档案砍了 
-a 为 ascii mode, 预设为 binary mode 
-O 设定 base directory 为本地端放档案的目录 

lftp bkdata@backup.work:/12.108_pg> lcd /tmp 
lcd ok, local cwd=/tmp 
lftp bkdata@backup.work:/12.108_pg> get pg.md5 
75 bytes transferred    

查看: 
[root@mysqltest tmp]# ll 
-rw-r--r--. 1 root root       75 Dec 24 11:18 pg.md5 

lftp bkdata@backup.work:/12.108_pg> get pg.md5 -o pos.md5  --改名了 
75 bytes transferred  


3)批量上传 
lftp bkdata@backup.work:/12.108_pg> mput * 


4)批量下载 
lftp bkdata@backup.work:/12.108_pg> mget * 
1546797 bytes transferred                                        
Total 2 files transferred 

5)下载整个目录 
mirror OPTS remote [local] 
下载整个目录(楼上的 get 只能用来抓档案) 
-c 续传 
-e 这个要小心一些, 比较远端和本地端的档案, 假如远端没有的, 就将本地端的档案删除, 也就是将本地端和远端资料同步。
-R 上传整个目录 
-n 只下载较新的档案 
-r 不用递回到目录中 
--parallel=n 同时下载 n 个档案(预设一次只下载一个) 


4、多任务处理 
ctrl+z   将当前进行的任务移交后台处理 
wait     将后台处理任务调至前台查看 
jobs     查看后台进行的任务列表 
kill all 或者 job_no   删除所有任务 或 指定的任务 

将任务加入任务列表 
queue get 123.txt 
queue put 234.txt 
queue mirror aaa/ 

queue   查看任务列表 
jobs    查看后台任务列表  -v 显示详细信息 
queue start   开始任务列表 
queue stop    停止任务列表 

lftp bkdata@backup.work:/12.108_pg> queue get pg.md5   --加入任务 
lftp bkdata@backup.work:/12.108_pg> queue start        --启动任务 
[0] Done (queue (ftp://bkdata:tinapwd@backup.work:21)) 
[1] Done (queue (ftp://bkdata:tinapwd@backup.work:21)) 

5、计算大小 
lftp bkdata@backup.work:/12.108_pg> du -sh 
1.5M . 
lftp bkdata@backup.work:/12.108_pg> 

6、其他相关 
find ./bk  "*.txt"  查看bk目录下所有txt文件 
mv  将远端的文件改名 
rm  删除远端文件 
mkdir -p 建立远端目录 
rmdir -f 删除远端目录 
source   读取文件,并执行文件内的命令 
debug -o file   将输出导向到file 
exit     退出 
history 
pwd   显示远端所在目录 
set      设置变量  
如: 
set ftp:charset utf8    --远端 
set file:charset utf8   --本地 

7、设置被动/非被动模式 
set ftp:passive-mode 1 ## 1 被动 0非主动 

8、上传脚本举例 
[root@mysqltest tina_shell]# cat sc.sh 
#!/bin/sh 
bkdir=/home/bk_pg 
day=`date +"%Y%m%d"` 
lftp backup.work <<END 
user bkdata tinapwd 
lcd $bkdir 
cd 12.108_pg 
mput *.$day.backup 
put pg.md5 
exit 
END
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
Linux
【Linux】【CentOS】【FTP】FTP服务器安装与配置1(vsftpd、lftp)
【Linux】【CentOS】【FTP】FTP服务器安装与配置(vsftpd、lftp)
294 1
【Linux】【CentOS】【FTP】FTP服务器安装与配置1(vsftpd、lftp)
|
Linux 网络安全 开发工具
【Linux】【CentOS】【FTP】FTP服务器安装与配置2(vsftpd、lftp)
【Linux】【CentOS】【FTP】FTP服务器安装与配置(vsftpd、lftp)
395 1
【Linux】【CentOS】【FTP】FTP服务器安装与配置2(vsftpd、lftp)
|
数据安全/隐私保护 Linux 网络安全
lftp 快速使用
登录 lftp username:password@ip:port 设置字符集 set ftp:charset 'gbk' set ftp:charset 'utf-8' 下载文件 mget *.
879 0
|
Shell 数据安全/隐私保护
3.7 su命令 3.8 sudo命令 3.9 限制root远程登录
3.7 su命令 3.8 sudo命令 3.9 限制root远程登录   su命令 切换用户 [root@centos_1 ~]# su - xiaobo   [root@centos_1 ~]# su - xiaobo 最后一次失败的登录:二 11月 21 01:43:41 CST 2017pts/0 上 最有一次成功登录后有 1 次失败的登录尝试。
1630 0
|
Linux 数据安全/隐私保护
|
数据安全/隐私保护 网络安全 Shell
|
数据安全/隐私保护 Shell Linux
|
Shell 数据安全/隐私保护 网络安全