উত্তর:
এটি আপনাকে দৃ way় পথে চালিত করা উচিত
rsync -RDa0P \
--files-from=<(find sourcedir/./ -mtime -7 -print0) \
. user@B:targetdir/
এটি ডিভাইস নোড, অনুমতি, টাইমস্ট্যাম্পগুলি অনুলিপি করে। আমি নিশ্চিত যে -এইচ বিকল্পটি - ফাইল-এর সাথে সঠিক হবে না
rsync -avn --files-from=<(ssh user@A 'find /path/on/A/ -mtime -7 -type f -exec basename {} \;') user@A:/path/on/A/ user@B:targetdir
basename
আপনার আদেশের অর্থ কী ? আপনি দয়া করে ব্যাখ্যা করতে পারেন?
আমি এই স্ক্রিপ্ট সাইবারটোস্টের মন্তব্যের ভিত্তিতে একটি রিমোট সার্ভার থেকে স্থানীয় সাথে সিঙ্ক করতে লিখেছি।
আপনি স্ক্রিপ্টটি শুকনো রান সহ ./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 \
user@remote "find path/to/data/ \
-mtime -$TIME ! -name *.mkv -type f \
-exec ls $(basename {}) \;") \
user@remote:. .