これにより、確実な方法で作業を進めることができます
rsync -RDa0P \
--files-from=<(find sourcedir/./ -mtime -7 -print0) \
. [email protected]:targetdir/
これにより、デバイス ノード、権限、タイムスタンプがコピーされます。 -H オプションは --files-from では正確ではないと確信しています
リモートサーバーからローカルに同期するために、サイバートーストのコメントに基づいてこのスクリプトを作成しました。
./script.sh 3
でスクリプトを呼び出すことができます または ./script.sh 3 dry
ドライラン用。
#!/bin/bash
TIME=$1
DRYRUN=$2
if [[ -z $TIME ]]; then
echo "Error: no time argument."
echo "Please enter the number of days to sync."
exit 1
fi
if [[ $DRYRUN = "dry" ]]; then
DRYRUNCMD="--dry-run"
echo "Dry run initiated..."
fi
rsync -avz $DRYRUNCMD --files-from=<(ssh \
[email protected] "find path/to/data/ \
-mtime -$TIME ! -name *.mkv -type f \
-exec ls $(basename {}) \;") \
[email protected]:. .