PoffeMedlem sedan apr. 20022 743 inlägg Hej
Har knåpat ihop ett litet program till min mac mini som ska kolla ifall jag har kontakt med internet och om jag inte har det så ska min TellStick starta om routern enligt nedan:
#!/bin/bash
if ! [ "`ping -c 1 google.com`" ]; then
/usr/bin/tdtool --off 1
sleep 5
/usr/bin/tdtool --on 1
echo REBOOT `date` >> /router_reboot.txt
else
echo OK `date` >> /router_reboot.txt
fi
Detta är skapat i Automator genom att lägga in en "Kör kommandotolksskript" med koden ovan och sen testat sparat det både som workflow och program.
Allt fungerar precis som det ska när jag testar i Automator och när jag startar worlflowet eller programmet manuellt. Men när jag lägger in det i en cronjob enligt "/usr/bin/open /Users/URS/Desktop/internet_check.app" så startar programmet som det ska men jag får aldrig kontakt med internet även om jag har det vilket resulterar i att den alltid startar om routern oavsett om den ska det eller inte.
Nån som har en idé om hur jag kan lösa detta?
PoffeMedlem sedan apr. 20022 743 inlägg Kom precis på att man ju kan "schemalägga" genom iCal också. Man lägger till en händelse i kalendern och under påminnelse väljer man att den ska starta en viss fil.
Gjorde så nu och startade min internet_check.workflow och då fungerade allt utmärkt :)
Men eftersom jag vill att den här kollen ska utföras var 5:e minut blir det många händelser och det är ju inte funktionellt tyvärr. Men det verkar ju iallafall vara nått med rättigheterna eller liknande eftersom det funkar från iCal men inte med cronjob (som jag lägger till via CronniX). Nån som har nån idé om hur man löser detta?
GunnarDMedlem sedan juni 20014 290 inlägg Prova att lägga in hela sökvägen till ping.
Det som körs via cron har oftast inte samma inställningar som om man körde dom manuellt (PATH och liknande).
PoffeMedlem sedan apr. 20022 743 inlägg Tack för tipset, men nu kommer min okunskap in i bilden ;) Var hittar jag hela sökvägen till ping? Har testat med /usr/bin/ping men det hjälpte inte.
Meckade ihop ett workflow med dels koden ovan och sen också så att den la till ett nytt event i kalendern 5 minuter fram i tiden med en påminnelse som drog i gång skriptet igen. Det fungerar galant men skulle gärna vilja slippa iCal för schemaläggningen.
PoffeMedlem sedan apr. 20022 743 inlägg Helt underbart! Tack båda två för hjälpen!!!
Nu funkar det precis som det ska och jag har lärt mig nått nytt :)
SPiNMedlem sedan mars 20007 896 inlägg
GunnarD skrev:
Prova att lägga in hela sökvägen till ping.
Det som körs via cron har oftast inte samma inställningar som om man körde dom manuellt (PATH och liknande).
Helt riktigt! Vill bara lägga till att det beror på att cron inte har några konfigurationsfiler att hämta miljövariabler från, typ ~/.bashrc, ~/.profile eller /etc/profile.
Förutom att ange hela sökvägen till (i det här fallet) ping, kan man i början av sina bash-script läsa in en eller flera konfigurationsfiler;
#!/bin/bash
. /etc/profile
...