cronもシェルスクリプトもあまり馴染みがなかったので..
環境
CentOS 7
お題
定期的(毎日0:00)に時間を合わせたい
プロキシ環境下で,ntpを動作させるのが難しかったので,NTPを使わずに時刻を合わせるワンライナー(Proxy環境下でも安心)を参考にさせて頂きました.
1. シェルスクリプトを書く
adjust_date.sh
#!/bin/sh
date -s "$(curl -x proxy.example:10000 -s --head http://www.google.co.jp | grep ^Date | cut -b 7-)"
スクリプトはNTPを使わずに時刻を合わせるワンライナー(Proxy環境下でも安心)を参考にしました.
念のため,プロキシの記述を明示的に書きました
プロキシとそのポート番号は適当に書きましたので適時変更してください
一応cronを使わないで動くか確認してみましょう
確認
$ /root/adjust_date.sh
bash: /root/adjust_date.sh: 許可がありません
おっと.権限を付与するのを忘れてましたね.
権限付与
chmod u+x /root/adjust_date.sh
これで動きます.
2. crontab
crontab -e
crontab
0 0 * * * /root/adjust_date.sh
最小限しか書いていませんので,適時何か追加してください.
ちなみに日付とかの記述方法は
分 時 日 月 曜
です.
今回は 0分 0時 いつでも いつでも いつでも
って感じなので,毎日0:00ですよね
以上です.