Ich verwende rsync in einem Bash-Skript, um Dateien zwischen einigen Servern und einem NAS synchron zu halten. Ein Problem, auf das ich gestoßen bin, ist der Versuch, eine Liste der Dateien zu generieren, die sich während des rsync geändert haben.
Die Idee ist, dass ich, wenn ich rsync ausführe, die geänderten Dateien in eine Textdatei ausgeben kann - mehr in der Hoffnung auf ein Array im Speicher -, bevor das Skript existiert, kann ich nur die geänderten Dateien überprüfen .
Hat jemand eine Möglichkeit gefunden, eine solche Aufgabe auszuführen?
# 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
für itemize, aber mit ein paar weiteren Drehungen ...