Saya menggunakan rsync dalam skrip bash untuk menjaga file tetap sinkron antara beberapa server dan NAS. Salah satu masalah yang saya temui adalah mencoba membuat daftar file yang telah berubah dari saat rsync.
Idenya adalah bahwa ketika saya menjalankan rsync, saya dapat menampilkan file yang telah berubah menjadi file teks - lebih berharap untuk array dalam memori - maka sebelum skrip ada saya dapat menjalankan chown hanya pada file yang diubah.
Adakah yang menemukan cara untuk melakukan tugas seperti itu?
# specify the source directory
source_directory=/Users/jason/Desktop/source
# specify the destination directory
# DO NOT ADD THE SAME DIRECTORY NAME AS RSYNC WILL CREATE IT FOR YOU
destination_directory=/Users/jason/Desktop/destination
# run the rsync command
rsync -avz $source_directory $destination_directory
# grab the changed items and save to an array or temp file?
# loop through and chown each changed file
for changed_item in "${changed_items[@]}"
do
# chown the file owner and notify the user
chown -R user:usergroup; echo '!! changed the user and group for:' $changed_item
done
-i
untuk perincian, tetapi dengan beberapa tikungan lagi ...