
Мне поручено попытаться найти способ загрузки сжатых журналов с удаленного сервера. Этих журналов довольно много, и они постоянно создаются.
У меня есть ограниченный доступ по SSH к удаленному серверу, и я могу синхронизировать файлы с помощью scp или rsync.
Однако из-за огромного размера этих файлов журналов я не хочу синхронизировать их все. Журналы могут достигать терабайт, и для их сравнения rsync может потребоваться некоторое время. Я хочу получить только любой новый файл, который был создан/последний раз обновлен час назад.
Я также беспокоюсь, что синхронизирую с помощью rsync журналы, которые находятся в процессе создания, поэтому я думал синхронизировать с помощью rsync только файлы, которые были последний раз изменены 3–5 минут назад.
Кто-нибудь будет так добр, чтобы помочь мне с таким процессом? Спасибо заранее.
решение1
Вы можете использовать ls -t, чтобы составить список последних файлов по дате и отправить его в rsync. Вы можете легко настроить его на передачу только вчерашних журналов или вам нужны также журналы за тот же день?
решение2
Что-то вродеhttp://www.commandlinefu.com/commands/view/1481/rsync-findдолжно подойти; возможно, вы захотите выполнить однострочный код на удаленном сервере и подключить его обратно к вашему серверу «загрузки».