Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
fcron [2015/06/01 16:12] steve |
fcron [2015/06/01 16:13] steve [fcron Samples] |
||
---|---|---|---|
Line 17: | Line 17: | ||
See ''man 5 fcrontab'' | See ''man 5 fcrontab'' | ||
- | |||
- | <code> | ||
- | # Get our mails every 30 minutes | ||
- | @ 30 getmails -all | ||
- | |||
- | # make some security tests every 48 hours of system up time, | ||
- | # force a mail to be sent to root even if there is no output | ||
- | @mailto(root),forcemail 2d /etc/security/msec/cron-sh/security.sh | ||
- | </code> | ||
- | <code> | ||
- | # use /bin/bash to run commands, ignoring what /etc/passwd says | ||
- | SHELL=/bin/bash | ||
- | |||
- | # mail output to thib, no matter whose fcrontab this is | ||
- | !mailto(thib) | ||
- | |||
- | # define a variable which is equivalent to " Hello thib and paul! " | ||
- | # here the newline characters are escaped by a backslash (\) | ||
- | # and quotes are used to force to keep leading and trailing blanks | ||
- | TEXT= " Hello\ | ||
- | thib and\ | ||
- | paul! " | ||
- | |||
- | # we want to use serial but not bootrun: | ||
- | !serial(true),b(0) | ||
- | |||
- | # run after five minutes of execution the first time, | ||
- | # then run every hour | ||
- | @first(5) 1h echo "Run every hour" | ||
- | |||
- | # run every day | ||
- | @ 1d echo "fcron daily" | ||
- | |||
- | # run once between in the morning and once in the afternoon | ||
- | # if systems is running at any moment of these time intervals | ||
- | %hours * 8-12,14-18 * * * echo "Hey boss, I'm working today!" | ||
- | |||
- | # run once a week during our lunch | ||
- | %weekly * 12-13 echo "I left my system on at least once \ | ||
- | at lunch time this week." | ||
- | |||
- | # run every Sunday and Saturday at 9:05 | ||
- | 5 9 * * sat,sun echo "Good morning Thibault!" | ||
- | |||
- | # run every even days of march at 18:00, except on 16th | ||
- | 0 18 2-30/2~16 Mar * echo "It's time to go back home!" | ||
- | |||
- | # the line above is equivalent to | ||
- | & 0 18 2-30/2~16 Mar * echo "It's time to go back home!" | ||
- | |||
- | # reset options to default and set runfreq for lines below | ||
- | !reset,runfreq(7) | ||
- | |||
- | # run once every 7 matches (thanks to the declaration above), | ||
- | # so if system is running every day at 10:00, this will be | ||
- | # run once a week | ||
- | & 0 10 * * * echo "if you got this message last time 7 days ago,\ | ||
- | this computer has been running every day at 10:00 last week.\ | ||
- | If you got the message 8 days ago, then the system has been down \ | ||
- | one day at 10:00 since you got it, etc" | ||
- | |||
- | # wait every hour for a 5 minutes load average under 0.9 | ||
- | @lavg5(0.9) 1h echo "The system load average is low" | ||
- | |||
- | # wait a maximum of 5 hours every day for a fall of the load average | ||
- | @lavgand,lavg(1,2.0,3.0),until(5h) 1d echo "Load average is going down" | ||
- | |||
- | # wait for the best moment to run a heavy job | ||
- | @lavgor,lavg(0.8,1.2,1.5),nice(10) 1w echo "This is a heavy job" | ||
- | |||
- | # run once every night between either 21:00 and 23:00 or | ||
- | # between 3:00 and 6:00 | ||
- | %nightly,lavg(1.5,2,2) * 21-23,3-6 echo "It's time to retrieve \ | ||
- | the latest release of Mozilla!" | ||
- | </code> | ||
==== fcron vs. vixie-cron ==== | ==== fcron vs. vixie-cron ==== | ||
''fcron'' uses a dedicated user to run root commands (systab). vixie-cron uses root to run the commands as, and set it's own variables (see /etc/crontab) that override default environment variables (such as HOME). I like fcron better because it is more predictable and doesn't change things around. Debugging scripts that run as cron jobs is tricky, and the less surprises, the better. | ''fcron'' uses a dedicated user to run root commands (systab). vixie-cron uses root to run the commands as, and set it's own variables (see /etc/crontab) that override default environment variables (such as HOME). I like fcron better because it is more predictable and doesn't change things around. Debugging scripts that run as cron jobs is tricky, and the less surprises, the better. |