歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

linux下使用lftp的小結(遠程服務器備份)

今天在解決一個遠程服務器備份的問題時,用到了lftp的相關知識。整理如下:

lftp的功能比較強大,相比原來用ftp,方便了很多。

1、登陸:

lftp ftp://yourname@site

pwd:*****

或 open ftp://yourname@site

2、基本操作(轉)

lftp使用介紹
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=”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:

昨天剛到,今天立馬開工干活,還是有點壓力的,但有壓力是好事,督促自己努力加油!

認真思考總結,才能更好更快的成長!

多思考,多總結,快樂成長!

Copyright © Linux教程網 All Rights Reserved