Python переменные окружения: виды и способы использования

Ошибки синхронизации времени

TIME_ERROR: 0x2041: Clock Unsynchronized

Иногда в логе /var/log/ntp.log или системном логе /var/log/syslog вы можете наблюдать ошибку — kernel reports TIME_ERROR: 0x2041: Clock Unsynchronized

На нее можно не обращать внимание, так как реально это не ошибка, а информационное сообщение. Нам просто сообщают о том, что в момент страта службы ntp, ядро linux еще не синхронизировало время

the NTP socket is in use, exiting

Если при запуске синхронизации времени с помощью ntpdate вы видите ошибку — the NTP socket is in use, exiting, то это значит, что у вас уже запущена служба ntp. Для того, чтобы не было конфликтов при изменении времени, должно работать что-то одно, либо ntpdate, либо ntp, но не оба одновременно. Чтобы эта ошибка исчезла, достаточно просто остановить ntp и запустить ntpdate еще раз.

no server suitable for synchronization found

Еще одна популярная ошибка, которая может возникнуть при запуске ntpdate. Она означает, что не получается по какой-то причине установить соединение с сервером времени. В общем случае это означает, что есть какие-то сетевые проблемы, но не обязательно. Вы можете попробовать запустить ntpdate c ключом -u. Он означает, что будет использован локальный не 123-й порт udp, как обычно, а другой из непривилегированного диапазона. Иногда это помогает, так как многие провайдеры из-за известной уязвимости протокола ntp блокируют исходящий 123 порт.

ntpdate -u pool.ntp.org

Служба ntp не запускается после загрузки сервера

Если ntp не стартует после загрузки сервера, то связано это может быть в первую очередь с тем, что не отключена служба timesyncd. Отключите ее и проверьте еще раз:

sudo timedatectl set-ntp no

Ubuntu меняет время и часовой пояс в bios

Убунта имеет дурную привычку при синхронизации времени устанавливать в bios часовой пояс UTC. В общем случае это не доставляет проблем, но если у вас установлена параллельно еще какая-то система на компьютере, то это может создавать проблемы. Чтобы Ubuntu не трогала часы в bios, необходимо выполнить следующую команду:

sudo timedatectl set-local-rtc 1

Система Тима Ферриса

Кто придумал: Тимоти Феррис, эксперт по продуктивности.

В чём заключается: в основе системы лежат два правила. Первое правило — это принцип Парето, согласно которому 80% дел можно сделать за 20% времени. Второе правило — работа заполняет всё отведённое на неё время. Также это правило известно как закон Паркинсона.

Исходя из этих правил, Тим Феррис делает вывод, что нужно не уделять работе больше времени, а максимально на ней концентрироваться. Рабочий период должен составлять около 20%, но в это время ваши отдача и концентрация должны быть максимальны — и на важных задачах. Оставшееся время можно потратить на простые рутинные дела и отдых.

Кому подходит: людям с гибким рабочим графиком, которые могут сами планировать своё время; людям творческих профессий и фрилансерам. Автор считает свою систему универсальной, но наёмному работнику сложно её применить, если его рабочий день строго регламентирован. Однако можно попробовать провести так выходные — например, чтобы наконец сдвинулись с мёртвой точки ваши личные проекты.

3 ответа

Лучший ответ

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

Я лично создаю один глобальный объект верхнего уровня и подвешиваю все остальные глобальные объекты к этому одному объекту.

Некоторые другие проблемы с глобалами:

  1. Если у вас есть какой-либо асинхронный код, который изменяет глобальные переменные, или код, управляемый таймером, который изменяет глобальные переменные, и одновременно могут выполняться несколько асинхронных операций, несколько асинхронных операций могут наступать друг на друга посредством модификации одних и тех же глобальных переменных.
  2. Глобальные переменные часто не объявляются вблизи точки использования, поэтому чтение кода может быть более сложным.
  3. Глобальные переменные обычно не отображаются автоматически в отладчике (как локальные переменные), что делает отладку немного менее удобной.
  4. IE автоматически определяет группу глобальных переменных на основе некоторых имен в DOM, которые могут конфликтовать с вашими глобальными переменными, даже если вы этого не понимаете.
  5. Простое пропускание ключевого слова «var» в локальной переменной делает его глобальной переменной и может привести к путанице в коде, если это имя уже используется в качестве предполагаемой глобальной переменной. Я видел, как это происходило с конструкцией раньше. Может быть трудно отследить, что не так.
  6. Глобальные переменные сохраняются на протяжении всего сценария. Если кто-то использует глобальную переменную для хранения ссылки на объект для чего-то, что не должно существовать в течение всего срока действия сценария, это может привести к тому, что сценарий будет использовать больше памяти, чем в противном случае.
  7. Глобальные переменные в браузере существуют в области видимости объекта , поэтому они могут конфликтовать не только с другими глобальными переменными, но и с чем-либо еще в объекте окна.

