Я написал скрипт, который проверяет службу ntp. Он обновляет его, а затем запускает службу.Ошибка при запуске сценария оболочки
Есть три вещи, которые я делаю в приведенном ниже сценарии:
- Проверьте, если служба настроена правильно и что он работает. Затем, только выход из сценария. я ничего не делаю.
- Если служба настроена правильно, просто запустите службу и выйдите из сценария.
- Если услуга не настроена, остановите службу -> настройте сервис-> запуск службы.
Сценарии сценариев-1 и сценарий-3 выполнены выше. Но при тестировании сценария-2, он бросает ошибку ниже:
~ # ш ntpConfigure.sh ntpConfigure.sh: строка 3: NTP_CONF.BAK =/и т.д./ntp.conf.backup: не найдены пЪрд не работает /etc/init.d/ntpd нЕ работает сервер time.myCompany.com /etc/ntp.conf настроен служба настроена уже, начиная НТП службы начиная Ntpd ntpConfigure.sh: линия 77: эхо-сервис успешно запущен: не найдено
Любая идея, почему она бросает эту ошибку? Я проверил все, но мой код выглядит хорошо. Функциональность отлично работает с вышеуказанной ошибкой. Есть идеи?
код:
#VERIFY_NTPQ="/bin/ntpq -p"
NTP_CONF="/etc/ntp.conf"
NTP_CONF.BAK="/etc/ntp.conf.backup"
NTPQ_SERVICE="/etc/init.d/ntpd"
TOUCH="/bin/touch"
GREP="/bin/grep"
CP="/bin/cp"
CHKCONFIG="/bin/chkconfig"
$NTPQ_SERVICE status
if [ $? -eq 0 ]
then
isSERVICE_RUNNING=true
echo "$NTPQ_SERVICE is running"
else
isSERVICE_RUNNING=false
echo "$NTPQ_SERVICE is NOT running"
fi
$TOUCH $NTP_CONF
$GREP "server" $NTP_CONF
if [ $? -eq 0 ]
then
isSERVICE__CONFIGURED=true
echo "$NTP_CONF is configured"
else
isSERVICE__CONFIGURED=false
echo "$NTP_CONF is NOT configured"
fi
if $isSERVICE_RUNNING && $isSERVICE__CONFIGURED
then
echo "ntp service is already configured, nothing to do"
exit 0
elif $isSERVICE__CONFIGURED
then
echo "Service is configured already, starting ntp service"
$NTPQ_SERVICE start
if [ $? -eq 0 ]
then
echo" Service is started successfully"
exit 0
else
echo "Failed to start service"
exit 1
fi
else
echo "$NTP_CONF not configured, Configuring $NTP_CONF"
echo "Stopping ntp service "
$NTPQ_SERVICE stop
echo "Taking backup of $NTP_CONF file to $NTP_CONF.BAK"
$CP $NTP_CONF $NTP_CONF.BAK
echo "Updating $NTP_CONF file with the required configurations"
echo "restrict 127.0.0.1" > $NTP_CONF
echo "restrict default kod nomodify notrap" >> $NTP_CONF
echo "driftfile /etc/ntp.drift" >> $NTP_CONF
echo "server time.myCompany.com" >> $NTP_CONF
if [ $? -eq 0 ]
then
echo "$NTP_CONF is configued properly"
echo "Starting ntp service"
$NTPQ_SERVICE start
if [ $? -eq 0 ]
then
echo "ntp service configured and started successfully"
echo "Configuring ntp service to start at bootup"
$CHKCONFIG ntpd on
exit 0
else
echo "Failed to start ntp service"
exit 1
fi
else
echo "Failed to configure ntp service"
exit 1
fi
fi
'Эхо "'->' Эхо"' – blue
Shell имена переменных могут содержать только алфавитно-цифровые и подчеркивания и не могут начинаться с числа. Переменная, которую вы пытаетесь назначить в строке 3, содержит точку, предотвращающую успешное выполнение задания (и любых будущих ссылок на него). – michaelb958
Спасибо, Майкл за информацию. Я соответственно изменю свой сценарий. –