Я використовую rsync в скрипті bash, щоб синхронізувати файли між кількома серверами та NAS. Одне питання, з яким я зіткнувся, намагається створити список файлів, які були змінені під час rsync.
Ідея полягає в тому, що коли я запускаю rsync, я можу вивести файли, які змінилися, в текстовий файл - більше сподіваючись на масив в пам'яті - тоді, перш ніж сценарій існує, я можу запустити клоун лише на змінені файли.
Хтось знайшов спосіб виконати таке завдання?
# 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
для деталізації, але ще з декількома поворотами ...