# Crontab mal für dumme



## FipsTheThief (9. November 2005)

Mhm ich komme nicht dahinter , also ich lege mir als user einen Crontab an und editier das Ding halt.

Ich meine gelesen zu haben das man eine Shell Datei ausführen kann.

Also mal rumprobiert. 


```
...
HOME =/

 1 * * * * /home/fips/shelltests/hello
```

Mhm aber des will einfach nicht starten , jede Minute soll er es einmal ausführen soweit ich das verstanden hab aber nix.
X Seiten in Google gewälzt die alle das gleiche sagen und zwar das was ich da eintippe.Und nun nach 3 Stunden hab ich da auch langsam keine Lust mehr 

Ich hoffe es hat wer rat für mich.


----------



## Helmut Klein (9. November 2005)

Was bedeutet das "HOME =/"?

Um minütlich etwas auszuführen musst du "*/1" eintragen. Trägst du lediglich "1" ein, so führt er den Befehl einmal jede Stunde, nämlich wenn der Minutenzeiger auf die "1" zeigt, aus.


----------



## FipsTheThief (9. November 2005)

Ah danke , ehm das HOME=/ stand so drinnen schon da hab ich nun nix gemacht nutze Mandriva 2005 

komplett steht immer da 


```
SHELL = /bin/sh
PATH = :sbin:/:bin:/...
MAILTO = root
HOME =/

*/1 * * * * bin/sh/hallo
```

so normal sollte sich so eine kleine Textbox öffnen da steht halt hallo drinnen mehr nicht. Um es mal zu überprüfen ob es geht.

Bei dem bin/sh verzeichniss bin ich schon bei home/fips/bin/hallo

Also so gesagt normal klappt es prima , bash hallo er zeigt mir das kleine Fenster an. Aber der Crontab mag es einfach nicht akzeptieren. Eventuell der falsche Ordner , kA die meisten Crontabs die ich so finde beschäftigen sich mehr damit gleich ein Backup von einer Datenbank zu machen.
Aber des da oben will nicht 

Hier hab ich mal 2 Beispiele aus dem Netz


```
Jeden Freitag um 00:00 Uhr wird da Script xyz.sh aufgerufen:

 0  0  *  *  5   /usr/bin/xyz.sh

Jeden Tag von 6 bis 23 Uhr läuft alle 15 min xfermail.sh:

 */15  6-23  *  *  *  root /usr/bin/xfermail.sh >> /var/log/xfermail.log
```


----------



## imweasel (9. November 2005)

Hi,

deine Problem liegt u.U. darin das der Cron nur interaktiv ausgeführt werden kann, wenn du also eine Ausgabe wie "Hallo Welt" von der Shell aus auf den Bildschirm (== <stdout>) bekommst, dann schreibt das Cron nicht auf den Bildschirm.
Cron nutzt als <stdout> z.B. ein Logfile oder auch ein Mailsystem.

Leg dir mal zum testen ein Script an mit z.B. folgendem Inhalt
	
	
	



```
#!/bin/sh
echo "Hallo Welt" > /temp/mein.testfile.txt
date `+%d.%m.%Y`>> /temp/mein.testfile.txt
```
 und starte es über die Crontab.


----------



## FipsTheThief (9. November 2005)

Mhm ne leider nicht wirklich , also umgeändert ist es aber er führt es einfach nicht aus. hab nun mehere Varianten durch auch noch .

*/1 * * * * bash /bin/sh/testing

macht er ebenfalls nicht , ich glaub nur die mögen mich nicht  wenn ich nun den bash normal starte dann zeigt er es mir natürlich an zumindest erstellt er mir diese Datei.


----------



## canuzzi (9. November 2005)

Also in der Art wie du es gebastelt hat schickt er alle Ausgaben an den root als mail. 
switch mal zum root und schau dir mit pine seine mails an. Ich schaetze du wirst was finden. Aja generell. Geb ps -e auch der shell ein und schau ob der cron Daemon ueberhaupt laeuft (der kann cron oder crond heissen).


----------



## FipsTheThief (9. November 2005)

Mhm ja läuft , also ich nehm es an er zeigt mir crond an  Machen   tut er dennoch nix. Eventuell muss ich das Shell Script anders legen oder so.

Ich muss dazu sagen ich bin noch ein ziemlicher Linux Neuling aber doch positiv überrascht bisher.
Und als typischer Windows User hab ich erstmal eine völlig unsinnige Adresse angegeben als Mail , unter Windows hab ich die nie irgendwo eingetragen also muss ich das erstmal suchen und ändern 

Die Cronjobs die rauben mir momentan die Nerven , aber werd mich nun erstmal fix mit der Shell Programmierung vertraut machen so schwer sah das ja nun auch nicht aus , eventuell kommt dann der aha Effekt was ich beim Cronjob falsch gemacht habe mal schaun.


----------

