У меня есть учетная запись на мега, и я хочу синхронизировать ее с папкой на моем компьютере. Проблема в том, что эта учетная запись в какой-то степени общедоступна, поэтому я не могу просто использовать rsync с --delete если кто-то просто удалил все файлы.

Я подумал, что можно было бы выполнить rsync все файлы на моем компьютере, ничего не удаляя, а затем найти дубликаты (кто-то переместил файлы в другой каталог и т.д.), Используя команду find -type f -exec md5sum '{}' ';' | sort | uniq --all-repeated=separate -w 33 | cut -c 35- и оставьте только самую новую версию.

Но если я не ошибаюсь, время создания файла остается после копирования. Это прискорбно, потому что данные в основном состоят из изображений и файлов PDF, которые не меняются.

Есть ли какой-нибудь способ передать (только) скопированные файлы, например, на touch или есть какой-нибудь лучший способ решения этой проблемы?

1 ответ1

1

Вы сказали :

Но если я не ошибаюсь, время создания файла остается после копирования.

Не всегда.

При копировании файлов и каталогов вы можете сохранить время модификации.
Например, cp -rp сохранить время создания, владения ... (от man cp):

-a, --archive такой же как -dR --preserve = all
-p так же, как --preserve = режим, владение, метки времени


В то же время rsync -t сохраняет время модификации (на этот раз от man rsync):

-t, --times сохранить время модификации

Обычно rsync используется с опциями -avr , то есть с неявным использованием -t .

-a, - режим архивирования архива; равно -rlptgoD (нет -H, -A, -X)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .