1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

cronで実行したコマンドの出力内容をsyslogに転送する

Last updated at Posted at 2021-04-09

概要

cronで実行したスクリプトやコマンドの出力内容をsyslogに転送する方法について記載します。
以下のOSで確認を行いました。

# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)

設定方法

crondに-sオプションを指定します。
以下URLより抜粋
https://linux.die.net/man/8/crond

       -s     This option will direct Cron to send the job output to the
              system log using syslog(3).  This is useful if your system
              does not have sendmail(8), installed or if mail is
              disabled.

crondの起動オプションに-sを追加します。

# vi /etc/sysconfig/crond
CRONDARGS=-s

crondをsystemctlで再起動します。

# systemctl restart crond

動作確認

1分毎にdateコマンドを実行するcronジョブを追加します。

# 1分毎にdateコマンドを実行
*/1 * * * * date

ログを確認します。dateコマンドの実行結果が1分毎に出力されます。

# tail -f /var/log/cron
Apr  9 19:33:01 node1 CROND[1379]: (root) CMD (date)
Apr  9 19:33:01 node1 CROND[1376]: (root) CMDOUT (2021年  4月  9日 金曜日 19:33:01 JST)

補足

/var/log/cronにメッセージが出力されない場合は、
rsyslogの以下のような設定が有効になっているか確認します。

# vi /etc/rsyslog.conf

# Log cron stuff
cron.*                                                  /var/log/cron

/etc/sysconfig/crondに指定したオプションはcrondのサービスファイルから読み込まれます。

# vi /usr/lib/systemd/system/crond.service

[Service]
EnvironmentFile=/etc/sysconfig/crond
ExecStart=/usr/sbin/crond -n $CRONDARGS

参考にしたURL

おわりに

cronで実行したスクリプトのログをsyslogで管理したい場合に使っていきたいと思います。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?