7

jfriend00
9 Авг 2011 в 01:51

Вы не должны использовать глобальные переменные в javascript из-за возможных конфликтов с другими скриптами. Например, вы пишете плагин jQuery. Ваши глобальные переменные могут перезаписывать глобальные переменные из другого скрипта.

Таким образом, чтобы свести к минимуму эту возможность перезаписи, вы должны использовать только одну глобальную переменную. Если вы используете jQuery, вы не должны использовать глобальные переменные вообще. Вы можете расширить глобальный объект $. Например:

Если вы используете чистый JavaScript, чем вы должны использовать проблему пространства имен. Создайте только одну глобальную переменную для вашего приложения. Все остальные переменные будут только свойствами этой глобальной переменной. Например:

UPD: помните, что вы должны объявлять переменные с . Если объявленная переменная не будет глобальной. Ошибки, вызванные забыванием ключевого слова , трудно уловить

Larry Cinnabar
9 Авг 2011 в 00:09

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

2

Travis
8 Авг 2011 в 23:48

Какие часы бывают в Linux

Немного теории. В любом компьютере есть два вида часов. Одни аппаратные (ЧРВ — часы реального времени или RTC — real time clock), которые работают даже при выключенном блоке питания, на это у них есть батарейка на материнской плате. Другие программные, то есть часы операционной системы. Показания этих часов могут различаться. При этом программные часы опираются на показания аппаратных при старте операционной системы. А в дальнейшем могут синхронизироваться через интернет с эталонными и корректировать ход аппаратных.
В большинстве случаев если компьютер работает под управлением операционной системой Windows показания аппаратных и программных часов совпадают. В Linux же чаще всего аппаратные часы настраивают по гринвичу (времени нулевого меридиана), а программные по необходимому смещению для часового пояса где расположен сервер.
Абсолютное большинство программ (приложений и сервисов) в своей работе опираются на показания системных (программных) часов.

«Хронометраж»

Кто придумал: Глеб Архангельский, автор книг по тайм-менеджменту, основатель компании «Организация времени».

В чём заключается

Первый этап. На первом этапе хронометража ваша задача — узнать, на что же тратится ваше время. Для этого раз в 1-2 часа записываете всё, что делаете и сколько времени на это тратите. Автор рекомендует делать записи в тетрадке или блокноте, чтобы не быть привязанным к компьютеру. Дела, которые занимают меньше 2-3 минут, можно не записывать.

Первый этап длится несколько недель, возможно пару месяцев

Важно, чтобы за это время у вас сложилась полная картина, на что тратится ваше время

В это время вы не предпринимаете никаких активных действий. Сейчас что-то кардинально поменять всё равно не выйдет, так что постарайтесь абстрагироваться и посмотреть на картину со стороны.

Второй этап. Теперь в дневнике нужно также отмечать, насколько эффективно вы потратили какой-либо отрезок времени. Например:

  • время потрачено эффективно;
  • время потрачено с пользой, но не оптимально;
  • бесполезная трата времени — и так далее.

Теперь, ориентируясь на эти оценки, действуйте: постарайтесь увеличить промежутки, когда время тратится эффективно, и сократить пустые временные траты.

Теперь вы научитесь автоматически, без записи и анализа оценивать, тратите ли время с пользой или впустую — и корректировать своё поведение.

Кому подходит: тем, кто под вечер осознаёт, что ничего не успел, и не понимает, на что ушло время.

Синтаксис команды date

Программа может выполнятся от имени обычного пользователя. Стандартный синтаксис команды (квадратные скобки обозначают необязательное наличие):

date …

Ниже представлена таблица с часто применяемыми опциями для date.

