linux下使用lftp的小結(jié)(遠(yuǎn)程服務(wù)器備份)

今天在解決一個(gè)遠(yuǎn)程服務(wù)器備份的問題時(shí),用到了lftp的相關(guān)知識(shí)。整理如下:
lftp的功能比較強(qiáng)大,相比原來用ftp,方便了很多。
1、登陸:
lftp ftp://yourname@site
pwd:*****
或 open ftp://yourname@site
2、基本操作(轉(zhuǎn))
lftp使用介紹
lftp 是一個(gè)功能強(qiáng)大的下載工具,它支持訪問文件的協(xié)議: ftp, ftps, http, https, hftp, fish.(其中ftps和https需要在編譯的時(shí)候包含openssl庫(kù))。llftp的界面非常想一個(gè)shell: 有命令補(bǔ)全,歷史記錄,允許多個(gè)后臺(tái)任務(wù)執(zhí)行等功能,使用起來非常方便。它還有書簽、排隊(duì)、鏡像、斷點(diǎn)續(xù)傳、多進(jìn)程下載等功能。
命令行語(yǔ)法
要看lftp的命令行語(yǔ)法,只要在shell中輸入lftp --help
lftp [OPTS]
'lftp'是在 rc 文件執(zhí)行后 lftp 執(zhí)行的第一個(gè)命令
-f 執(zhí)行文件中的命令后退出
-c 執(zhí)行命令后退出
--help 顯示幫助信息后退出
--version 顯示 lftp 版本后退出
其他的選項(xiàng)同 'open' 命令
-e 在選擇后執(zhí)行命令
-u [,] 使用指定的用戶名/口令進(jìn)行驗(yàn)證
-p 連接指定的端口
主機(jī)名, URL 或書簽的名字
如果在命令行中輸入的站點(diǎn)名稱,lftp將直接登錄站點(diǎn),比如
$lftp ftp://.............
如果在命令行不輸入站點(diǎn)名稱,則必須在進(jìn)入到lftp界面后用open命令打開
[yhj@ccse-yhj yhj]$ lftp
lftp :~> open ftp://...................
常用命令
* 下載單個(gè)文件和一組文件,斷點(diǎn)續(xù)傳用-c參數(shù)
lftp ................:/> get -c ls-lR.txt
lftp ...............:/> mget *.txt
* 鏡像(反鏡像即上傳)一個(gè)目錄,可以用多個(gè)線程并行鏡像一個(gè)目錄(--parallel=N)
lftp ................:/> mirror incoming local_name
lftp ................:/> mirror -R local_name
lftp ................:/> mirror --parallel=3 incoming local_name
* 多線程下載,類似網(wǎng)絡(luò)螞蟻的功能;缺省是5個(gè)線程
lftp ................:/> pget -n 4 ls-lR.txt
* 后臺(tái)任務(wù)管理
缺省情況下,按 Ctrl+z,正在執(zhí)行的任務(wù)將轉(zhuǎn)為后臺(tái)執(zhí)行,也可以在命令行末尾加&符號(hào)使任務(wù)在后臺(tái)執(zhí)行。用jobs命令可以查看所有的后臺(tái)進(jìn)程。用queue命令可以排隊(duì)新的任務(wù)。如果退出lftp是還有任務(wù)在后臺(tái)執(zhí)行,lftp將轉(zhuǎn)為后臺(tái)執(zhí)行。
* 其它用法
lftp支持類似bash的管道操作,例如用下面的命令可以將ftp服務(wù)器上的特定目錄下(也可以是整個(gè)站點(diǎn))所有文件的大小存到本地的文件ls.txt中
lftp ................:/> du incoming > ls.txt
相關(guān)文件
/etc/lftp.conf
全局配置文件,實(shí)際位置依賴系統(tǒng)配置文件目錄,可能在/etc,也可能在/usr/local/etc
~/.lftp/rc, ~/.lftprc
用戶配置文件,將在/etc/lftp.conf之后執(zhí)行,所以這里面的設(shè)置會(huì)覆蓋/etc/lftp.conf中的設(shè)置。
lftp 缺省不會(huì)顯示 ftp 服務(wù)器的歡迎信息和錯(cuò)誤信息,這在很多時(shí)候不方便,因?yàn)槟阌锌赡芟胫肋@個(gè)服務(wù)器到底是因?yàn)闆]開機(jī)連不上,還是連接數(shù)已滿。如果是這樣,你可以在 ~/.lftprc 里寫入一行
debug 3
就可以看到出錯(cuò)信息了。
更多的配置選項(xiàng)請(qǐng)查man手冊(cè)或在lftp界面內(nèi)用命令 set -a 獲得。
~/.lftp/log
當(dāng)lftp轉(zhuǎn)為后臺(tái)非掛起模式執(zhí)行時(shí),輸出將重定向到這里
~/.lftp/bookmarks
這是lftp存儲(chǔ)書簽的地方,可以lftp查看bookmark命令
~/.lftp/cwd_history
這個(gè)文件用來存儲(chǔ)訪問過的站點(diǎn)的工作目錄
~/.lftprc
在用lftp訪問國(guó)內(nèi)一些ftp服務(wù)器時(shí),往往看到的中文是亂碼
^_^不用慌,這是由于服務(wù)器和本地編碼不一致造成的。我們只要在主目錄下新建一個(gè)文件~/.lftprc或者~/.lftp/rc
并在其中加入以下內(nèi)容:
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服務(wù)器
言歸正傳,我們先來看看怎么登錄ftp服務(wù)器
lftp ftp://user:password@site:port
lftp user:password@site:port
lftp site -p port -u user,password
lftp site:port -u user,password
上面的幾種方式都能正常工作,不過密碼都是明文,這樣好像不太安全哦。沒關(guān)系
lftp user@site:port
系統(tǒng)會(huì)提示輸入password,密碼就回顯為******了
不過每次都輸入這么多,好麻煩哦。 如果有類似leapftp的站點(diǎn)管理器就好了,其實(shí)lftp早就給我們想好了: 這就是bookmark。后面我們將會(huì)看到。
常用命令
在終端運(yùn)行
man lftp
或登錄ftp后輸入
help
就可以看到命令列表
下面我們看一下lftp常用的命令:
ls
顯示遠(yuǎn)端文件列表(!ls 顯示本地文件列表)。
cd
切換遠(yuǎn)端目錄(lcd 切換本地目錄)。
get
下載遠(yuǎn)端文件。
mget
下載遠(yuǎn)端文件(可以用通配符也就是 *)。
pget
使用多個(gè)線程來下載遠(yuǎn)端文件, 預(yù)設(shè)為五個(gè)。
mirror
下載/上傳(mirror -R)/同步 整個(gè)目錄。
put
上傳文件。
mput
上傳多個(gè)文件(支持通配符)。
mv
移動(dòng)遠(yuǎn)端文件(遠(yuǎn)端文件改名)。
rm
刪除遠(yuǎn)端文件。
mrm
刪除多個(gè)遠(yuǎn)端文件(支持通配符)。
mkdir
建立遠(yuǎn)端目錄。
rmdir
刪除遠(yuǎn)端目錄。
pwd
顯示目前遠(yuǎn)端所在目錄(lpwd 顯示本地目錄)。
du
計(jì)算遠(yuǎn)端目錄的大小
!
執(zhí)行本地 shell的命令(由于lftp 沒有 lls, 故可用 !ls 來替代)
lcd
切換本地目錄
lpwd
顯示本地目錄
alias
定義別名
bookmark
設(shè)定書簽。
exit
退出ftp
快捷書簽
補(bǔ)充作者:aBiNg
ftp中的bookmark命令,是將配置寫到~/.lftp/bookmarks文件中;我們可以直接修改此文件,快速登陸ftp服務(wù)器。
3、mirror 同步鏡像,備份服務(wù)器文件
今天主要的問題是解決如何備份服務(wù)器端文件的問題。了解了mirror指令的用法后,發(fā)現(xiàn)比較適合而且好用。
基本使用方法:
1)、下載服務(wù)器端文件:
# mirror –vn RCD LCD //RCD為遠(yuǎn)程路徑,LCD為本地路徑
2)、上傳文件:
# mirror –R LCD RCD
下附一個(gè)自動(dòng)同步的腳本:
#!bin/bash
echo “script start at `date ”+%Y-%m-%d %H:%M:%S”
HOST=”hostname”
USER=”yourname”
PASS=”password”
LCD=”LocalePath”
RCD=”RemotePath”
/usr/sbin/lftp << EOF
open ftp://$USER:$PASS@$HOST
mirror $RCD $LCD
EOF
echo “script end at “ `date ”+%Y-%m-%d %H:%M:%S”
P.S:
昨天剛到,今天立馬開工干活,還是有點(diǎn)壓力的,但有壓力是好事,督促自己努力加油!
認(rèn)真思考總結(jié),才能更好更快的成長(zhǎng)!
多思考,多總結(jié),快樂成長(zhǎng)!
相關(guān)文章
Fedora Linux 42 穩(wěn)定版發(fā)布: 帶來大量新功能和軟件更新
Fedora 42昨日發(fā)布,這是 Red Hat 贊助開發(fā)的杰出前沿 Linux 發(fā)行版的最新版,包含大量新功能和軟件更新,使其成為 2025 年上半年發(fā)布的一款出色的 Linux 操作系統(tǒng)之一,內(nèi)2025-04-16如何在Linux查看硬盤信息? 查看Linux硬盤大小類型和硬件信息的5種方法
使用Linux系統(tǒng)的過程中,查看和了解硬盤信息是非常重要的工作,尤其是對(duì)于系統(tǒng)管理員而言,那么在Linux系統(tǒng)中如何查看硬盤信息?以下是具體內(nèi)容介紹2025-03-12如何在 Linux 中查看 CPU 詳細(xì)信息? 3招輕松查看CPU型號(hào)、核心數(shù)和溫度
在日常運(yùn)維工作中,獲取 CPU 信息是系統(tǒng)運(yùn)維管理員常見的工作內(nèi)容,無論是為了性能調(diào)優(yōu)、硬件升級(jí)還是僅僅滿足好奇心2025-03-11什么是 Arch Linux? 獨(dú)樹一幟的Arch Linux發(fā)行版分析
Arch Linux是為簡(jiǎn)化,優(yōu)化,現(xiàn)代化,實(shí)用主義,用戶中心和多功能性而創(chuàng)建Linux發(fā)行版,究竟是什么讓 Arch 與眾不同?下面我們就來簡(jiǎn)要解讀2025-02-19如何在Linux環(huán)境下制作 Win11裝機(jī)U盤?
一直用的linux辦公,想要將筆記本電腦從 Linux 系統(tǒng)切換回 Windows 11,我們可以制作一個(gè)win11裝機(jī)u盤,詳細(xì)如下2025-02-17Rsnapshot怎么用? 基于Rsync的強(qiáng)大Linux備份工具使用指南
Rsnapshot 不僅可以備份本地文件,還能通過 SSH 備份遠(yuǎn)程文件,接下來詳細(xì)介紹如何安裝、配置和使用 Rsnapshot,包括創(chuàng)建每小時(shí)、每天、每周和每月的本地備份,以及如何進(jìn)2025-02-06Linux Kernel 6.13發(fā)布:附更新內(nèi)容及新特性解讀
Linux 內(nèi)核 6.13 正式發(fā)布,新版本引入了惰性搶占支持,簡(jiǎn)化內(nèi)核搶占邏輯,通過減少與調(diào)度器相關(guān)的調(diào)用次數(shù),讓內(nèi)核在運(yùn)行時(shí)表現(xiàn)更優(yōu),從而提高效率2025-01-23五大特性引領(lǐng)創(chuàng)新! 深度操作系統(tǒng) deepin 25 Preview預(yù)覽版發(fā)布
今日,深度操作系統(tǒng)正式推出deepin 25 Preview版本,該版本集成了五大核心特性:磐石系統(tǒng)、全新DDE、Treeland窗口合成器、AI For OS以及Distrobox子系統(tǒng)2025-01-18Linux Mint Xia 22.1重磅發(fā)布: 重要更新一覽
Beta 版 Linux Mint“Xia” 22.1 發(fā)布,新版本基于 Ubuntu 24.04,內(nèi)核版本為 Linux 6.8,這次更新帶來了諸多優(yōu)化和改進(jìn),進(jìn)一步鞏固了 Mint 在 Linux 桌面操作系統(tǒng)領(lǐng)域的2025-01-16LinuxMint怎么安裝? Linux Mint22下載安裝圖文教程
Linux Mint22發(fā)布以后,有很多新功能,很多朋友想要下載并安裝,該怎么操作呢?下面我們就來看看詳細(xì)安裝指南2025-01-16