Crontab mal für dumme

FipsTheThief

Erfahrenes Mitglied
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.

Code:
...
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.
 
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.
 
Ah danke , ehm das HOME=/ stand so drinnen schon da hab ich nun nix gemacht nutze Mandriva 2005

komplett steht immer da

Code:
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

Code:
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
 
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
Code:
#!/bin/sh
echo "Hallo Welt" > /temp/mein.testfile.txt
date `+%d.%m.%Y`>> /temp/mein.testfile.txt
und starte es über die Crontab.
 
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.
 
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).
 
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.
 
Zurück