Опция Длинный вариант Значение
-d STRING —date=STRING Вывод даты по указанной строке (например ‘yesterday’, ‘tomorrow’, ‘last monday’).
-I —iso-8601 Вывод даты в формате ISO 8601. FMT по умолчанию содержит ‘date’. Также может содержать ‘hourse’, ‘minutes’, ‘seconds’, ‘ns’ для отображения соответствующих значений и часовой пояс относительно UTC рядом с датой.
 —rfc-3339=FMT Вывод даты в формате RFC 3339. FMT по умолчанию содержит ‘date’. Также может содержать ‘seconds’ и ‘ns’ для отображения секунд или наносекунд.
 -r FILE —reference=FILE Вывод даты последней модификации указанного файла в формате по умолчанию.
-u —utc Вывод UTC-даты

Аргумент ФОРМАТ отвечает за форматирование вывода даты. Для его указания необходимо поставить знак «+» и написать нужную маску. Наиболее популярные форматы:

Формат Значение
%% Знак процента
%a День недели текущей локали в короткой форме («Чтв»)
%A День недели текущей локали в длинной форме («Четверг»)
%b Месяц года текущей локали в короткой форме в родительном падеже («янв»)
%B Месяц года текущей локали в длинной форме в родительном падеже («января»)
%c Дата и время текущей локали без указания часового пояса
Первые две цифры текущего года
%d Числовой день месяца с ведущим нулём
%D Дата в формате %m/%d/%y
%e День месяца; аналог %_d
%F Дата в формате %Y-%m-%d
%h Аналог %b
%H Часы (00..23)
%I Часы (01..12)
%j День года (001..366)
%m Месяц (01..12)
%M Минуты (00..59)
%n Новая строка
%q Квартал года
%S Секунды (00..59)
%t Знак табуляции
%T Время в формате %H:%M:%S
%u Числовой день недели; 1 — понедельник
%x Дата в локальном формате
%X Время в локальном формате
%Z Аббревиатура временной зоны

Синхронизация системного времени с RTC[править]

Linux kernelправить

При наличии синхронизации с NTP-сервером ядро каждые 11 минут обновляет время в RTC. Начиная с 3.10, из ядра выпилили код, который пытался обновлять в RTC только минуты и секунды, чтобы обновление работало независимо от часового пояса (но в этом случае не могло быть исправлено расхождение более чем на 15 минут). В результате, при использовании синхронизаторов, умеющих сообщать ядру о наличии синхронизации, ядро получило возможность выставить значение RTC в UTC в соответствии с текущим значением времени, что внесло некоторую путаницу.

Проверить, что функция синхронизации может быть активирована, можно посредством команды

zgrep "HCTOSYS\|SYSTOHC" /proc/config.gz

пакет hwclockправить

При запуске однократно синхронизирует RTC с системными часами, либо наоборот. В зависимости от параметров в RTC может быть установлено время в UTC, либо локальное. В момент исполнения hwclock создаёт файл /etc/adjtime, в котором записано отклонение RTC от системного времени и какое время (локальное, либо UTC) записано в RTC. При загрузке системное время выставляется относительно RTC по данными из adjtime. Несоответствие значения временной зоны в RTC и в файле adjtime (UTC/LOCAL) приводит к сдвигу системного времени при загрузке. В некоторых случаях (например, при использовании ) можно просто обнулить содержимое /etc/adjtime после использования ( >/etc/adjtime ).

другие ОСправить

Другие ОС тоже могут корректировать значение времени в RTC. Если на компьютере установлено более одной ОС, необходимо производить настройки таким образом, чтобы все ОС корректировали время в RTC одинаковым образом.

Настройка отчетов

В графе Reports можно взглянуть на автоматически сгенерированные отчеты о проделанной работе. Пользователям Jira доступны 4 вида отчетов. 

Burnup report

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

Sprint burndown chart

График, показывающий, какой еще объем работы необходимо выполнить команде, чтобы продвинуться к завершению текущего спринта. Используется для оценки индивидуальной и общей производительности, а также для приблизительной оценки сроков реализации установленных планов.

Velocity report

Используется для отображения потенциальной производительности команды в будущем. То есть на основе уже завершенных спринтов Jira пытается предугадать, как много задач удастся выполнить разработчикам в ходе следующего «забега».

