Автор Тема: rsync синхронизация папок  (Прочитано 1303 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн v4567

  • Постоялец
  • ***
  • Сообщений: 121
  • Рейтинг: 0
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Харьков
rsync синхронизация папок
« : 31 мая 2017, 21:37:42 »
Есть две папки dir1 и dir2

В dir2 файлы всё время прибавляются и обновляются.

Необходимо в dir1 удалить старые файлы  - (старее некоторого времени), обновить оставшиеся и загрузить новые не загрузив при этом те которые были удалены ранее в dir1.

Можно сделать двумя командами:
find /dir1 -type f -mtime +5 -delete
find /dir2 -type f -mtime -5 | xargs -n 1 -I % cp  -fdp "%"  /dir1

но тогда  cp перезапишет и не обновлённые файлы, а это лишнее время. Если вместо второй строки использовать rsync то она запишет и те файлы которые не нужны, старые по времени которые были удалены при помощи find - первая строка.

Как перезаписать только те файлы которые обновились и записать новые?

Оффлайн v4567

  • Постоялец
  • ***
  • Сообщений: 121
  • Рейтинг: 0
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Харьков
rsync синхронизация папок
« Ответ #1 : 31 мая 2017, 22:26:35 »
Что то я совсем.........
надо вот так:
find /dir1 -type f -mtime +5 -delete
find /dir2 -type f -mtime -5 | xargs -n 1 -I % rsync --progress "%" /dir1

Всё вопрос закрыт.