シェルスクリプト(cron)
大変!久しく書いてなかったようです!!
ちゃんと書かねば・・・と思いつつ。
cronとは
Linuxの内蔵時計によって、指定された時間に指定のコマンドを実行するためのシステム
実際に使用するには、crontabコマンドかatコマンドで時間とコマンドを設定する。
crontabは定期的に実行させたい場合、 atは1回だけ実行させたい場合に使用する。
実行準備
crond が起動していなくてはいけない。
と思ったら、そもそも入ってなかった
# yum -y install vixie-cron
crond の状態を確認
# /etc/init.d/crond status
実行していたら、crond (pid XXXX) を実行中... と表示される
見てみたら、停止してたので起動
# /etc/init.d/croud start
他の説明は、crontabの記述とかぶるので、割愛
注意
時刻をcronで
例としてやってみた。
※ntpdをdaemonとして起動している場合には、使えない
準備
# which ntpdate パスを調べる # which hwclock パスを調べる # cd /root # mkdir cron # cd cron
ファイル編集
# vi /root/cron/ntp.sh #!/bin/sh /usr/sbin/ntpdate ntp.nc.u-tokyo.ac.jp /usr/sbin/hwclock --systohc # chmod u+x ntp.sh
権限も変更する
cron登録と確認
# crontab -e # 0 0 * * * /root/cron/ntp.sh > dev/null 2>&1 # crontab -l
と登録したものの、動いてるかわかんなかったので、
ログがでるようにしてテスト。(実際は毎分にして試しました)
# 0 0 * * * /root/cron/ntp.sh >> /var/log/ntp/cron.log 2>&1
無事該当ファイルに書き込まれてました!
というわけで、時刻についてそもそも詳しく書いてなかったので、
次回書く。