Одним из томов не проходил DST с остальной частью системы

У меня есть один USB-накопитель 8 ТБ (exfat) на сервере Ubuntu 20.04. Файлы, по-видимому, остались в час позади. Это дает различные rsync и RCLONE задания вполне тренировки! Любые идеи от сообщества, как это произошло, и как это исправить, действительно будет оценено.

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

0
задан 15 March 2021 в 13:31

1 ответ

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

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

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

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

1
ответ дан 18 March 2021 в 23:26

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

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