Очень простая задачка для собеседования системного администратора: надо зашедьюлить cronjob, чтобы он выполнялся каждый день в два часа ночи.
По пекинскому времени. ‎- псы в рапиде
С учётом перевода времени? ‎- абонплата за листопад
И сколько лет он должен выполняться? ‎- абонплата за листопад
Я знаю как сделать в лоб по локальному времени машины или по UTC посмотрев на разницу во времени. Но вот как сделать чтобы с переводом не трогая время машины? Кажется стандартным кроном никак. ‎- Все собаки попадают в рай
^не обязательно одной строчкой. Летом так, зимой этак. Вернее, в дни перевода. ‎- birdwatcher
^ spoiler /в смысле тогда решение тривиально/ ‎- Все собаки попадают в рай
Не помню, может быть, есть день, когда два часа ночи вообще не наступает, тогда задача сильно гнилая. ‎- birdwatcher
^ когда-то писал сборщик статистики трафика (когда он еще массово был платный) и был удивлен, что в последнее воскресенье октября 2 часа ночи случается дважды (когда часы еще переводили) и длятся эти сутки аж 25 часов. ‎- Der Große Schlange
^ Я как-то (очень давно) сидел ночью за компом, а винда переводила время с 3:00 на 2:00, через час опять, потом снова, и так до рассвета и дальше. ‎- seliv
Нормальный сисадмин, думаю, сразу скажет, что время на сервере должно быть UTC. ‎- 9000
^ и чо? Если клиенту в Пекине должен приходить отчёт в 2 ночи, чем поможет UTC? ‎- а меня почему-то забыли
^^зависит. Я, где ни работал, на всех серверах по всему миру всегда было наше, чикагское время. ‎- birdwatcher
^^ тем, что в UTC нет летнего времени и его не ебёт. Впрочем, это всё разговоры в пользу бедных, в китае нет DST. ‎- African grey
Так чо делать-то, отцы? ‎- псы в рапиде
Посчитать разницу в таймзонах и поставить как надо. Если у тебя амстердам - поставить на -7 часов, т.е. 0 18 * * * (если я не проебал и таймзона в амстердаме действительно GMT+1) ‎- African grey
Про ноль минут, конечно, я утрирую. Ставить крон на 0 минут плохо, потому что каждый мудак ставит крон на 0 минут и там дикая вспышка нагрузки получается. ‎- African grey
# CST = UTC + 08 ‎- silpol
0 18 * * * command ‎- silpol
"Чё делать": уточнять постановку задачи. Нам нужно регулярно гонять задание вне часов пик? UTC на фиксированное время. Гонять задание через N часов после другого задания, исполняемго по местному времени, но не попадающему на момент смены? Менять время пуска в при переходе на летнее, например, в полдень подменять кронтабы по кронтабу :) Нужно гонять в 2 часа локального времени, чтобы синхронизироватся с кем-то ещё? Уточнять отношение к летнему времени у этих кого-то. Ещё что-то? Расскажите. (Да, разумеется, локальное время на сервере всегда UTC.) ‎- 9000
из моего локального TZ адОчка - в индии есть таймзона не на границе почасовой шкалы, а на получасье. но я не настоящий сварщик (тм) ‎- silpol
^ есть и на четверти часа. Были и хуже ‎- alf
Но два часа — это же red herring: Clock Changes in Beijing, Beijing Municipality, China ◢ Last change: 1991 SEP 15 1 hour Back 15 Sep 1991, 00:00 No further time changes in 2016 in Beijing ‎- alf