2012-11-23 42 views
2

我喜歡從一個(Linux)的磁盤分區的其他(備份位置)rsync的我的照片。 問題是,我需要重新縮放保存在備份位置上的所有照片,例如mogrify的rsync和(後)工藝同步使用shell腳本文件

是否有可能進行後期處理每一個文件,該文件同步/由rsync的複製? 在每個同步文件上執行mogrify

的其他方法可以使用rsync(只),生成具有要同步的文件列表。下一步:爲每個列表條目運行一個循環到mogrify,以便將縮放後的照片輸出到備份位置。

的問題是,我必須添加的所有目錄和兒童目錄將照片保存之前保持原來的文件夾結構。

使用rsync將處理「即時」文件夾創建。

所以:是否有可能與rsync的同步每個文件執行的命令?

回答

3

rsync有一個-i/--itemize-changes標誌來輸出它對每個文件做什麼的簡歷。

我建議你玩了一下它,我看到它像輸出爲>f+++++++++ file1一個新的文件,>f..T...... file1一個不變的文件,>f.sT...... file1的更新等線...

有了這樣的,你可以將這個輸出讀入一個變量,並用grepcut解析:

#!/bin/bash 
log=$(rsync -i rsync-client/* rsync-server/) 
newFiles=$(echo "$log" | grep '>f+++++++++' | cut -d' ' -f2) 
for file in $newFiles 
do 
    echo "Added file $file" 
done 
+0

很好。而已! :-)。我添加了一個遞歸工作的選項。 'rsync -ia rsync-client/* rsync-server /' –