2013-10-10 50 views
2

我想找到一種方法來創建和更新遠程系統上的文件的tar存檔,我們沒有寫權限(遠程文件系統是隻讀的) SSH。我已經想通了,要創建一個存檔的方法是,在本地機器上通過ssh創建和更新存檔

ssh [email protected] "tar cvpjf - /" > backup.tgz 

不過,我想知道是否有從這個角度上(僅文件只進行增量備份的某種方式,實際上已經改變?)。任何幫助,這是非常感謝。

+0

也許你可以在你的本地掛載遠程文件系統機器,在那裏你有寫權限,通過'sshfs' – salva

回答

2

您可以嘗試使用焦油--listed增量選項:

http://www.gnu.org/software/tar/manual/html_node/Incremental-Dumps.html

的主要問題是,你有沒有選擇管通過標準輸出SNAR文件,因爲你已經在管道備份.tgz因此,存儲它的最佳選擇是在/ tmp目錄中創建應具有寫入權限的文件,然後在備份會話結束時將其下載。

例如:

ssh [email protected] "tar --listed-incremental=/tmp/backup-1.snar -cvpjf - /" > backup-1.tgz 
scp [email protected]:/tmp/backup-1.snar 

並在以下會話時將使用.snar文件,以避免複製相同的文件:

scp backup-1.snar [email protected]:/tmp/backup-1.snar 
ssh [email protected] "tar --listed-incremental=/tmp/backup-1.snar -cvpjf - /" > backup-2.tgz 
+0

謝謝,這個工程很好。我試圖把它放在腳本中,但不斷提示輸入密碼兩次(ssh和scp)。無論如何要把這兩個一起完成? – Bootstrapper

+1

您可以使用ssh密鑰使用無口令認證:http://www.debian-administration.org/articles/152 – alcachi

相關問題