2010-11-17 88 views
2

rsync可以使用日期過濾器來完成,以便只傳輸比某個日期更新的文件?現在,我使用Applescript來執行rsync,它只是備份遠程目錄中的所有文件,而不管修改日期。如果rsync的不能做的日期過濾本身,使用AppleScript日期過濾是可以接受的...帶日期過濾器的rsync

摘錄當前腳本:

do shell script ("rsync -av -f \"+ *.fid\" -f \"- /*\" [email protected]" & server & ":/home/" & user & "/ ~/Documents/" & user & "/RawNMRs/") 

謝謝!

+0

你能進一步解釋一下你的「的意思日期過濾「?此外,你從哪裏得到的日期和他們是什麼格式? – 2010-11-17 14:30:25

+0

例如,我只想傳輸上個月已修改的文件。我希望有一種方法可以使用文件的時間戳(文件位於Linux服務器上)。 – 2010-11-18 10:55:22

+0

請注意,您可以通過縮進四個空格將代碼行格式化爲代碼。編輯器工具欄中的「101 \ n010」按鈕可以爲您做到這一點。單擊編輯器工具欄中的橙色問號以獲取更多信息和格式化提示。 – outis 2010-12-11 14:24:16

回答

3

我偶然發現了一個基於Server Fault的查找和管道參數的答案。我還發現一個更好的替代方法來解決我的具體備份問題,但我想我會離開這裏工作日期過濾的rsync的人誰的興趣:

ssh [email protected] "touch -d '2010-12-01 00:00:00' timestampfile" 
ssh [email protected] "find ./*.fid/ -maxdepth 1 -newer timestampfile -print0" | rsync -av --files-from=- [email protected]:/home/user/ ~/Documents/user/RawNMRs/