Schemalägga anrop av script

Trädvy Permalänk
Medlem
Registrerad
Jun 2004

Schemalägga anrop av script

Det jag vill göra är att schemalägga så att ett script anropas var 5:e minut.

Detta är vad jag lyckats göra:

crontab -e
Där inne har jag redigerat filen så det står "5 * * * * !/bin/bashecho "Var 5:e min: `date`" >> crondateoutputexit 0"

Sen har jag sparat.

Räcker inte detta för att scriptet ska köras var 5:e minut? Jag hittar nämligen inte crondateoutput i hemkatalogen. Antar att jag gör något stort fel här.

Trädvy Permalänk
Medlem
Plats
Jämtland
Registrerad
Aug 2009

Nu har inte jag suttit med crontab på några år, men måste man inte anropa en fil? testa typ
"5 * * * * /home/script.sh"
Kör chmod +x på scirpt.sh så borde det fungera.
I script.sh lägger du "!/bin/bashecho "Var 5:e min: `date`" >> crondateoutputexit 0"

Edit:

Kom på att för att få den o köra var 5e minut så måste du skriva "*/5 * * * *"

*Citera för svar*
Work smart, not hard.

Trädvy Permalänk
Medlem
Registrerad
Sep 2015

Du behöver ange absolut sökväg till din output filen, tex /home/triff/crondateoutputexit

Trädvy Permalänk
Medlem
Registrerad
Jun 2004
Skrivet av Purrfected:

Nu har inte jag suttit med crontab på några år, men måste man inte anropa en fil? testa typ
"5 * * * * /home/script.sh"
Kör chmod +x på scirpt.sh så borde det fungera.
I script.sh lägger du "!/bin/bashecho "Var 5:e min: `date`" >> crondateoutputexit 0"

Edit:

Kom på att för att få den o köra var 5e minut så måste du skriva "*/5 * * * *"

Skrivet av fp1:

Du behöver ange absolut sökväg till din output filen, tex /home/triff/crondateoutputexit

Okej, tack för hjälpen.

Så det jag gjort nu är:

1.
Kört sudo nano 5mincron.sh i /home/ directoryt
Skrivit in
#!/bin/bash

echo "Var 5:e min: `date`" >> /home/crondateoutput

exit 0

2.
crontab -e
Skrivit in */5 * * * * /home/5mincron.sh

Dyker fortfarande inte upp någon outputfil. När jag kollar syslog står det bara:

Mar 10 17:50:01 andreas567 CRON[31657]: (andreas567) CMD ()

Den där körs var femte minut men inget verkar hända?

Edit: Glömde ju! Jag körde även sudo chmod +x /home/5mincron.sh

Edit 2:

Körde crontab -e i /home/ istället för root katalogen och då hände det grejer i syslog (men ingen outputfil):

Mar 10 18:10:01 andreas 567 CRON[31734]: (andreas 567) CMD (/home/5mincron.sh)
Mar 10 18:10:01 andreas 567 postfix/pickup[31668]: 627E7225EE: uid=1000 from=<andreas 567>
Mar 10 18:10:01 andreas 567 postfix/cleanup[31739]: 627E7225EE: message-id=<20170310181001.627E7225EE@andreas 567 .ubuntu.se>
Mar 10 18:10:01 andreas 567 postfix/qmgr[31027]: 627E7225EE: from=<andreas 567@ubuntu> , size=694, nrcpt=1 (queue active)
Mar 10 18:10:01 andreas 567 postfix/local[31741]: 627E7225EE: to=<andreas 567@ubuntu>, orig_to=<andreas 567>, relay=local, delay=0.31, delays=0.21/0.02/0/0.07, dsn=2.0.0, status=sent (delivered to mailbox)
Mar 10 18:10:01 andreas 567 postfix/qmgr[31027]: 627E7225EE: removed

Trädvy Permalänk
Medlem
Registrerad
Jun 2004

Sorry att jag klottrar:

Men jag kollade local email och där står det en massa men i slutet står:

Date: Fri, 10 Mar 2017 18:35:01 +0000 (UTC)

/home/5mincron.sh: line 3: /home/crondateoutput: Permission denied

Varför står det så fast jag kört chmod +x på scriptet?

Trädvy Permalänk
Medlem
Plats
Långtbortistan
Registrerad
Mar 2007

@Triff: Är det medvetet som du lagt scriptet i /home och inte i /home/triff (eller vad du nu har för användarnamn i linux)? Då slipper du använda sudo på nano och chmod-kommandot och riskerar inte att ge fel rättigheter eller ägarskap till filen.

Undvik sudo och root så långt det går, det är eviga källor till problem när de används fel. Kör som en vanlig användare och använd crontab -e så kommer du långt.

Skickades från m.sweclockers.com

Det finns bara två sorters hårddiskar: de som har gått sönder och de som skall gå sönder.

Trädvy Permalänk
Medlem
Registrerad
Jul 2005

en vanlig användare kan inte skriva till /home och därför får du ingen outputfil

sudo nano /etc/crontab

*/5 * * * * root echo "Var 5:e min: `date`" >> /home/output.fil

jag brukar aldrig köra crontab -e som en vanlig användare, det bäddar bara för krångel.

http://crontab-generator.org/