Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > *nix > rsync синхронизация папок |
Автор: v4567 31.05.17, 18:39 |
Есть две папки dir1 и dir2 В dir2 файлы всё время прибавляются и обновляются. Необходимо в dir1 удалить старые файлы - (старее некоторого времени), обновить оставшиеся и загрузить новые не загрузив при этом те которые были удалены ранее в dir1. Можно сделать двумя командами: <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> find /dir1 -type f -mtime +5 -delete find /dir2 -type f -mtime -5 | xargs -n 1 -I % cp -fdp "%" /dir1 но тогда cp перезапишет и не обновлённые файлы, а это лишнее время. Если вместо второй строки использовать rsync то она запишет и те файлы которые не нужны, старые по времени которые были удалены при помощи find - первая строка. Как перезаписать только те файлы которые обновились и записать новые? |
Автор: JoeUser 31.05.17, 19:11 |
Какая файловая система? Да, в принципе, и какая ось или дистрибут? |
Автор: v4567 31.05.17, 19:28 |
Что то я совсем......... надо вот так: <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> find /dir1 -type f -mtime +5 -delete find /dir2 -type f -mtime -5 | xargs -n 1 -I % rsync --progress "%" /dir1 Всё вопрос закрыт. |
Автор: grgdvo 01.06.17, 20:10 |
Хоть и закрыт вопрос, у rsync есть флаг --delete-excluded |