Rsync: копирование по временным меткам только по имени файла
Я пытаюсь сделать почти то же самое в этом вопросе: Rsync: копирование только по меткам времени
Но в этом случае некоторые файлы были уже изменены...
Есть какой-либо способ изменить только временную метку между папкой A (оригинальная) и B (новая) только по имени файла... потому что имена файлов в этих двух местах все те же.
я подумал, может быть, использовать сенсорный сценарий, но это кажется сложнее, если есть вариант, используя rsync его только одна команда и Бинго!
Спасибо!
1 ответ
Rsync не может делать то, что вы ищете. Однако вам повезло, потому что оба набора файлов находятся на одном компьютере, поэтому вы можете использовать -r
флаг touch
скопировать метку времени одного файла в другой.
Ты можешь использовать find
скопировать даты на /source/files
и установите временные метки на /files/to/change
Это выведет команды, которые будут копировать временные метки, но не будут выполнять их на самом деле:
cd /source/files && find . -type f -exec echo touch -r '{}' /files/to/change/'{}' ';'
Вывод представляет собой список команд, которые вы можете выполнить, чтобы скопировать метки времени. Я вставил 1-2 из них в bash и убедился, что они делают то, что вы ожидаете (используйте ls -l
проверить метки времени обоих файлов до и после). Если команды делают то, что вы ожидаете, перезапустите find
команда, но удалите echo
и команды будут выполняться вместо перечисленных, как прежде.