Cumulative flow diagram

Показывает, как менялся статус активных задач с течением времени. В каких колонках созданные issues задерживаются дольше всего. Используется для поиска так называемых бутылочных горлышек – проблемных этапов работы, на которых резко падает производительность всей команды.

Как создать задачу в Jira?

Научиться создавать Issues – понять, как работать с Jira в целом. Создать новую задачу в Jira можно двумя путями:

  • Кликнув по кнопке Create в верхней панели управления.

  • Кликнув по кнопке Create issue в нужной колонке канбан-доски.

В первом случае нужно будет выбрать проект, в котором необходимо создать задачу. 

Во втором – указать название задачи и прописать дополнительные атрибуты. 

Уже после этого можно кликать по кнопке Create, и новая issue автоматически появится в списке и на выбранной доске. А если поставить галочку напротив Create another, то тут же появится окно для добавления еще одной задачи.

Атрибуты задач

Создавая issue, можно указать для нее ряд атрибутов:

  • Summary. Краткое описание текущей задачи. Буквально в одно предложение.

  • Description. Полноценное описание, если таковое требуется. 

  • Assignee. Член команды, которому нужно делегировать создаваемую задачу. 

  • Labels. Что-то вроде тегов для более удобной сортировки задач по другим признакам, не входящим в список типов. 

  • Fix version. К какой версии относится создаваемая issue.

  • Story point estimate. Потенциальные трудозатраты, требующиеся на добавление новой функции или исправление бага.

  • Reporter. Пользователь, который будет отчитываться за выполнение задачи.

  • Attachment. Файл, прикрепленный к задаче. Это может быть что угодно: аудио, картинка, документ docx и т.п.

  • Linked issues. То, с чем связаны создаваемые задачи (другие задачи/проекты).

Время и дата в Ubuntu Server

Как я уже сказал во введении, следить за системным временем в ubuntu server нужно в обязательном порядке, как и в любом другом сервере. Начальные настройки вы делаете еще во время установки системы. Далее вам может понадобиться либо изменение часового пояса, либо более точная настройка и синхронизация часов.

Кстати, если вам интересно узнать, почему я лично использую именно ubuntu server, а не какой-то другой linux дистрибутив, то читайте мой обзор и сравнение ubuntu с другими системами.

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

  1. При просмотре логов или разборе инцидентов придется сначала переводить время в свой часовой пояс или формат, чтобы адекватно разобраться в ситуации.
  2. Если у вас настроена какая-то интеграция с доменной структурой Windows, расхождение по времени может приводить к проблемам.
  3. При использовании cron и автоматических заданий для выполнения, неправильное время на сервере может удивить вас тем, что ваши задачи будут выполнены не тогда, когда вы этого ожидаете.
  4. Если на сервере работает web сайт или почтовый сервис, время публикации постов или отправления писем будет неправильным, что создаст неудобство пользователям.

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

Утилита date

Посмотреть время в командной строке Ubuntu можно с помощью команды date.

date

В данном случае вы видите следующую информацию:

Формат вывода времени утилитой date в Ubuntu
Fri День недели, пятница
26 Число месяца
Mar Месяц, март
2021 Год
02:01:59 Время в формате час:минута:секунда
PM Время суток в 12-ти часовом формате, PM — после полудня
UTC Часовой пояс

Для того, чтобы посмотреть время в 24-х часовом формате в консоли ubuntu, можно использовать дополнительный ключ к команде, добавив туда еще и саму дату:

date +"%H:%M %d/%m/%Y"
14:09 26/03/2021

Таким образом, с помощью параметров форматирования, вы можете выбирать любой формат времени для отображения. Традиционно, командная строка linux позволяет очень гибко выполнять различные действия с помощью своих утилит. Например, вы можете посмотреть не только время и дату, но и вывести в консоль номер дня недели, добавив дополнительный ключ %j:

date +"%H:%M %d/%m/%Y %j"
14:13 26/03/2021 085

Узнать время сервера в unix формате можно вот так:

date '+%s'
1616768183

Если у вас часовой пояс отличный от UTC, а вы хотите увидеть время именно в этом часовой поясе, то воспользуйтесь следующим ключом команды:

date --utc

