ほぼ、触ったことがなかったんですが
Windowsのタスクスケジューラのように定期的なコマンド実行をしたくて苦労したので
自分の備忘録もかねて
#環境
CentOS7 (VMwareでの仮想環境)
※GUI有でインストール
#やりたかったこと
Linuxで対応するNICのNWトラフィック量を1時間間隔で調べたい。
1日に1回収集した情報を見やすくするためGREPする。
#準備物
・実行するshellファイル
※デスクトップ等の保存でOK
・crontab用のconfファイル
※/etc/cron.d/へ格納すること
※root権限必須
#実施手順
① Root権限でログインする。
② Shellファイルを作る。
※テキスト等でコードを作成し拡張子を「.sh」にすればOK
③ 任意の場所にshellファイルを格納する。
※デスクトップ等で問題ないですが、crontab用のconfファイルで使用します。
④ CLIを開き以下コマンドを実施する
※shellへ実行権限の付与になります。
cd /root/shellファイルの保存ディレクトリ
chmod a+x ./shellのファイル名
⑤ crontab用のconfファイルを作成する。
※上は毎時0分にtest1.shを実行する。
下は毎日23:30にtest1Grep.shを実行する。
0 */1 * * * root /root/任意の保存場所/test1.sh
30 23 * * * root /root/任意の保存場所/Test1Grep.sh
⑥ /etc/cron.d/を開き
⑤で作成したcrontab用のconfファイルを格納する。
※root権限で実施すること
⑦ 以下のコマンドを入力しcrontabへの保存を行う。
crontab /etc/cron.d/confファイル名
⑧ 以下のコマンドを入力し
設定したcrontabが登録されていることを確認する
crontab -l
⑨ crondのサービスを実行する。
systemctl start crond.service
⑩ 以下コマンドを入力し、サービスの実行を確認する。
systemctl status crond service