Копировать временную метку создания файла из массива исходных файлов

380
AaronK

TL: DR: У меня есть NAS-устройство Synology с огромным набором исходных файлов и второе (целевое) NAS с дубликатом этих файлов (плюс несколько дней работы). Я хотел бы скопировать метку времени создания из исходных файлов в целевые файлы.

Длинная история:

У моей работы недавно был сбой жесткого диска в одном из наших NAS-серверов Synology. Работая с резервной копией, я решил обновить нашу стратегию резервного копирования, которая включала новый NAS и новые диски. Я настроил наш резервный NAS для использования функциональности Synology Folder Sync для создания дубликатов файлов на новом NAS. Он работал отлично, за исключением одной вещи.

Файлы на новом NAS очень хорошо брали свои метки времени изменения из исходных файлов, но метка времени создания была установлена ​​на тот день, когда я делал резервную копию для каждого отдельного файла. Некоторые из моих коллег используют метку времени создания файла для своей работы, поэтому я пытаюсь вернуть правильные метки времени.

В прошлом я обновлял метки времени модификации, написав страницу PHP, которая просто просматривала оба дерева файлов на предмет совпадения имен файлов, перезаписывая метки времени модификации, как это было, но я не могу понять, как это сделать с помощью меток времени создания или даже если это возможно. Кроме того, все метки времени изменения целевых файлов являются правильными. На дисках находятся десятки тысяч файлов, поэтому обновление по одному невозможно. Какие у меня варианты? Является ли это возможным?

Изменить: так как люди спрашивали, мой NAS сообщает, что файловая система "Btrfs". Он имеет 4 диска в RAID 10.

0
Я использую NirSoft Bulk File Changer для аналогичных, хотя и меньших, задач. Он может быть запущен как отдельная программа и позволяет выполнять массовые изменения созданных, измененных и доступных меток времени в дополнение к атрибутам файла. [NirSoft] (http://www.nirsoft.net/utils/bulk_file_changer.html) РЕДАКТИРОВАТЬ: Я оставлю комментарий, но только понял, что ваши потребности больше, чем этот инструмент предлагает. 7 лет назад 0
Какую файловую систему вы используете на NAS (ext4, ntfs, ...) и как вы выставляете их в сети (nfs, cifs, ...)? meuh 7 лет назад 1
Согласно Storage Manager в моей системе, файловая система "Btrfs". AaronK 7 лет назад 0

1 ответ на вопрос

0
Duncan

Вы не указали, какую операционную систему или файловую систему вы используете. Здесь есть некоторая полезная информация: https://apple.stackexchange.com/questions/199536/how-to-keep-original-date-created-when-copying-via-terminal

Это специфический для яблока вопрос, но ответы и комментарии содержат некоторую общую информацию, которая может оказаться полезной. В частности: «Если вы хотите скопировать файлы в другую файловую систему, вам нужно скомпилировать rsync с помощью файловых флагов патчей, crtimes, ...»

Итак, если вы работаете в системе, которая поддерживает rsync (например, Linux), то это может быть вашим ответом.

Удачи.

Дункан

Диски настроены с использованием файловой системы "Btrfs", и она поддерживает rsync. Данные также доступны с любого компьютера в сети, чтобы я мог вносить изменения в Windows или Mac. К сожалению, ваша ссылка на то, как сохранить метку времени создания при копировании, но я уже скопировал файлы и теперь должен обновить их. : \ AaronK 7 лет назад 0

Похожие вопросы