Bekijk Volledige Versie : Cronjob iedere 5 min, m.u.v. 2-5uur
Weet iemand hoe ik een cronjob kan maken die iets iedere 5 minuten uitvoert. Behalve niet tussen 2 en 4 uur 's nachts?
The MAzTER
15/06/05, 02:37
je kan toch in het script dat je uitvoer checken hoe laat het is ;) en als het tussen 2 en 4e is dan de rest van het script niet uitvoeren.
k, en hoe doe je dat precies? Ben nog niet zo gevorderd met linux scripting :)
$uur=date("H");
if($uur!=4 && $uur!=3 && $uur!=2){
zoiets dus, maar dan voor shell scriptje :)
Linkje over bash time scripting (maakt deel uit van een uitgebreide bash tutorial): http://advbash.activeventure.net/timedate.html
Het komt er in het kort op neer dat je mbv date de tijd string moet opvragen waarna je met sed en/of awk de gewenste waarde uit de string pakt.
Zoiets dus:
date | sed -e "s/:/ /g" | awk '{print $4}'
Je uiteindelijke script zal iets worden als:
hour=`date | sed -e "s/:/ /g" | awk '{print $4}'`
if [ hour > 1 && hour < 4 ]
then
<do something here>
fi
Scriptfouten onder voorbehoud, het is nog vroeg! :D
Flydesign.nl
15/06/05, 08:45
*/15 9-17 * * * root connection.test
Will run connection.test every 15 mins between the hours or 9am and 5pm
Ik zou dit eerder oplossen met cron, aangezien je anders op 2 plaatsen bezig bent met het tijdsstip van uitvoeren bepalen. Het bovenstaande vond ik op de volgende pagina:
http://www.unixgeeks.org/security/newbie/unix/cron-1.html
Denk dat je daarmee wel vooruit kan.
Origineel geplaatst door froggie
Zoiets dus:
date | sed -e "s/:/ /g" | awk '{print $4}'
date +%k
Kan ook en is wat korter
ga gewoon verder met de tip van flydesign, wel zo netjes.
Idd supertip, alleen werk ie bij mij niet, krijg ook geen foutmelding van cron ofzo.... maar wordt helaas toch uitgevoerd, ook tussen 3 en 7...
Onderstaand mijn regeltje:
5 7-3 * * * /usr/bin/mrtg /etc/mrtg.cfg >/dev/null 2>&1
# rpm -q vixie-cron
vixie-cron-3.0.1-74
Stefan Mensink
20/06/05, 23:03
Wat dacht je dan van....
*/5 0-3,7-23 * * * /usr/bin/mrtg /etc/mrtg.cfg >/dev/null 2>&1