Hallo Dominik, vielen Dank für die ausführliche Anleitung. Damit wird es funktionieren. Hatte beim Lesen der pages irgendwie einen Blackout bezüglich des Befehls crontab. Jetzt mit Deiner Anleitung, die ich unten noch mal ungekürzt so gelassen habe, geht's. Ich hab jetzt alles verstanden. Vielen Dank Bernd Am Montag, 20. November 2006 11:04 schrieb Dominik Klein:
bstaeglich schrieb:
Hallo Liste, irgendwie sind mir die man-pages bezüglich cron und crontab zu undurchsichtig. Nun weiß ich zwar, wie ich etwas genau auf eine Uhrzeit festlegen kann, aber wie geht es dann weiter?
1. Bei SUSE 10.1 gibt es dazu die Verzeichnisse /etc/cron.d, /etc/cron.daily, /etc/cron.hourly. Außerdem unter /var/spool/cron die Unterverzeichnisse "lastrun" und "tabs". In welches Verzeichnis muss ich mich denn nun einklinken, damit ich als user meinen höchstpersönlichen cronjob zum Laufen kriege?
Erstmal in keins. Dazu gibt es ja das Tool crontab. Dein cronjob wird hinterher unter /var/spool/cron/tabs/<username> liegen.
2. Ich möchte gerne einen täglichen cronjob machen. Genügt es, mein Skript dann in das Verzeichnis "cron.daily" hineinzukopieren? Wie kriege ich da aber noch meine ganz persönliche Uhrzeit rein in dieses Verzeichnis? Soweit ich gesehen habe enthalten die anderen darin gespeicherten Skripte von SUSE keine besonderen Uhrzeitangaben?
Wenn du eine bestimmte Uhrzeit willst, genügt cron.daily imho nicht.
3. Muss ich hinter der Uhrzeit meine einzelnen Befehle und gewünschten Prozessabläufe alle hintereinander weg in eine Zeile eintragen - durch Leerzeichen, Komma oder sonstwas getrennt? Oder kann ich wie bei einfachen von mir selbst in Gang gesetzten Skripten die einzelnen Befehlsfolgen untereinander weg in getrennte Zeilen eintippen? Beispiel: "mount Verzeichnis xyz", "tue das und das", "umount Verzeichnis xyz"?
Du kannst mit cron Skripte oder mehrere Kommandos, durch Semikolon getrennt, aufrufen.
Du gehst dazu folgendermaßen vor.
Mit dem Editor deiner Wahl erzeugst du eine Datei. Im Beispiel nenne ich sie "mein.cron". Da hinein schreibst du:
m h d M D Befehl
Die Kürzel stehen für m=Minute 0-59 h=Stunde 0-23 d=Tag des Monats 1-31 M=Monat des Jahres 1-12 D=Tag der Woche 0-7
Also zum Beispiel täglich um 13 Uhr: 0 13 * * * /home/ich/bin/mein_skript.sh
Sonntags um 00:40 40 0 * * 0 /home/ich/bin/sonntag.sh
Diese Datei lädst du anschließend folgendermaßen als deine crontab (dabei wird eine evtl. vorhandene crontab gelöscht!): crontab mein.cron
Wenn du dir mit dem Umgang sicher genug bist, kannst du auch "crontab -e" verwenden. Da fehlt allerdings der Syntaxcheck, der bei meiner Vorgehensweise dabei ist (finde ich persönlich hilfreich). Den verwendeten Editor für crontab -e setzt du mit der Umgebungsvariable EDITOR (für vi also zB "export EDITOR=vi").
Für weitere cronjobs gehe ich dann so vor: crontab -l > mein.cron vi mein.cron crontab mein.cron
"man 5 crontab" ist übrigens vielleicht auch noch hilfreich.
HTH
Gruß Dominik -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org