JC's notes
sharing my journey on linux, one note at a time

Search

Leveraging syslog for cron scripts

I have written a bunch of scripts to automate some tasks, like for example to automate dynamic IP registration in a DNS or more commonly for backup purposes.

If you look at those scrits, you will notice that I never neglect the logging piece, and the way I have been doing it so far is through redirection of STDERR and STDOUT to files, prefixing the info with some date tags. I just came to realize there is a much more elegant way to do this using syslog or rsyslog.

Now, in my scripts, the logging is simply done using echo commands in plain form (no prefix of timestamps, etc.) and the tasks are invoqued in crontab as follows :

*/5 * * * *     /usr/local/bin/dyndns.sh 2>&1 | /usr/bin/logger -t dyndns

What this will do is send the STDERR and STDOUT of the cron script in through syslog magic, where one can make extensively use of filters and automated log rotation. The -t dyndns part will tag the message with dyndns (basically a keyword of my choice), to make it easier to spot in the /var/log/syslog or /var/log/message file. But wait, there’s more! It is super easy to have this script use its own log file as well, by simply creating a file /etc/rsyslog.d/00-dyndns.conf with the following content:

:syslogtag, isequal, "dyndns:" /var/log/dyndns.log
& ~

Basically the first line says messages that are tagged with dyndns should be sent to /var/log/dyndns.log, and the second lines says that no more filters should be applied for these lines. Note that if you use a separate log file, you must configure logrotate accordingly.

The full monthy of rules and more rsyslog bonanza can be found on the rsyslog official website.

2 juin 2014 · jc · Posted in linux · Tagged cron, logging, script
← Previous Next →

Articles récents

  • Managing TV overscan on RetroPie (and pretty much any application)
  • VNC plugin for Remmina not found after upgrade
  • Modifying track data in Matroska (mkv) files
  • Splitting a Matroska (mkv) file by chapters
  • Switch buttons on Wacom Graphire on XFCE

Tags