使用lftp進行文件備份

最近碰到一個需求,需要將一些服務器上的文件(主要是一些重要的數據和資源,例如sql,操作產生的圖片,文件等等)。

方法有很多種,最簡單的我看下來還是用lftp算了,但是注意考慮到具體的需求,我這邊是因爲文件本身是不大的。

文件壓縮,sql提取,定時任務這種就不說了,都是基操。

然後是使用lftp把要備份的文件發送過去。

這裏不寫sh腳本了,就簡單列舉一下操作步驟

一.在存放備份的服務器上搭建一個FTP服務。

推薦使用docker搭建,方便高效,基本命令如下:

yum install docker

安裝docker,已安裝直接跳過下一步。

然後是保證20,21端口不被佔用,學過計網的應該都知道,然後啓動docker

service docker start

接着遠程下拉鏡像一行運行ftp服務

docker run -d -v /home/vsftpd:/home/vsftpd -p 20:20 -p 21:21 -p 21100-21110:21100-21110 -e FTP_USER=ftpadmin -e FTP_PASS=ftpadmin --privileged --name vsftpd fauria/vsftpd

這樣就運行了一個ftp服務,然後去打開防火牆相應端口,這裏就不贅述了。

這裏配置的ftp服務的用戶名是ftpadmin,密碼也是ftpadmin,可以根據實際需求更改用戶名。

然後就配置ftp完成了,可以電腦上登錄試一下,windows訪問linux搭建的ftp,可能會發生一些錯誤,但是並不影響linux之間的ftp訪問。

二.如何使用lftp發送文件

這邊也不用腳本了,就命令行,腳本可自行編寫。

安裝lftp

yum install lftp

安裝完成後即可使用

建立訪問請求

lftp X.X.X.X

X.X.X.X剛剛搭建的備份ftp服務器的ip地址或域名

登錄ftp,使用ftp服務

user username password

username和password是剛剛設置的用戶名和密碼

找到本地的待備份文件存在路徑如/A/B

lcd /A/B

lcd操作的是本地,cd操作的是ftp服務器的路徑

分兩種情況

一.複製一個文件夾C

mirror -R C

二.複製一個文件C

put -R C

然後就可以看到傳輸成功,在ftp服務器上也出現了相應的文件。bash腳本可根據需求靈活編寫,此外還有rsync等方式在某些需求場景下更加好用,可以另外參考。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章