Ga naar inhoud


cronjobs (crontabs) ???


gattaccio

Aanbevolen berichten

zou er iemand mij kunnen helpen met wat uitleg over crontabs?

 

ik heb er al even mee zitten prutsen maar kom er niet uit.

 

mijn crontab commando is:

 

crontab -e

 

hier krijg ik dan het vogend te zien in terminal:

 

crontab: cannot change dir to /var/spool/cron/crontabs: No such file or directory[/color]

 

als ik deze directory dan aanmaak en een crontab ingeef in vi bv:

 

* * * * * echo " hello" ( zou elke min moeten opstarten)

 

gebeurd er niets ook niet na het commando crond restart

 

als ik ipv de hierboven opdracht het volgende gebruik

 

* * * * * echo "hello" > /var/etc/hello.txt

 

dan verschijnd de file hello.txt in mijn directory /etc.

 

Mijn vraag is dus het volgende:

 

hoe kan ik de cronjob wel laten werken met echo of zelfs om een script te doen opstarten met crontab. En hoe kan ik ervoor zorgen dat die niet gewist wordt als ik mijn DM hertart?

Link naar reactie
Delen op andere sites


Zier ernaar uit dat er iets niet goed geconfigureerd is in OpenPLi voor cron.

 

/var/spool/cron wijst naar /usr/cron en die bestaat niet (foutje in PLi, zal het op de TODO lijst zetten).

 

Code:
mkdir /usr/cronmkdir /usr/cron/crontabs

 

Nu zou het moeten werken en ook een herstart overleven.

 

(alles in /var verdwijnt na reboot)

 

Dat een 'echo' in je script geen effect heeft is normaal (en correct) cron gedrag. Je kunt de output naar een file sturen en die eventueel met "tail -f" volgen.

Link naar reactie
Delen op andere sites

In snap het niet. Wat wil je nou met die echo?

 

Code:
while truedo    echo "Hello world"    sleep 1done

 

Zet elke seconde tekst op je terminal. Is dat wat je wil?

 

Link naar reactie
Delen op andere sites

Da's good old crontab dus, werkt prima op de dreambox.

 

Zoals ik al heb uitgelegd, "echo" (en alle andere uitvoer) gaat het putje in, dus da's het enige dat niet werkt. Dat is normaal en correct gedrag, want wat moet hij doen met de output als je geen telnet open hebt staan? Of als je er twee open hebt?

 

En je hebt zelf al een methode genoemd om het te kunnen zien: Schrijf een file.

Link naar reactie
Delen op andere sites

idd maar als ik een file script scrijf met een commando in doet ie niets. Dit had ik eerst geprobeerd met in mijn script

 

#!/bin.sh

echo "hello"

 

te zetten (script is uitvoerbaar chmod 755,dus hier ligt het ook nietaan)

 

ter info ikgebruikgeen pli maar n a b i l o

zou dit eenreden kunnen zijn.

Link naar reactie
Delen op andere sites

Is een bug in het image.

 

Ik heb hem zojuist voor PLi gefixt, dus vanaf morgen werkt het in OpenPLi.

 

Als je een ander image gebruikt, informeer de makers maar dat /var/spool/cron naar /etc/cron moet wijzen en niet naar /usr/cron.

Link naar reactie
Delen op andere sites

Als je image niet te veel afwijkt van de standaard, zou het volgende moeten werken vanuit een telnet sessie (bestaande crontab ben je dan wel kwijt):

 

Code:
rm -rf /usr/cronln -s /etc/cron /usr/croncrontab -e

 

Normaal wordt na een "crontab -e" de cron automatisch op de hoogte gesteld van de wijzigingen, maar omdat er nu met de paden geknoeid is kan hij deze eerste keer in de war raken.

 

Om output op te slaan kun je de uitvoer 'omleiden', dus net zogoed als 'echo "hello" > file.log' kun je 'hello.sh > file.log' doen en alle output van hello.sh gaat een bestandje in.

 

Gebruik voor cronjob scripts absolute paden, omdat die in een heel kale omgeving staan. Bijvoorbeeld zo:

 

Code:
/home/root/hello.sh > /var/log/hello.log

 

Link naar reactie
Delen op andere sites

Maak een account aan of log in om te reageren

Je moet een lid zijn om een reactie te kunnen achterlaten

Account aanmaken

Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!

Registreer een nieuwe account

Inloggen

Heb je reeds een account? Log hier in.

Nu inloggen
  • Wie is er online   0 leden

    • Er zijn geen geregistreerde gebruikers deze pagina aan het bekijken
×
×
  • Nieuwe aanmaken...