Очень удобно использовать утилиту date с различными параметрами в скриптах, чтобы получать время в удобном для вас формате. Например, когда вы используете время в названиях файлов бэкапов при их создании. Вот несколько примеров наиболее часто используемых форматов отображения даты и времени:

date +%Y-%m-%d
2021-03-26
date +%H:%M:%S
14:36:35
date +%Y-%m-%d_%H:%M:%S
2021-03-26_14:36:42

Утилита timedatectl

В составе systemd есть своя утилита для просмотра и настройки времени через консоль — timedatectl. Далее пример с ее участием для просмотра системного времени сервера ubuntu.

timedatectl
Local time Локальное время данного сервера
Universal time Время в часовом поясе UTC
RTC time Время на аппаратных часах
Time zone Ваш часовой пояс

С просмотром в консоли текущего времени сервера разобрались, переходим к его настройке.

Настройка клиента Linux

Для клиентов можно выбрать 2 стратегии настройки — с помощью ntp или утилиты ntpdate.

NTP

Устанавливаем ntp:

Ubuntu / Debian:

apt-get install ntp

CentOS / Red Hat:

yum install ntp

В настройка /etc/ntp.conf в качестве сервера оставляем только наш локальный сервер, например:

server 192.168.0.15

Остальные pool и server удаляем или комментируем.

Перезапускаем NTP:

systemctl restart ntp || service restart ntp

ntpdate

Утилита командной строки выполняет разовую синхронизацию. Чтобы автоматизировать процесс, добавляем задание в cron:

crontab -e

0 0 * * * /usr/sbin/ntpdate 192.168.0.15

* в данном примере задание будет выполняться раз в день в 00:00. /usr/sbin/ntpdate — полный путь расположения утилиты, в разных системах может быть разным — проверить стоит командой which ntpdate.

Какое время бывает в Linux?

Для поддержания времени имеется в Linux есть команда date, и у неё есть множество других замечательных возможностей, о каких владельцы UNIX-систем могут и не догадываться. Серверные и системные часы должны указывать верное время. Время от времени часы на компьютере могут сбиваться по различным причинам, время сможет быть установлено изначально неправильно или неправильно выбран часовой пояс.

Немного теории. В любом компьютере есть два вида часов. Одни аппаратные (ЧРВ — часы настоящего времени или RTC — real time clock), которые работают даже при выключенном блоке кормления, на это у них есть батарейка на материнской плате. Другие программные, то есть часы (прибор для определения текущего времени суток и измерения продолжительности временных интервалов в единицах, меньших, чем одни сутки) операционной системы. Сведения этих часов могут различаться. При этом программные часы опираются на показания аппаратных при старте операторной системы. А в дальнейшем могут синхронизироваться через интернет с эталонными и корректировать ход аппаратных.

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

Как работает время в Linux?

Операционная система Linux хранит и обрабатывает системное время в специальном Unix формате — количество секунд прошедших с полуночи первого января 1970 года. Эта дата считается началом эпохи Unix. И используется не ваше локальное время, а время по гринвичскому меридиану.

Для преобразования времени по Гринвичу в региональное время используется часовой пояс. Это преобразование выполняется для каждого пользователя. Это необходимо, чтобы каждый пользователь мог настроить для себя правильное по его временной зоне время. Такое поведение просто необходимо на серверах, когда на одной машине могут работать люди из разных частей мира.

По умолчанию в системе может быть установлен неправильный часовой пояс, это приведет к путанице в логах событий, да и другим трудностям. Но все это легко исправить. Дальше мы рассмотрим несколько способов изменить часовой пояс Linux.

Установка времени через терминал

Кроме графического интерфейса, у вас есть возможность делать все необходимые действия через терминал. Для этого есть утилита date. Сначала смотрим текущее время:

У утилиты есть множество опций отображения и настроек, но мы не будем их рассматривать. Есть еще одна команда, которая позволяет посмотреть системное время linux:

Чтобы установить время можно использовать ту же команду date. Для этого ей нужно передать строку со временем и датой, например:

В качестве строки можно брать ту, которую возвращает команда date без параметров, только она должна быть на английском, поэтому сразу смотрим:

Затем меняем:

Если у вас включена коррекция даты через интернет, то ее нужно отключить перед этим, потому что вы даже заметить изменений не успеете, как сервер времени linux установит правильное время. Можно сократить эту строку:

