Вы можете использовать опцию -u
aka --update
для rsync и автоматически запустить его с помощью crontab
. Со страницы руководства rsync:
-u, --update skip files that are newer on the receiver
Обратите внимание также на другие варианты, которые могут удовлетворить другие потребности:
--inplace update destination files in-place
--append append data onto shorter files
--append-verify --append w/old data in file checksum
Что касается использования задания cron, взгляните на crontab
. Вы даете crontab файл, который он читает, чтобы знать, когда запускать задачи. Формат файла:
minute hour day_of_month month day_of_week COMMAND
Вы можете выполнить задание каждые 7 минут с помощью файла:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .----- day of week (0 - 7) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * command
*/7 * * * * mail -s 'cron working' youremail@example.com
Предполагая, что вы называете свой файл crontab ~/crontab.bash
, вы устанавливаете задания crontab на определенную машину, например:
crontab ~/crontab.bash
Смотрите вики-страницу для получения дополнительной информации.