1

これは私の状況です:

2つのフォルダー(A1とB1)があり、A1に含まれるすべてのファイルとサブフォルダーがタイムスタンプ付きでB1にコピーされるようにします。また、ファイルが変更された場合は、新しいタイムスタンプを使用してB1にコピーする必要があります。

それで:

A1 contains: pluto.txt pippo(empty folder)

B1 contains: pluto_timestamp.txt pippo(empty folder)

2日後:

A1 contains: pluto.txt pippo(empty folder)

B1 contains: pluto_timestamp.txt pluto_timestamp2days.txt pippo(empty folder)

私の考えは:

A1のstatコマンドを再帰的に起動し、出力をtxtファイルに保存します。

ポーラーのように、スクリプトがスケジュールされているときに、すべてのファイルの変更フィールドをチェックして、一部のファイルが変更されているかどうかを確認したいと思います。多分私はstatコマンドの別の起動でそれを行うことができます

PSEUDOCODE

while (A1 =! empty) {

open stat_result.txt

if file_A1 already exists in_B1

       if modify_date_A1 =! modify_date_B1

                cp file_A1_TIMESTAMP into B1

       else do nothing

else 

   cp file_A1_FILESTAMP into B1  #because it doesn't exist yet

}

それがより明確になることを願っています。ありがとう

4

2 に答える 2

0
rsync --archive --dry-run A1/ B1/

https://stackoverflow.com/tags/rsync/info

于 2013-02-19T22:33:11.620 に答える
0
# first create the directories in B1, if they do not already exist
# then copy the timestamped files to B1, if they are not there yet
(cd A1; find -type d)|(cd B1; xargs mkdir -p)
(cd A1; find -type f)|
while read file
do  cp -n A1/$file B1/$(<<<$file sed "s,.*/[^.]*,&_`date -rA1/$file +%F_%T`,")
done
于 2013-11-13T14:30:06.420 に答える