Это даст тот же результат. Еще один вариант — указать формат данных, которые вы собираетесь передавать с помощью модификаторов, например, изменить время linux:

Здесь формат очень прост — часы:минуты:секунды. Можно давать время в 12 часовом формате, для этого добавьте модификатор %p:

Вы изменяете текущее время, но аппаратное системное время linux не изменяется, чтобы сохранить изменения используйте команду:

Еще один новый инструмент от systemd для управления временем — timedatectl. С помощью него можно выполнить те же операции, сначала смотрим доступную информацию о времени:

Текущее системное время отображается в строке Local Time. Чтобы изменить дату, используйте опцию -set-time. Синтаксис передаваемого ей параметра такой: ГГГГ-ММ-ДД ЧЧ:ММ:СС. Думаю тут понятно и без комментариев. Например:

Можно задать только время, тогда нужно использовать синтаксис времени ЧЧ:ММ:СС, например:

Еще раз говорю, что если включена синхронизация по сети, то вы не сможете изменить время. Но с помощью timedatectl ее можно отключить:

Или включить обратно:

C помощью этой же команды можно не только установить время linux, но и настроить часовой пояс, для этого используйте опцию set-timezone:

Вы можете посмотреть список доступных часовых поясов командой:

Видео о настройке времени с помощью timedatectl:

Настройка сервера времени ntp

Со временем часы могут убегать или отставать, поэтому время от времени их нужно синхронизировать с эталонными. Для этого в CentOS используется демон ntpd.

Установим демон ntpd если его нет в системе:

# yum install ntp

Однократно синхронизируем время:

# ntpdate pool.ntp.org

Если получили что-то вроде the NTP socket is in use, exiting — значит ntpd демон уже запущен. В этом случае остановим его:

# service stop ntpd

Настраиваем работу ЧРВ в BIOS на время по UTC:

# hwclock --systohc --utc

Этой командой мы присвоили значение времени аппаратных часов равным системному времени. Как вы помните, системные часы мы синхронизировали командами выше.

Проверим содержимое файла /etc/sysconfig/clock чтобы система после загрузки правильно выставляла местное время. Для Москвы он должен содержать следующее:

ZONE="Europe/Moscow"
UTC=true
ARC=false
# chkconfig ntpd on

Запускаем демон синхронизации времени:

# service ntpd start

Проверяем системное время командой:

# date

Оно должно совпадать с реальным.

Проверим, синхронизируется ли системное время с серверами эталонного времени (ntp server) и все ли там в порядке командой ntpq -p:

# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 test.danzuck.ch 162.23.41.56     2 u    1   64    1   12.280  -23.298   0.031
 fw.ams.nl.alexs 82.197.221.30    4 u    2   64    1    2.086  -19.002   0.000
 ntp0.mediamatic 193.0.0.229      2 u    1   64    1    0.998  -19.938   0.000
 elara.mysnip.de .INIT.          16 u    -   64    0    0.000    0.000   0.000

Демон ntpd включает в ядре Linux режим «11 minute mode». В этом режиме каждые 11 минут синхронизируются системные и аппаратные часы. По-умолчанию он (режим «11 minute mode») выключен и включается только когда какой-то сервис попросит включить этот режим. Демон ntpd как раз его и (режим «11 minute mode») включает. Так что дополнительно синхронизировать аппаратные часы по значению системных нет необходимости.

P.S. Теперь системные и аппаратные часы вашего сервера будут автоматически синхронизироваться с эталонными серверами и всегда показывать точное время.

Получить список доступных часовых поясов

Утилита tzselect

Перед тем, как устанавливать часовой пояс, нужно понять, какое значение можно установить. Для этого можно воспользоваться утилитой tzselect.

После запуска утилита tzselect отображает список географических областей. Вы должны ввести номер области и нажать Enter. Затем появится список стран. Аналогично, нужно ввести номер страны. Появится список городов. Вводим номер города. В результате вы сможете увидеть название вашей временной зоны.

Утилита timedatectl

Утилита timedatectl поддерживает опцию list-timezones. Выполнив следующую команду можно просмотреть список всех доступных временных зон:

Можно воспользоваться grep и ограничить область поиска. Например, выведем список временных зон только для Европы:

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: