This is an old revision of the document!
Scheduler
crond scans the CRONTAB file every minute and checks every line to determine if the specified time/date information matches the current time/date. If they are equal, the command line specified will be executed.
Enabling cron can be done via web interface via the ADMIN>Services tab.
Toggling this radio button will change the following configuration entry in /etc/xap-livebox.ini
with 1 being enabled and missing or 0 being disabled.
[cron] enable=1
Timezones
To make sure you are running cron in the right timezone you'll need to setup the /etc/TZ file.
# echo GMT0BST-1 >/etc/TZ
If you are on the EAST coast of the US you would use
# echo EST5EDT4 >/etc/TZ
See for more examples http://wiki.openwrt.org/doc/uci/system
crontabs
You create and configure your crontab
entries by using the crontab
command line program. The command “crontab -e” will open the editor VI by default.
# crontab BusyBox v1.12.1 (2011-11-30 14:38:56 EST) multi-call binary Usage: crontab [-c DIR] [-u USER] [-ler]|[FILE] -c Crontab directory -u User -l List crontab -e Edit crontab -r Delete crontab FILE Replace crontab by FILE ('-': stdin)
They will be created and stored in /etc/crontabs
if you wish to back them up.
There are several helper scripts that allow you to send xAP messages.
bscmsg
- will send an xAPBSC.cmd messagealiasmsg
- will send aclass=alias
payload in keeping withxap-googlecal
andxap-twitter
behaviour. This can be in turn processed by an alias Lua plugboard applet.
Both of these scripts are written in Lua and are installed into /usr/bin
on your system, so you can browse the source and use them as starters for your own scripts.
For example aliasmsg
will send this message with %s being substituted for the argument you supply to the script.
xap-header { class=alias } command { text=%s }
A sample crontab might look like. Using bscmsg
we are turning an RF unit On at 7:00am and Off an 7:01am, transposing this to 8am and using the aliasmsg
script we can do a similar thing.
0 7 * * * bscmsg -t dbzoo.livebox.controller:rf.1 -s on 1 7 * * * bscmsg -t dbzoo.livebox.controller:rf.1 -s off 0 8 * * * aliasmsg "rf 1 on" 1 8 * * * aliasmsg "rf 1 off"
Want to wake a machine using Wake-on-LAN? This entry would send a WoL packet to the specified MAC address at 7am Mon-Fri.
0 7 * * 1-5 ether-wake -i br0 3c:d9:2b:5b:67:c2
http://www.cronmaker.com/
A handy tool which can help you form your crontab entries.
The helper scripts can be run from the command line to test that you have got the correct syntax before putting this same command line string into a crontab.
# bscmsg bscmsg:missing required parameter: t Various flags and option types -t (string) xAPBSC Target -s (onoff) xAPBSC State -x xAPBSC Text -l xAPBSC Level #