The simplest way to monitor free disk space on Linux serwer, just place it in crontab:
0 8 * * * df -h | awk '/^\// && $5 > 95 { print "missing space", $0 }'
and ensure e-mail to this user is forwarded to you then you will see e-mail when occupied space is higher than 95% on any disk.
Pretty simple.
Current project I’m working on benefits from automated test suite run on few Linux-based devices. Tests are running 24×7, but sometimes device hangs (reason is still under investigation) and SSH access is blocked then.
In order to track the problem I redirected syslog (busybox-based, BTW) via network and added local automatic monitoring service that will show me when a part of my test installation go down.
(more…)
Recently I was asked to help with fixing branch that had:
- invalid name (wrong artifact number)
- invalid comment inside (also based on wrong artifact number)
it was a mistake and programmer wanted to preserve changes done on branch, but using different name.
The solution I proposed was to:
(more…)
For delivering e-mail locally I’m using fetchmail (POP3 based) + local SMTP daemon (for outgoing e-mail). I’d like to see when new e-mail arrives to my desk. It’s pretty easy if you connect classic procmail with modern notification tools based on local message buses.
For GNOME command line interface to internal message is notify send. I’m adding call inside my ~/.procmailrc (after filtering out spam e-mail of course):
:0hc
| grep "^From:\|^Subject:" > /tmp/mail.notify-send; DISPLAY=:0.0 notify-send "`cat /tmp/mail.notify-send`"
The result looks like this:

My current project I’m working on is based on embedded systems and QT platform. Of course the very first task in the project is to implement some kind of testing method to get feedback on software quality. The test system is composed from few components:
- Automatic crash reports collected on central server
- Automatic random test runners connected to always-running (24/7) devices to catch crashes
First channel collects all crashes (from human and automated tests), second channel is performed fully automatically. Second channel allows to measure MMTF (mean time between failures) and analyse changes in time, probably helping with estimating current software quality state.
Second testing channel requires automatic test driver to inject random UI events (key presses, remote in my case). I used QT message queue for that purpose:
(more…)