Estoy usando rsync en un script bash para mantener los archivos sincronizados entre algunos servidores y un NAS. Un problema con el que me he encontrado es intentar generar una lista de los archivos que han cambiado durante el rsync.
La idea es que cuando ejecuto rsync, puedo generar los archivos que han cambiado a un archivo de texto, más esperando una matriz en la memoria, y luego, antes de que exista el script, puedo ejecutar un chown solo en los archivos modificados.
¿Alguien ha encontrado una manera de realizar tal tarea?
# 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
para detallar, pero con algunos giros más ...