Я пытаюсь сделать почти то же самое в этом вопросе: Rsync: копирование только по отметкам времени
Но в этом случае некоторые файлы уже были изменены ...
Есть любой способ изменить только временную метку между папкой A (исходной) на B (новая) только по имени файла ... потому что имена файлов в двух местах остаются такими же.
Я думал, может быть, использовать сенсорный скрипт, но, похоже, это сложнее, если есть опция с использованием rsync, это всего лишь одна команда и Бинго!
Спасибо!
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
и команды будут выполняться вместо того, чтобы просто перечисляться, как раньше.