Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.19.30.232] |
|
Сообщ.
#1
,
|
|
|
Есть две папки 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 - первая строка. Как перезаписать только те файлы которые обновились и записать новые? |
Сообщ.
#2
,
|
|
|
Какая файловая система? Да, в принципе, и какая ось или дистрибут?
|
Сообщ.
#3
,
|
|
|
Что то я совсем.........
надо вот так: find /dir1 -type f -mtime +5 -delete find /dir2 -type f -mtime -5 | xargs -n 1 -I % rsync --progress "%" /dir1 Всё вопрос закрыт. |
Сообщ.
#4
,
|
|
|
Хоть и закрыт вопрос, у rsync есть флаг --delete-excluded
|