Использование rsync с StrictHostKeyChecking и поиск файлов старше 5 минут с удаленного устройства

Я хотел бы использовать rsync для синхронизации файлов с удаленного компьютера в локальный каталог. Поэтому я использую StrictHostKeyChecking , чтобы не вводить пароль.

Теперь я хочу синхронизировать только файлы старше 5 минут. Я решил использовать

find /path/to/folder/ -type f -mmin +5

Как интегрировать его в свою удаленную процедуру?

rsync -e "./ssh -i %syncclientkey% -o  'StrictHostKeyChecking no'" syncusr@%syncsrv:path/to/source path/to/destination
-1
задан 16 November 2015 в 08:39
1 ответ

StrictHostKeyChecking не имеет ничего общего с аутентификацией без пароля. Его цель - создать обратный DNS с прямым подтверждением, чтобы быть уверенным, что вы действительно подключены к предполагаемому серверу, и что не используется перехват уровня DNS для перенаправления вас на другой сервер.

Для использования аутентификации с открытым ключом у вас был выполните следующие действия:

  1. создайте новый открытый / закрытый ключи, используя ssh-keygen
  2. скопируйте pubkey на удаленный сервер, используя ssh-copy-id

Что касается второй части вашего вопрос, rsync сам по себе не поддерживает выбор по времени. Вам нужно было сгенерировать список файлов с помощью find и направить его в rsync .

Например: find / path / to / folder / -type f -mmin +5 -print0 | rsync -files-from = - -from0 syncusr @% syncsrv: path / to / source path / to / destination

Однако, поскольку rsync чрезвычайно эффективен при передаче только измененных файлов / дельт, возможно, вы можно полностью пропустить этап выбора файла и просто синхронизировать всю папку каждые 5 минут. rsync будет синхронизировать / передавать только измененные файлы (с 5-минутным интервалом это означает, что будут синхронизированы только файлы, измененные за последние 5 минут).

2
ответ дан 5 December 2019 в 19:25

Теги

Похожие вопросы