at / cron: Kommando zu einer bestimmten Uhrzeit
at / cron: Kommando zu einer bestimmten Uhrzeit
Hallo,
kann wir jemand sagen, wie ich auf der Kommandozeile mit at ein Kommando zu einer bestimmten Uhrzeit laufen lassen kann. Die Manpage enthält leider keine Beispiele und meine Versuche sind bisher gescheitert.
Viele Grüße, Lars
kann wir jemand sagen, wie ich auf der Kommandozeile mit at ein Kommando zu einer bestimmten Uhrzeit laufen lassen kann. Die Manpage enthält leider keine Beispiele und meine Versuche sind bisher gescheitert.
Viele Grüße, Lars
- Snoopy
- Beiträge: 4297
- Registriert: 17.11.2003 18:26:56
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rh.- Pflz.
crontab - cronjobs
hi
für die crontab - cronjobs
also grundlegend ist cron-job für immer wiederkehrende, at-job für einmalig ablaufende jobs, zuständig
beide starten beim boot und werden per daemon abgearbeitet
weiterhin gehe ich mal davon aus, dass du als user einen geplanten job machen möchtest
dabei sollte beachtet werden, das jeder user seine eigene crontab haben kann
es gibt eine system-crontab unter /etc/crontab, die sollte NICHT genutzt werden, noch nicht einmal von dem root-user
auch dieser "rechner-häuptling" sollte seine eigene benutzen
anzeigen der jeweiligen crontab erfolgt überdamit werden alle geplanten jobs des benutzers angezeigt
das editieren der jeweiligen crontab erfolgt mit per vi-modus
eine leerzeile am ende sollte eingefügt und dann gespeichert werden
die einträge/jobs erfolgen (natürlich) zeitgesteuert
die zeit/datums-felder sind folgende (reihenfolge ist diesselbe wie sie eingetragen/gelesen werden):
1. minuten: 0-59
2. stunden: 0-23
3. tag des monats: 1-31
4. monat: 1-12 (namen gehen auch)
5. wochentag: (0 oder 7 ist sonntag ; namen gehen auch)
ein feld kann ein * sein, was immer für alles steht bzw erster / letzer
zahlenbereiche sind erlaubt, so ist das bsp. 9-13, dann wird der job um 9 - 10 - 11 - 12 - 13 uhr angestartet
9,11,12 bedeutet, dass der job um 9 - 11 - 12 uhr angestartet wird
beispiele bedeutet, dass um 5 minuten nach 1 uhr jeden tag das skript backup.sh laufen soll
bedeutet, dass um 17 minuten nach 23 uhr an jedem 5. - 15. - 25. des monats das skript backup.sh laufen soll
bedeutet, dass um 25 minuten nach 0 uhr an jedem tag montags bisa freitags das skript backup.sh laufen soll
man sollte beachten, dass der aufrufende user auch die berechtigung hat das programm laufen zu lassen
für die crontab - cronjobs
also grundlegend ist cron-job für immer wiederkehrende, at-job für einmalig ablaufende jobs, zuständig
beide starten beim boot und werden per daemon abgearbeitet
weiterhin gehe ich mal davon aus, dass du als user einen geplanten job machen möchtest
dabei sollte beachtet werden, das jeder user seine eigene crontab haben kann
es gibt eine system-crontab unter /etc/crontab, die sollte NICHT genutzt werden, noch nicht einmal von dem root-user
auch dieser "rechner-häuptling" sollte seine eigene benutzen
anzeigen der jeweiligen crontab erfolgt über
Code: Alles auswählen
crontab -l
das editieren der jeweiligen crontab erfolgt mit
Code: Alles auswählen
crontab -e
eine leerzeile am ende sollte eingefügt und dann gespeichert werden
die einträge/jobs erfolgen (natürlich) zeitgesteuert
die zeit/datums-felder sind folgende (reihenfolge ist diesselbe wie sie eingetragen/gelesen werden):
1. minuten: 0-59
2. stunden: 0-23
3. tag des monats: 1-31
4. monat: 1-12 (namen gehen auch)
5. wochentag: (0 oder 7 ist sonntag ; namen gehen auch)
ein feld kann ein * sein, was immer für alles steht bzw erster / letzer
zahlenbereiche sind erlaubt, so ist das bsp. 9-13, dann wird der job um 9 - 10 - 11 - 12 - 13 uhr angestartet
9,11,12 bedeutet, dass der job um 9 - 11 - 12 uhr angestartet wird
beispiele
Code: Alles auswählen
5 1 * * * /usr/local/bin/backup.sh
Code: Alles auswählen
17 23 5,15,25 * * /usr/local/bin/backup.sh
Code: Alles auswählen
25 0 * * 0-5 /usr/local/bin/backup.sh
man sollte beachten, dass der aufrufende user auch die berechtigung hat das programm laufen zu lassen
Zuletzt geändert von Snoopy am 23.09.2004 05:52:03, insgesamt 1-mal geändert.
- Snoopy
- Beiträge: 4297
- Registriert: 17.11.2003 18:26:56
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rh.- Pflz.
at-jobs
at-jobs habe ich bisher nur unter aix-unix angelegt, ich möchte hoffen, dass das dem linux ebenso entspricht
unter aix-gibt es auch allow und deny-files die user erlauben/sperren at-jobs anzulegen
mit at-jobs fasse ich mich etwas kürzer
at-jobs sind im gegensatz zu cron-jobs einmalige aufrufe von skripten/programmen
die kurz-syntax ist folgendermassen
beispiele
um 1800 uhr soll das skript backup.sh laufen
um 1800 uhr am freitag soll das backup.sh laufen
die laufenden / geplanten at-jobs kann man mit einsehen
löschen kann man einen at-job mit
unter aix-gibt es auch allow und deny-files die user erlauben/sperren at-jobs anzulegen
mit at-jobs fasse ich mich etwas kürzer
at-jobs sind im gegensatz zu cron-jobs einmalige aufrufe von skripten/programmen
die kurz-syntax ist folgendermassen
Code: Alles auswählen
at [zeit [datum] kommando]
Code: Alles auswählen
at 1800 /usr/local/bin/backup.sh
Code: Alles auswählen
at 1800 friday /usr/local/bin/backup.sh
die laufenden / geplanten at-jobs kann man mit
Code: Alles auswählen
at -l
löschen kann man einen at-job mit
Code: Alles auswählen
at -r kommando
- Snoopy
- Beiträge: 4297
- Registriert: 17.11.2003 18:26:56
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rh.- Pflz.
upss....
ist mir da ein "freundscher vertippsler" unterlaufen ?
bitte teste folgende syntax
was zum testen auch gehen müsste ist
mit einem kannst du dir die liste der noch ausstehenden jobs anzeigen lassen
löscht den job wenn er doch nicht benötigt wird
was man nicht vergessen sollte bei der ganzen geschichte, vorher mal ein absetzen, um die systemzeit zu erfahren, damit der at-job nicht ins nirvana oder auf den nächsten tag läuft
ist mir da ein "freundscher vertippsler" unterlaufen ?
bitte teste folgende syntax
Code: Alles auswählen
at 18:00 /usr/local/bin/backup.sh
Code: Alles auswählen
at 18:00 <return>
echo "wieder ein test" <return>
^d (strg+d)
job root.1095983280.a at Fri Sep 24 18:00:00 2004
Code: Alles auswählen
atq
Code: Alles auswählen
atrm root.1095983280.a
was man nicht vergessen sollte bei der ganzen geschichte, vorher mal ein
Code: Alles auswählen
date
Hallo Snoppy,
danke für die Hilfe. Auch wenn das bei mir nicht ganz so geht, habe ich das durch deine Erklärung hinbekommen.
Das hier wirft eine Fehlermeldung:
at 20:10 ls
Only UTC timezone is supported. Last token seen: echo
Garbled time
Was allerdings geht ist:
echo ls | at 20:10
Vielen Dank, Lars
danke für die Hilfe. Auch wenn das bei mir nicht ganz so geht, habe ich das durch deine Erklärung hinbekommen.
Das hier wirft eine Fehlermeldung:
at 20:10 ls
Only UTC timezone is supported. Last token seen: echo
Garbled time
Was allerdings geht ist:
echo ls | at 20:10
Vielen Dank, Lars