Crontab
Crontab
Hallo Leute
wollte meine SQLDB zeitgesteuret mit cron sichern.
-*/1 * * * root mysqldump -u root -ptest --opt testdb > mysqlbak.sql
das habe ich eingetragen. Habe auch den Crondiesnt gestartet aber der sichert nichts.
kann mir da jemand helfen?
wollte meine SQLDB zeitgesteuret mit cron sichern.
-*/1 * * * root mysqldump -u root -ptest --opt testdb > mysqlbak.sql
das habe ich eingetragen. Habe auch den Crondiesnt gestartet aber der sichert nichts.
kann mir da jemand helfen?
- feltel
- Webmaster
- Beiträge: 10477
- Registriert: 20.12.2001 13:08:23
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Leipzig, Germany
-
Kontaktdaten:
Fehlt evtl. ein Zeilenumbruch in der crontab-Datei? Cron führt sonst garnix aus und bringt auch keine Warnungen etc.
debianforum.de unterstützen? Hier! | debianforum.de Verhaltensregeln | Bitte keine Supportanfragen per PM
- feltel
- Webmaster
- Beiträge: 10477
- Registriert: 20.12.2001 13:08:23
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Leipzig, Germany
-
Kontaktdaten:
das "-" am Zeilenanfang sagt mir jetzt nix. Auch das "*/1" ist imho überflüssig. Wenn es eh jede Stunden bzw. Minute laufen soll, dann würde ein einfacher Stern auch ausreichen.homermg hat geschrieben:Hallo habe ich gemacht. Funkt aber noch immer nit. Ist den die Syntax richtig?
debianforum.de unterstützen? Hier! | debianforum.de Verhaltensregeln | Bitte keine Supportanfragen per PM
- feltel
- Webmaster
- Beiträge: 10477
- Registriert: 20.12.2001 13:08:23
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Leipzig, Germany
-
Kontaktdaten:
Ja, oder ein Script in /etc/cron.d/ erstellen oder ne User-Crontab, die dann mit "crontab crontabdatei" eingelesen wird.homermg hat geschrieben:Ich muss doch in die Datei /etc/crontab die Sachen eintragen?
Zuletzt geändert von feltel am 25.07.2005 13:01:31, insgesamt 1-mal geändert.
debianforum.de unterstützen? Hier! | debianforum.de Verhaltensregeln | Bitte keine Supportanfragen per PM
im Promt trage ich das ein und es wir ausgeführt:
pc01:~# mysqldump -u root -ptest --opt dbtest > /tmp/mysqlbak.sql
das steht in Crontab:
1 * * * * root mysqldump -u root -ptest --opt dbtest > /tmp/mysqlbak.sql
habe auch folegndes ausprobiert:
* 1 * * * root mysqldump -u root -ptest --opt dbtest > /tmp/mysqlbak.sql
pc01:~# mysqldump -u root -ptest --opt dbtest > /tmp/mysqlbak.sql
das steht in Crontab:
1 * * * * root mysqldump -u root -ptest --opt dbtest > /tmp/mysqlbak.sql
habe auch folegndes ausprobiert:
* 1 * * * root mysqldump -u root -ptest --opt dbtest > /tmp/mysqlbak.sql
Soviel ich weiss, kann man so den User angeben unter dem das skript starten soll.texus hat geschrieben:Wieso steht denn in der crontab dieses "root" vor dem eigentlichen Befehl ??
Ist so aber überflüssig weil es wohl eh als root laufen würde.
Du musst normalerweise in crontab Einträgen immer ganze Pfade eingeben,
da Du keinerlei Umgebung hast.
Also nicht mysqldumb sondern /usr/bin/mysqldump
gruss
eC
Das "root", das texus meint ist falsch. Hab das gleiche Problem auch gehabt. Einfach den user weglassen, dann klappts. z.B.
Gruss Zorin
PS: Hab keine Ahnung, wie man im Cron den User definiert. Ist mir auch egal. Ich leg einfach für jeden user ne crontab an.
Code: Alles auswählen
* * * * * echo $(date) >> /home/user/cron-log
PS: Hab keine Ahnung, wie man im Cron den User definiert. Ist mir auch egal. Ich leg einfach für jeden user ne crontab an.

