As a bit of a Linux noob, I’ve been keeping an eye on the logs for my Raspberry Pi to ensure I haven’t set anything up wrong. I noticed that quite frequently my syslog contains this sort of junk:
Apr 2 01:23:51 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Sat Apr 2 01:24:21 2016 [try http://www.rsyslog.com/e/2007 ]
Apr 2 01:29:41 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Sat Apr 2 01:30:11 2016 [try http://www.rsyslog.com/e/2007 ]
Apr 2 01:31:35 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Sat Apr 2 01:32:05 2016 [try http://www.rsyslog.com/e/2007 ]
Apr 2 01:35:52 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Sat Apr 2 01:36:22 2016 [try http://www.rsyslog.com/e/2007 ]
Apr 2 01:39:06 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Sat Apr 2 01:40:06 2016 [try http://www.rsyslog.com/e/2007 ]
Apr 2 01:44:39 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Sat Apr 2 01:45:39 2016 [try http://www.rsyslog.com/e/2007 ]
Apr 2 01:53:08 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Sat Apr 2 01:54:08 2016 [try http://www.rsyslog.com/e/2007 ]
Apr 2 01:59:41 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Sat Apr 2 02:00:41 2016 [try http://www.rsyslog.com/e/2007 ]
As well as being annoying when scanning through logs, it also doesn’t really help the life of the SD card on a Pi if things are churning data out needlessly. It turns out to be caused by rsyslog trying to write to /dev/xconsole and for whatever reason, failing. The rsyslog.conf
file in Raspbian Jessie contains this at the end:
# The named pipe /dev/xconsole is for the `xconsole' utility. To use it,
# you must invoke `xconsole' with the `-file' option:
#
# $ xconsole -file /dev/xconsole [...]
#
# NOTE: adjust the list below, or you'll go crazy if you have a reasonably
# busy site..
#
daemon.*;mail.*;\
news.err;\
*.=debug;*.=info;\
*.=notice;*.=warn |/dev/xconsole
The fix is simple enough - just remove those last lines. I’ve been trying to script all of the setup of my Pi so I can easily rebuild it if (when) I trash things or to try things out on a new SD card.
After much Googling, I settled on this command to do it for me:
sudo sed -i '/# The named pipe \/dev\/xconsole/,$d' /etc/rsyslog.conf
This says match all lines starting with the one that matches # The named pipe /dev/console
and ending with the last line ($
) and delete them. If you have any additional lines at the end of your file you’ll need to tweak this, but that seems unlikely (most things are likely to write into /etc/rsyslog.d/
. I don’t know if you need to restart rsyslog after this; I rebooted just for fun.
Hope this is helpful. If you have any problems, leave a comment. Bear in mind I’m a Linux noob and what’s written above might not be the best way to achieve this and I take no responsibility if anything breaks :)