-1

I would like to add message after every step in crontab, something like:

15 23 * * * sudo ifconfig wlan0 down 2>&1 | logger -t WiFi_Down
15 9 * * * sudo ifconfig wlan0 up 2>&1 | logger -t WiFi_UP

So in syslog should appear only "Wifi_Down" and "WiFi_UP" but it shows all command:

Jan 30 09:42:01 raspberrypi CRON[3709]: (root) CMD (sudo ifconfig wlan0 up 2>&1 logger WiFi_UP)
Ljm Dullaart
  • 4,273
  • 2
  • 14
  • 31
zuku
  • 9
  • 2

2 Answers2

0

The log record you see is generated by cron, not by the commands in your crontab. You can verify this by adding

* * * * * touch /tmp/this

cron is started via systemd and the unit file is /lib/systemd/system/cron.service :

[Unit]
Description=Regular background program processing daemon
Documentation=man:cron(8)

[Service]
EnvironmentFile=-/etc/default/cron
ExecStart=/usr/sbin/cron -f $EXTRA_OPTS
IgnoreSIGPIPE=false
KillMode=process

[Install]
WantedBy=multi-user.target

From this, you see that cron is started with the variable EXTRA_OPTS from the environment file /etc/default/cron as extra options.

In /etc/default/cron, it says:

# For example, to enable LSB name support in /etc/cron.d/, use
# EXTRA_OPTS='-l'  
#
# Or, to log standard messages, plus jobs with exit status != 0:
# EXTRA_OPTS='-L 5'
#
# For quick reference, the currently available log levels are:
#   0   no logging (errors are logged regardless)
#   1   log start of jobs
#   2   log end of jobs
#   4   log jobs with exit status != 0
#   8   log the process identifier of child process (in all logs)
#
#EXTRA_OPTS=""

And from man 8 cron, you will find :

The default is to log the start of all jobs (1).

So, if you do not want that logging, you should set

EXTRA_OPTS=4

(or 0) in /etc/default/cron.

Ljm Dullaart
  • 4,273
  • 2
  • 14
  • 31
0

@Ljm Dullaart OK, I have changed EXTRA_OPS=4 and this is working I have single event in syslog "WiFi_UP" but after that syslog is flooded with events like:

Jan 30 18:30:01 raspberrypi root: WiFi_UP
Jan 30 18:31:01 raspberrypi CRON[15810]: (root) CMD (sudo ifconfig wlan0 up 2>&1 | logger WiFi_UP)
Jan 30 18:31:01 raspberrypi root: WiFi_UP
Jan 30 18:32:01 raspberrypi CRON[15816]: (root) CMD (sudo ifconfig wlan0 up 2>&1 | logger WiFi_UP)
Jan 30 18:32:01 raspberrypi root: WiFi_UP
Jan 30 18:33:01 raspberrypi CRON[15822]: (root) CMD (sudo ifconfig wlan0 up 2>&1 | logger WiFi_UP)
Jan 30 18:33:01 raspberrypi root: WiFi_UP
Jan 30 18:34:01 raspberrypi CRON[15835]: (root) CMD (sudo ifconfig wlan0 up 2>&1 | logger WiFi_UP)
Jan 30 18:34:01 raspberrypi root: WiFi_UP
Jan 30 18:35:02 raspberrypi CRON[15843]: (root) CMD (sudo ifconfig wlan0 up 2>&1 | logger WiFi_UP)
Jan 30 18:35:02 raspberrypi root: WiFi_UP
Jan 30 18:36:01 raspberrypi CRON[15849]: (root) CMD (sudo ifconfig wlan0 up 2>&1 | logger WiFi_UP)
Jan 30 18:36:01 raspberrypi root: WiFi_UP
Jan 30 18:37:01 raspberrypi CRON[15855]: (root) CMD (sudo ifconfig wlan0 up 2>&1 | logger WiFi_UP)
Jan 30 18:37:01 raspberrypi root: WiFi_UP
Jan 30 18:38:01 raspberrypi CRON[15861]: (root) CMD (sudo ifconfig wlan0 up 2>&1 | logger WiFi_UP)`
zuku
  • 9
  • 2