Sto usando rsync in uno script bash per mantenere i file sincronizzati tra alcuni server e un NAS. Un problema che ho riscontrato è il tentativo di generare un elenco dei file che sono stati modificati durante il rsync.
L'idea è che quando eseguo rsync, posso produrre i file che sono stati modificati in un file di testo - sperando di più in un array in memoria - quindi prima che esista lo script posso eseguire un chown solo sui file modificati.
Qualcuno ha trovato il modo di eseguire tale compito?
# 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
per itemize, ma con qualche altra svolta ...