レアケースと思われる。一応メモ。
スクリプト
#!/bin/sh sudo ntpdate -u ntp.jst.mfeed.ad.jp
実行エラー
Error resolving ntp.jst.mfeed.ad.jp: Name or service not known (-2) 4 May 19:44:56 ntpdate[1222]: Can't find host ntp.jst.mfeed.ad.jp: Name or service not known (-2) 4 May 19:44:56 ntpdate[1222]: no servers can be used, exiting
分析
180日間、1日1回ほどは実行していたと思うが、初めて出たエラー。
何かしらのタイミングが悪かったのか、サーバーが見つからなかったらしい。再度やり直したらエラーなく実行できた。
(-2)
の数値はエラーコードと思われる。
改善
以下のような改善案が考えられる。
中断
[ $? -ne 0 ] && { echo "エラー; return $?; }
$?
で直前のエラーコードを取得できる。これを利用し、エラー時に処理を中断する。
ループ
sudo ntpdate -u ntp.jst.mfeed.ad.jp while [$? -ne 0]; do sudo ntpdate -u ntp.jst.mfeed.ad.jp done
成功するまで繰り返す。