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 и команды будут выполняться вместо перечисленных, как прежде.

Другие вопросы по тегам