Один том не перешел на летнее время с остальной частью системы

У меня есть один USB-накопитель емкостью 8 ТБ (exfat) на сервере Ubuntu 20.04. Файлы там, похоже, отстали на час. Это сильно утомляет различные задания rsync и rclone ! Любые идеи от сообщества, как это произошло и как это исправить, будут ДЕЙСТВИТЕЛЬНО оценены.

Я признаю, что не знаю, как изменения часового пояса отображаются в запросах каталога. Существуют ли временные метки файлов в формате UTC и переводятся ли они по мере необходимости?

1 ответ

Большинство файловых систем записывают метки времени в формате UTC, а инструменты преобразуют часовой пояс в активный в текущем процессе (поэтому вы можете просто использовать TZ=UTC ls -lи получите список с отметками времени UTC).

Файловые системы на основе FAT являются исключением: они используют местное время и преобразуют его в формат UTC при чтении, а отметка времени затем преобразуется обратно в местное время для отображения.

Преобразование на уровне файловой системы представляет собой простое смещение, в то время как преобразование для отображения использует историческую информацию о часовом поясе, поэтому к файлу, измененному на прошлой неделе, будет применено смещение летнего времени на уровне файловой системы (поскольку он сейчас активен). , и в слое отображения не применялось смещение летнего времени (поскольку оно не было активным в то время).

Вы можете монтировать файловые системы на основе FAT с помощью tz=UTCвозможность отключить смещение на уровне файловой системы или time_offset=чтобы указать количество минут для настройки, но уровень файловой системы в ядре не имеет таких же сложных функций преобразования, которые существуют для приложений.

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