This is an old revision of the document!
Table of Contents
Cron jobs ffp script
Supposingly you already know what cron is, here is how you enable cronjobs on your NAS. Below are two ffp scripts, one for enabling the service, and the other for cronjobs.
/ffp/start/crond.sh - The service
#!/ffp/bin/sh
# PROVIDE: crond
# REQUIRE: LOGIN
. /ffp/etc/ffp.subr
name="crond"
start_cmd="crond_start"
stop_cmd="crond_stop"
status_cmd="crond_status"
crond_start()
{
cronfile=/var/run/crond.pid
#get the pid, if it exists
if [ ! -f $cronfile ];then
crond -b -L /mnt/HD_a2/logs/cron.log
return
fi
thispid=`cat $cronfile`
if [ ! -d /proc/$thispid ];then
crond -b -L /mnt/HD_a2/logs/cron.log
return
else
echo "crond is already running"
fi
}
crond_stop()
{
cronfile=/var/run/crond.pid
#get the pid, if it exists
if [ ! -f $cronfile ];then
echo "crond is not running"
return
fi
thispid=`cat $cronfile`
if [ ! -d /proc/$thispid ];then
echo "crond is not running"
else
kill -9 $thispid
fi
}
crond_status()
{
cronfile=/var/run/crond.pid
#get the pid, if it exists
if [ ! -f $cronfile ];then
echo "crond is not running"
return
fi
thispid=`cat $cronfile`
if [ ! -d /proc/$thispid ];then
echo "crond is not running"
else
echo "crond is running normally"
fi
}
run_rc_command "$1"
/ffp/start/cronjobs.sh - Jobs
#!/ffp/bin/sh
# PROVIDE: cronjobs
# REQUIRE: LOGIN
. /ffp/etc/ffp.subr
name="cronjobs"
start_cmd="cronjobs_start"
stop_cmd="cronjobs_stop"
status_cmd="cronjobs_status"
cronjobs_start()
{
# Report jobs log to an email address
echo "EMAIL=" > /tmp/cronjobs
# Job 1 - Example that will download latest set of ffp packages automatically
echo "0 0 * * * /ffp/bin/rsync -av inreto.de::dns323/fun-plug/0.5/packages /mnt/HD_a2 > /mnt/HD_a2/rsync_ffp_packages.log" >>/tmp/cronjobs
# Import jobs to service
crontab /tmp/cronjobs
echo "setting the following cron jobs:"
cat /tmp/cronjobs
rm /tmp/cronjobs
}
cronjobs_stop(){
echo "" >>/tmp/cronjobs
crontab /tmp/cronjobs
echo "removing all cron jobs"
rm /tmp/cronjobs
}
cronjobs_status()
{
echo "status not available"
}
run_rc_command "$1"