Я хочу использовать rsync для синхронизации моей домашней папки с «резервной» копией на другом диске на машине Ubuntu 11.10. И я хочу, чтобы это происходило каждые 15 минут.
Если я запускаю вручную:
rsync -ar --delete /home/user/ /backupdrive/
в CLI работает нормально - все синхронизировано.
Но я добавил:
*/15 * * * * rsync -ar --delete /home/user/ /backupdrive/
к sudo crontab -e
и пока он добавляет новые файлы, он не удаляет старые.
Любые идеи?
редактировать
Первые три строки cron out.txt:
sending incremental file list
./
IO error encountered -- skipping file deletion
Этого не происходит с версией CLI.
Если вы используете SSH-аутентификацию в своей интерактивной оболочке неявно для rsync, вам необходимо явно настроить ее для использования в cron. Это может быть сложно заблокировать с помощью ключей SSH, которые должны работать без парольных фраз, так как в идеале нужно ограничить, где вывод rsync может попадать на дальний конец.
Вы можете использовать файл ~ / .ssh / authorized_keys, чтобы настроить ключ для запуска только определенной конкретной команды, когда кто-то подключается к хосту. Если бы rsync в режиме демона можно было принудительно поместить все в целевой каталог, указанный в записи «command» файла /.ssh/authorized_keys, это было бы даже довольно безопасно. На странице rsyncd.conf (5) есть несколько подходящих опций для такого рода вещей.