概 要 |
先回、CRONを使い、DATEコマンドを繰り返し実行する確認をしました。今回はシェルスクリプトという複数コマンドや変数を用いて作成するプログラムを繰り返し実行する方法を確認します。
シェルスクリプトの繰り返し実行 |
簡単なシェルスクリプトファイルを作成し、CRONで繰り返し実行してみます。
(1)テスト用 “/test/shel01.sh” 作成
確認用ファイルを格納する “/test” ディレクトリを作成し、その下に“shel01.sh”ファイルを新規作成し、ファイルへのアクセス権限を変更します。
cd / | ルートディレクトリ移動 | |
mkdir test | ディレクトリ作成 | |
cd test | “test” ディレクトリ移動 | |
touch shel01.sh | シエルスクリプトファイル作成 | |
chmod 775 shel01.sh | ファイルアクセス権限変更 |
(2)シェルスクリプトファイルの編集
シェルスクリプトファイルを編集します。
先ずファイルをエディターで開きます。
vim /test/shel01.sh | エディターでファイルを開く |
次の様にシェルスクリプトファイルを編集・保存します。
3行目のスクリプト “/bin/date >> /test/datefile” は、書き込み先ディレクトリは異なりますが、先回 “cron” の確認で実行したコマンドと同じです。先回は直接コマンドを指定・実行しましたが、今回はシェルスクリプトファイルを呼び出して、その中のコマンドとして実行します。
1行目の “#!/bin/sh” は、Shebangというものとのことです。このファイルのインタプリタを指定しています。
(3)crontabファイル編集
次に “crontab -e” コマンドでファイル編集を開始します。
crontab -e | crontabファイル編集 |
次の様に“crontabファイル” を編集します。2行目が作成したシェルスクリプトファイルを指定し実行する為のものです。1分間隔でシエルスクリプトファイルを呼び出して実行します。
1行目の’ MAIL TO=”” ‘ は、“新しいメールが /var/spool/mail/root にあります” というアラームが出る様になったので、原因はよくわかりませんが、とりあえず対策としてネットで調べた内容を実施しています。とりあえずアラームは出なくなりました。
(4)結果確認
最後に “tail -f” コマンドで書き込み結果を監視します。
tail -f /test/datefile | ファイル書込内容の監視 |
1分間隔で時刻が書き込まれていることが確認出来ました。
まとめ |
シェルスクリプトファイルを作成し、指定時間に実行する処理について確認しました。シェルスクリプトの書き方についてはもう少し勉強して行きたいと思います。