Кто-то попросил меня обновить время на 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
регулярно против сервера времени.