Как изменить дату и время последней модификации, независимо от часового пояса и летнего времени?

У меня есть два файла, и мне нужно изменить их дату последней модификации: оба должны быть полночь, одна – 25 июня, а вторая – 25 ноября. В основном это:

touch -cmt 201606242359.60 summer-file touch -cmt 201611242359.60 winter-file 

Наш часовой пояс на сервере – «Европа / Мадрид», поэтому мы наслаждаемся летним временем: мы находимся в UTC + 1 в течение зимы и UTC + 2 в течение лета. Это означает, что если я сейчас запустил приведенные выше команды, они установили дату зимнего файла правильно, но лето-файл на час раньше: 24 июня 23:00. Если бы я управлял ими в течение лета, я думаю, что летний файл будет одним ОК, а другой будет 1:00 вместо 0:00.

После небольшого количества поисковых запросов и немного больше проб и ошибок, я придумал это:

 TZ=ZZZ-1 touch -cmt 201606242359.60 summer-file TZ=ZZZ-1 touch -cmt 201611242359.60 winter-file 

Который правильно установил дату обоих файлов в 0:00 по назначению. Проблема в том, что … Я действительно не знаю, что я здесь делаю. Изменение часового пояса на ZZZ-1 , из-за … магии? Или … это -1, потому что мы сейчас находимся в UTC + 1? В марте следующего года, когда мы перейдем на DST, наш сервер будет на 2 часа раньше UTC вместо 1. Должен ли я использовать вместо этого ZZZ-2 , или ZZZ-1 все равно будет в порядке? (Я бы изменил дату сервера и просто попробовал себя, но мне не разрешено это делать, это сломает несколько вещей).

Если мне понадобится ZZZ-2 в течение лета … есть ли другое выражение, то я могу установить TZ= вместо этого, чтобы мой контакт работал нормально круглый год и для любой заданной даты? Я пробовал с GMT , UTC и UTC0 , никто из них не работал (все они установили мой летний файл до 1:00).

Команды генерируются программно (в Siebel CRM), я думаю, я мог бы проверить текущую дату и установить TZ=ZZZ-1 или TZ=ZZZ-2 мере необходимости ( если необходимо), но я предпочел бы иметь только одно выражение.

Также обратите внимание, что на нашем сервере работает Solaris 10, если это имеет значение. Обычно это происходит …

Interesting Posts

В #! / Bin / bash. Команда Unix для получения даты первого дня недели в месяц

Как я могу проверить, какие сигналы прослушивает процесс?

Есть ли способ изменить один файл и синхронизировать его с нижним каталогом в OverlayFs?

Как случайно выбрать одно из нескольких имен хостов под одним псевдонимом (~ / .ssh / config)

проблема с паролем при подаче удаленного файла в diff

запустить команду по скрипту в алфавитном порядке

Плавный рендеринг шрифтов с xmonad в linux mint

Как приложение unix регистрирует огромные объемы данных?

Как выполнить произвольную простую команду над ssh без знания оболочки входа удаленного пользователя?

Обратное подключение к серверу SSH

Может ли сценарий bash сбросить и дезинфицировать * всю * среду и как?

lp печатает пустые страницы для чистого текстового файла

Может ли доступ только к моему веб-серверу с моего компьютера?

Доступ к файлам из образа BTRFS в аналогичной файловой системе

Как вы очищаете буферы и кеш в системе Linux?

Linux и Unix - лучшая ОС в мире.