Справочная информация. Я работаю в команде, которая развертывает программное обеспечение на серверах в более чем 30 различных часовых поясах. Каждое местоположение сервера имеет свое собственное окно обслуживания. Наша команда SysAd находится в 5 разных местах. В настоящее время мы используем внутреннюю вики-страницу с таблицей местоположений серверов и ссылками на перевод времени Google, например this . Таким образом, наша внутренняя вики-страница обслуживания windows полна часовых поясов серверов, если они следуют за смещением летнего времени или нет, а затем ссылка конверсии для времени начала и другая ссылка конверсии Google для времени окончания из окно обслуживания. Отслеживание того, какие серверы могут быть исправлены, занимает много времени. Поскольку некоторые серверы находятся в том же часовом поясе, что и другие серверы, но, возможно, не следуют DST или нет, это беспорядок отслеживания. Некоторые разработчики программного обеспечения хранят полную папку закладок со всеми ссылками конверсии, и я хотел отправить им сценарий, который может упростить это.
Цель: я хочу, чтобы скрипт мог сравнивать SysAds текущий часовой пояс для часового пояса различных серверов. В конце я хочу получить эхо-сообщение о том, какой сервер может быть исправлен прямо сейчас, и, в конце концов, я хочу добавить еще логи c, которые будут определять время до следующего окна обслуживания и расположение этих серверов.
Проблема # 1: я новичок в написании сценариев Проблема № 2: Когда я делал то, что считал простым сравнением TZ, я не получал то, что ожидал. Я чувствую, как только я понимаю, почему вывод ниже, как таковой, я думаю, что я могу понять остальную часть лог c. На данном этапе мне не обязательно задавать c часы и минуты. Почему оператор If не выдает «то же самое»?
Требуемый сценарий:
#!/bin/bash
##SysAd Sets his own timezone in the first TZ variable.
export TZ=America/Los_Angeles
TZ1=`date +%::z`
echo $TZ1
##Timezone of Server in location 1
TZ=America/Los_Angeles
TZ2=`date +%::z`
echo $TZ2
if [[ " TZ1 " == " TZ2 " ]]; then
echo "the same"
else
echo "not the same"
вывод:
% ./test.sh
-08:00:00
-08:00:00
not the same
Ожидаемый вывод - они одинаковы. вывод обоих переменных TZ1 и TZ2 "-08: 00: 00"