Athlon 64 3200+ Winchester, A8N SLI Deluxe, 1024MB RAM, Geforce 6600GT, Debian SID pure64-gcc4.0, Kernel 2.6.13.4, KDE 3.4.2
Wenn ihr als root eingeloggt seid und mit crontab -e einen Job anlegt, dann wird dieser Job mit den rechten von root ausgeführt.
Wenn ihr euch danach als normaler User einloggt und mit crontab -e einen Job anlegen wollt, werdet ihr feststellen das sie crontab leer ist. Denn für den User existiert noch kein Job.
Es wird also für jeden User eine neue Crontab angelegt. (Macht ja auch Sinn, sonst könnte ich ja als normaluser dafür sorgen das mein Job mit Root Rechten ausgeführt wird.)
Langes geschwafel kurzer Sinn: User angeben ist unnötig (und falsch), denn unter dem Fokus des Users unter dem der Cronjob angelegt wurde unter dem wird er auch ausgeführt.
MfG
texus
Wenn ihr euch danach als normaler User einloggt und mit crontab -e einen Job anlegen wollt, werdet ihr feststellen das sie crontab leer ist. Denn für den User existiert noch kein Job.
Es wird also für jeden User eine neue Crontab angelegt. (Macht ja auch Sinn, sonst könnte ich ja als normaluser dafür sorgen das mein Job mit Root Rechten ausgeführt wird.)
Langes geschwafel kurzer Sinn: User angeben ist unnötig (und falsch), denn unter dem Fokus des Users unter dem der Cronjob angelegt wurde unter dem wird er auch ausgeführt.
MfG
texus
- feltel
- Webmaster
- Beiträge: 10477
- Registriert: 20.12.2001 13:08:23
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Leipzig, Germany
-
Kontaktdaten:
Nicht unbedingt. Was wenn der User unter dessen UID der Job ausgeführt werden soll keinen Shelllogin hat. Beispiel: amavisd-Datenbank-Rebuild über /etc/cron.d/amavisd-newtexus hat geschrieben:Langes geschwafel kurzer Sinn: User angeben ist unnötig (und falsch), denn unter dem Fokus des Users unter dem der Cronjob angelegt wurde unter dem wird er auch ausgeführt.
Die Userangabe macht also manchmal doch Sinn und ist auch erforderlich, denn ich will keine Login-Logout-Orgie machen, wenn ich an meinem Server die Cronjobs ändern will/muss.

debianforum.de unterstützen? Hier! | debianforum.de Verhaltensregeln | Bitte keine Supportanfragen per PM
Mmh, also der sechste Eintrag bis Ende der Zeile in der crontab ist laut manpage für das Kommando reserviert. Wie kann man da den User noch eintragen?feltel hat geschrieben:Die Userangabe macht also manchmal doch Sinn und ist auch erforderlich, denn ich will keine Login-Logout-Orgie machen, wenn ich an meinem Server die Cronjobs ändern will/muss.
Gruss Zorin
Athlon 64 3200+ Winchester, A8N SLI Deluxe, 1024MB RAM, Geforce 6600GT, Debian SID pure64-gcc4.0, Kernel 2.6.13.4, KDE 3.4.2
Die system crontab hat eine Spalte mehr ..man 5 crontab hat geschrieben:The format of a cron command is very much the V7 standard, with a number of upward-compatible extensions. Each line
has five time and date fields, followed by a command, followed by a newline character ('\n'). The system crontab
(/etc/crontab) uses the same format, except that the username for the command is specified after the time and date
fields and before the command. The fields may be separated by spaces or tabs.
Bert
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de
xmpp:bert@debianforum.de
Ahhh, jetzt ergibt es auch einen Sinn warum ich in einem Howto die 5-spaltige und in einem anderen die 6-spaltige Version gesehen habe.
Jetzt noch rein interessehalber: Warum muss man in der /etc/crontab nicht über den Befehl "crontab -e" gehen, sondern kann direkt editieren?
Gruss Zorin
Jetzt noch rein interessehalber: Warum muss man in der /etc/crontab nicht über den Befehl "crontab -e" gehen, sondern kann direkt editieren?
Gruss Zorin
Athlon 64 3200+ Winchester, A8N SLI Deluxe, 1024MB RAM, Geforce 6600GT, Debian SID pure64-gcc4.0, Kernel 2.6.13.4, KDE 3.4.2
Hi,zorin hat geschrieben: Warum muss man in der /etc/crontab nicht über den Befehl "crontab -e" gehen, sondern kann direkt editieren?
die Datei /etc/crontab wird vom System eh überprüft.
Crontabs von Usern müssen noch installiert werden. Dies macht
crontab -e.
Die Datei findet sich dann wieder unter
/var/spool/cron/crontabs/username
und wird vom System berücksichtigt

gruss
eC