Мне нужно создать скрипт, который периодически (каждые 5 секунд) выполняет rsync между двумя каталогами.
Одно из требований заключается в том, что мне нужно записать с меткой времени скопированные файлы в файл журнала но я не могу найти способ получить результат rsync скопированных файлов. Есть ли способ узнать, какие файлы были скопированы?
Используйте флаг -v в дополнение к любым другим флагам, которые вам нужны.
Из man rsync:
-v, --verbose Этот параметр увеличивает количество информацию, которую вы даете во время передачи. По умолчанию rsync работает молча. Один -v даст вам информацию о том, какие файлы передаются, и краткое резюме в конце. Два варианта -v предоставят вам информацию о том, какие файлы пропускаются и немного больше информации в конце ....Если кому-то это понадобится ... После многих тестов я собираюсь сделать что-то вроде:
#!/bin/bash
rm out.log
touch out.log
while :
do
rsync --log-file=out.log -a /tmp/test /tmp/backup
counter=`wc -l < out.log`
echo $counter
rm out.log
if [[ $counter -gt 2 ]]; then
rsync --log-file=out.log -a /tmp/test /tmp/backup
fi
sleep 5
done