Weet iemand hoe ik een cronjob kan maken die iets iedere 5 minuten uitvoert. Behalve niet tussen 2 en 4 uur 's nachts?
Likes: 0
Weet iemand hoe ik een cronjob kan maken die iets iedere 5 minuten uitvoert. Behalve niet tussen 2 en 4 uur 's nachts?
je kan toch in het script dat je uitvoer checken hoe laat het isen 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:
Je uiteindelijke script zal iets worden als:Code:date | sed -e "s/:/ /g" | awk '{print $4}'
Scriptfouten onder voorbehoud, het is nog vroeg!Code:hour=`date | sed -e "s/:/ /g" | awk '{print $4}'` if [ hour > 1 && hour < 4 ] then <do something here> fi![]()
Laatst gewijzigd door froggie; 15/06/05 om 08:19.
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:*/15 9-17 * * * root connection.test
Will run connection.test every 15 mins between the hours or 9am and 5pm
http://www.unixgeeks.org/security/ne...ix/cron-1.html
Denk dat je daarmee wel vooruit kan.
Origineel geplaatst door froggie
Zoiets dus:
Code:date | sed -e "s/:/ /g" | awk '{print $4}'Kan ook en is wat korterCode:date +%k
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
Wat dacht je dan van....
*/5 0-3,7-23 * * * /usr/bin/mrtg /etc/mrtg.cfg >/dev/null 2>&1