window连接不上linux ftp_Linux文件自动备份方案
歡迎大家一起學(xué)習(xí)交流
正在跳轉(zhuǎn)?jq.qq.com需求場(chǎng)景:將云上一臺(tái)Linux服務(wù)器文件備份到本地服務(wù)器,一周一備即可。
面對(duì)這樣一個(gè)需求,我們可能面臨如下一些問題。
1、備份方式:是云服務(wù)器推文件到本地服務(wù)器寫入,還是本地服務(wù)器從云服務(wù)器拉文件?這個(gè)問題涉及就是誰作為服務(wù)端,服務(wù)端需映射公網(wǎng)服務(wù)端口,客戶端則不需要。這里我們將云服務(wù)器作為服務(wù)端,同時(shí)設(shè)置白名單只允許本地服務(wù)器出口IP才允許訪問。
2、應(yīng)考慮文件類型、大小、數(shù)量、增長(zhǎng)速率等因素,對(duì)技術(shù)實(shí)現(xiàn)方式的影響。
3、技術(shù)實(shí)現(xiàn):如何從一臺(tái)服務(wù)器自動(dòng)備份到另一臺(tái)服務(wù)器呢?哪一個(gè)技術(shù)方案相對(duì)更安全可靠?這里涉及的是文件備份,且實(shí)時(shí)性要求不高,最笨拙的方式就是人工備份,由相關(guān)管理人員通過主動(dòng)的方式手工備份文件到本地服務(wù)器。但這是懶人的時(shí)代,機(jī)器能做的,干嘛用手來呢,我們來一起看看自動(dòng)備份實(shí)現(xiàn)的方案。
方案一:SCP
最簡(jiǎn)單的方式,就是利用SCP來實(shí)現(xiàn)自動(dòng)遠(yuǎn)程備份。
1、公私鑰免密連接
2、crontab+scp:
0 0 * * 0 scp -r root@192.168.204.130:/tmp/ /tmp但這種方式,需要放開SSH運(yùn)維端口,即使設(shè)置白名單,在強(qiáng)管控的安全策略之下,依然面臨挑戰(zhàn),難道沒有其他更好的方案嗎?
方案二:FTP
說起文件傳輸備份,首先想到就是FTP,FTP是用于網(wǎng)絡(luò)上進(jìn)行文件傳輸?shù)囊惶讟?biāo)準(zhǔn)協(xié)議,但使它聲名狼藉的問題是它以明文方式傳輸密碼和文件內(nèi)容,只要在網(wǎng)絡(luò)中對(duì)FTP連接進(jìn)行監(jiān)控就能被竊取。
FTP協(xié)議存在一些難以改善的缺點(diǎn),它將走向終點(diǎn)。
很顯然,這并不是一個(gè)好的技術(shù)方案。
方案三:SFTP
SFTP協(xié)議是在FTP的基礎(chǔ)上對(duì)數(shù)據(jù)進(jìn)行加密,使得傳輸?shù)臄?shù)據(jù)相對(duì)來說更安全。但是這種安全是以犧牲效率為代價(jià)的,也就是說SFTP的傳輸效率比FTP要低。不過現(xiàn)實(shí)使用中,文件量并沒有那么大,這種差別并不明顯。
實(shí)施方案:
云服務(wù)器作為服務(wù)端開啟SFTP,提供連接地址、用戶名、密碼,白名單限制訪問來源IP。
客戶端可根據(jù)操作系統(tǒng)類型,采用不同的技術(shù)措施定期下載備份。
A、下載到Window服務(wù)器:
定時(shí)任務(wù)+WinSCP
winscp.exe /console /command "option batch continue" "option confirm off" "open sftp://username:password@192.168.204.130:22" "option transfer binary" "get /tmp D:data" "exit" /log=log_file.txtB、下載到Linux服務(wù)器:
crontab+lftp
lftp -u username,password sftp://192.168.204.130 << EOFcd /tmpmget *.*byeEOF cd /tmp mget *.* bye EOF方案四:rsync
rsync是linux系統(tǒng)下的數(shù)據(jù)鏡像備份工具,rsync的增量傳輸功能,十分強(qiáng)大。
假設(shè)待傳輸文件為A,如果目標(biāo)路徑下沒有文件A,則rsync會(huì)直接傳輸文件A,如果目標(biāo)路徑下已存在文件A,則發(fā)送端視情況決定是否要傳輸文件A。rsync默認(rèn)使用"quick check"算法,它會(huì)比較源文件和目標(biāo)文件(如果存在)的文件大小和修改時(shí)間mtime,如果兩端文件的大小或mtime不同,則發(fā)送端會(huì)傳輸該文件,否則將忽略該文件。
實(shí)施方案:
1、云服務(wù)器搭建rsync服務(wù)端,設(shè)置賬戶密碼,白名單限制訪問來源IP。
2、本地服務(wù)器安裝rsync客戶端,編寫shell腳本,結(jié)合crontab實(shí)現(xiàn)定時(shí)增量備份。
rsync -avz --password-file=/root/passwd root@192.168.204.130::common /tmp >/dev/null 2>&1以上,借助于一些常用的運(yùn)維工具,來構(gòu)建的技術(shù)解決方案,可以滿足這個(gè)需求場(chǎng)景下的文件自動(dòng)備份需求。
歡迎大家一起學(xué)習(xí)交流
正在跳轉(zhuǎn)?jq.qq.com 《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的window连接不上linux ftp_Linux文件自动备份方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python常用知识点_Python常用
- 下一篇: kafka 重复消费和数据丢失_刨根问底