দুঃখের বিষয়, লেখার সময় রাইকিঙ্কে কোনও বিল্ট ইন মেথড নেই।
মাইক ফিৎজপ্যাট্রিকের সমাধানটি ভাল কাজ করবে, তবে আপনার যদি খুব বড় ডিরেক্টরি ট্রি থাকে তবে আপনি এমন কিছু করতে চাইতে পারেন যা আরএসসিএনকে আবার সমস্ত ফাইলের মধ্যে দিয়ে যায় না again
সম্পাদনা করুন: এটিতে একটি বাগ রয়েছে যেখানে এটি কোনও গন্তব্য ফাইল মুছে ফেলবে না ... যত বেশি ততবার আমি এটি দেখি, এই সমাধানটি নষ্ট হয়ে গেছে ... আমি এটি ছেড়ে দিচ্ছি কারণ এটি আপনার ক্ষেত্রে কার্যকর হতে পারে এবং যদি কেউ চায় এটা ঠিক করতে. এছাড়াও, কাউকে https://bugzilla.samba.org/enter_bug.cgi?product=rsync এ একটি আনুষ্ঠানিক বৈশিষ্ট্য অনুরোধ জমা দিতে হবে
আমি এই স্ক্রিপ্ট লিখেছি:
#! /bin/bash
# Make a temp file for storing the output of rsync
tmpfile=$( mktemp ) &&
# Do all the hard work ( get the list of files we need to update ),
# but dont actually change the filesystem
rsync --dry-run --out-format='RSYNC_CONFIRM %i %n%L' "$@" | grep RSYNC_CONFIRM | awk '{ print $3 }' > $tmpfile &&
# Output to the user what we propose to do
rsync --dry-run --itemize-changes --files-from=$tmpfile "$@" &&
# Alternatively, we could just output $tmpfile... but whatever...
read -p "Continue? (y/n)?" &&
if [[ $REPLY = [yY] ]]
then
{
rsync --files-from=$tmpfile "$@"
}
fi
rm $tmpfile
কল করা কোনও ফাইলে স্ক্রিপ্ট আটকানোর চেষ্টা করুন rsync-confirm.bash
তারপর chmod +x rsync-confirm.bash
তারপর ./rsync-confirm.bash -rvh /etc/ /tmp/etc/
এই স্ক্রিপ্টটি কিছুটা ছোট ছোট হতে পারে, আমি লক্ষ্য করেছি যে উত্স ডিরেক্টরিতে যদি আপনার পিছনে স্ল্যাশ না থাকে তবে এটি সত্যিই এটি পছন্দ করে না ...