私はMRTGを使ってNagiosでルーターの帯域幅使用量を監視しています。そのため、このコマンドを定期的に実行しないと
env LANG=C /usr/bin/mrtg /etc/mrtg/mymrtg.cfg
Nagios GUIでこの警告が表示されます
MRTG data has expired (11 minutes old)
問題は、どうすればそれを自動化できるかということです。
答え1
cron を使用してコマンドの実行を自動化できますmrtg
。システムに という名前のディレクトリがある場合は/etc/cron.d/
、そこに次の内容の新しい 1 行ファイルを作成します。
*/5 * * * * root LANG=C /usr/bin/mrtg /etc/mrtg/mymrtg.cfg >/dev/null 2>&1
LANG=C
これにより、cron は環境内でユーザー root として 5 分ごとにコマンドを実行します。
システムに がない場合は/etc/cron.d/
、上記の crontab 行を別の場所、たとえば root ユーザーの crontab に挿入する必要があります。これは、crontab -e
root として実行することで実行できます。その場合、crontab 行ではユーザー名フィールド ( root
) を省略する必要がありますが、それ以外は以前と同じです。
*/5 * * * * LANG=C /usr/bin/mrtg /etc/mrtg/mymrtg.cfg >/dev/null 2>&1