Назад | Перейти на главную страницу

Есть ли способ установить дату на сервере с даты с другого сервера?

Кто-то попросил меня обновить время на 4 серверах, которые не подключены к Интернету, и у них нет сервера ntp.

например

/etc/hosts 

146.92.25.3     jollibee  
146.92.25.4     mcdonalds  
146.92.25.5     burgerking  
146.92.25.6     chowking 

Мне проще всего было бы запустить

date -s "25 Jul 2012 14:40:00"

для каждого из 4 серверов.

Я знаю, что они захотят, чтобы я сделал это снова в будущем, и мне сложно установить время вручную. Что я хочу сделать, так это установить время в одном поле, а затем установить время в других окнах в этом поле.

например если я установил время jollibee на правильную дату, я бы запустил

[root@mcdonalds /]# date -s `ssh jollibee 'date +"%d %b %Y %T"'`

и так далее для других моих серверов

Дело в том, что я получаю:

date: too many non-option arguments: 2012 ...
Try `date --help' for more information.

Может ли кто-нибудь сказать мне, что я здесь делаю не так?

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

date -s "`ssh jollibee 'date +"%d %b %Y %T"'`"

Лучшее решение - настроить NTP-серверы на всех четырех серверах, настроив друг друга как восходящие (но без восходящих потоков в Интернете). Вероятно, вы захотите предоставить одному из серверов более высокий уровень, чтобы все остальные синхронизировались с этим.

Другой вариант - настроить дата. Настройте один из серверов для запуска Протокол времени сервер (обычно выполняется с помощью inetd) и настроить cronjob на других серверах для запуска rdate регулярно против сервера времени.