Hallo zusammen,
untenstehend meine /etc/crontab. Ich weiß, das löst man heute mit Scripts in den cron.*-Verzeichnissen, aber für meine paar Cronjobs ging das bisher immer so.
Nun aber scheine ich Tomaten auf den Augen zu haben. Letzte Woche habe ich einen weiteren Job hinzugefügt (den letzten), der wird aber nicht ausgeführt. Es ist, als ob der gar nicht da wäre. Keine Mails, keine Einträge in den Logfiles, nichts. Die Dateiberechtigungen stimmen, wenn ich die Befehlszeile kopiere und in einem Terminal paste und starte, läuft die Sicherung durch. Nur mit Cron nicht.
Vielleicht hat irgendjemand weniger Tomaten auf den Augen.
Gruß, Ralf
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
# Backup der Postfacher nach /zarafa_backup
05 1 * * * root zarafa-backup -va --skip-junk --skip-public -o /zarafa_backup/
# Festplattenbackup 1. Platte Mo-Do, 2. Platte Fr, 3.Platte Monatserster
05 2 * * 1-4 root /usr/local/bin/hdkopie 400GB_Black_1 2>&1 >> /tmp/out1.txt
05 2 * * 5 root /usr/local/bin/hdkopie 400GB_Black_2 2>&1 >> /tmp/out1.txt
05 5 1 * * root /usr/local/bin/hdkopie 400GB_Blue 2>&1 >> /tmp/out1.txt
# hashbackup
05 3 * * * root /usr/local/bin/hb backup -D1g /home/ralf/daten/_Kunden /zarafa_backup
15 3 * * 0 root /usr/local/bin/hb retain -s 7d3m4q5y -x 3m
# Festplatten schlafen legen alle Stunde
0 * * * * root /usr/local/bin/hdschlaf 2>&1 > /dev/null
# Monitor ob Platten voll sind
*/10 * * * * root /usr/local/bin/diskalarm RootVG-Root 70 alarm
* */1 * * * root /usr/local/bin/diskalarm datenVG-homeLV 90 alarm
* */1 * * * root /usr/local/bin/diskalarm datenVG-varLV 90 alarm
# Goneo sichern
05 4 * * * root /usr/local/bin/goneosicherung
Am 02.02.2012 10:19, schrieb Ralf Steck:
Hallo zusammen,
Hallo Ralf,
nur mal so ein Schuß in Blaue. Existiert an dem Zeilenende des letzten Eintrags ein Zeilenumbruch (CR)?
VG Frank
untenstehend meine /etc/crontab. Ich weiß, das löst man heute mit Scripts in den cron.*-Verzeichnissen, aber für meine paar Cronjobs ging das bisher immer so.
Nun aber scheine ich Tomaten auf den Augen zu haben. Letzte Woche habe ich einen weiteren Job hinzugefügt (den letzten), der wird aber nicht ausgeführt. Es ist, als ob der gar nicht da wäre. Keine Mails, keine Einträge in den Logfiles, nichts. Die Dateiberechtigungen stimmen, wenn ich die Befehlszeile kopiere und in einem Terminal paste und starte, läuft die Sicherung durch. Nur mit Cron nicht.
Vielleicht hat irgendjemand weniger Tomaten auf den Augen.
Gruß, Ralf
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
# Backup der Postfacher nach /zarafa_backup
05 1 * * * root zarafa-backup -va --skip-junk --skip-public -o /zarafa_backup/
# Festplattenbackup 1. Platte Mo-Do, 2. Platte Fr, 3.Platte Monatserster
05 2 * * 1-4 root /usr/local/bin/hdkopie 400GB_Black_1 2>&1 >> /tmp/out1.txt
05 2 * * 5 root /usr/local/bin/hdkopie 400GB_Black_2 2>&1 >> /tmp/out1.txt
05 5 1 * * root /usr/local/bin/hdkopie 400GB_Blue 2>&1 >> /tmp/out1.txt
# hashbackup
05 3 * * * root /usr/local/bin/hb backup -D1g /home/ralf/daten/_Kunden /zarafa_backup
15 3 * * 0 root /usr/local/bin/hb retain -s 7d3m4q5y -x 3m
# Festplatten schlafen legen alle Stunde
0 * * * * root /usr/local/bin/hdschlaf 2>&1 > /dev/null
# Monitor ob Platten voll sind
*/10 * * * * root /usr/local/bin/diskalarm RootVG-Root 70 alarm
*/1 * * * root /usr/local/bin/diskalarm datenVG-homeLV 90 alarm
*/1 * * * root /usr/local/bin/diskalarm datenVG-varLV 90 alarm
# Goneo sichern
05 4 * * * root /usr/local/bin/goneosicherung
Am Thu, 2 Feb 2012 12:44:55 +0100 schrieb Ralf Steck rsteck@die-textwerkstatt.de:
Treffer, versenkt. Manchmal ist es so einfach. Danke vielmals.
Nur so rein interessehalber: Hattest Du /etc/crontab editiert oder "crontab -e" verwendet?
Gruß, Tobias.
Am Thu, 2 Feb 2012 13:19:22 +0100 schrieb Ralf Steck rsteck@die-textwerkstatt.de:
Nur so rein interessehalber: Hattest Du /etc/crontab editiert oder "crontab -e" verwendet?
mit joe editiert.
crontab -e hängt immer noch einen einfachen Syntax-Check ans Abspeichern an. Ob es Deinen Fehler entdeckt hätte, weiß ich nicht, aber die Prüfung hat mich schon vor so manchem Flüchtigkeitsfehler bewahrt.
Wenn Du den CentOS-default vi nicht magst: Im Prinzip lässt sich der von crontab -e zu verwendende Editor ändern. Debian verwendet z.B. schon ne Zeitlang nano. Individuell einstellbar via Umgebungsvariable EDITOR oder VISUAL, welche sich wiederum dauerhaft in ~/.bashrc hinterlegen lässt.
Gruß, Tobias.
Hallo zusammen,
untenstehend meine /etc/crontab. Ich weiß, das löst man heute mit Scripts in den cron.*-Verzeichnissen, aber für meine paar Cronjobs ging das bisher immer so.
[ ... ]
Vielleicht hat irgendjemand weniger Tomaten auf den Augen.
Gruß, Ralf
# Festplattenbackup 1. Platte Mo-Do, 2. Platte Fr, 3.Platte Monatserster
05 2 * * 1-4 root /usr/local/bin/hdkopie 400GB_Black_1 2>&1 >> /tmp/out1.txt
05 2 * * 5 root /usr/local/bin/hdkopie 400GB_Black_2 2>&1 >> /tmp/out1.txt
05 5 1 * * root /usr/local/bin/hdkopie 400GB_Blue 2>&1 >> /tmp/out1.txt
Bist Du sicher, dass Du "2>&1 >> /foo.txt" haben willst und nicht ">> /foo.txt 2>&1"? Das ist von der Wirkung her *nicht* dasselbe.
In Deinem Fall bekommst Du, immer wenn stderr Inhalt hat, eine Mail vom crond und nur stdout landet im Logfile.
Alexander
Hallo Alexander,
Bist Du sicher, dass Du "2>&1 >> /foo.txt" haben willst und nicht ">> /foo.txt 2>&1"? Das ist von der Wirkung her *nicht* dasselbe.
In Deinem Fall bekommst Du, immer wenn stderr Inhalt hat, eine Mail vom crond und nur stdout landet im Logfile.
Nein. Ich hätte gerne beides, aber eben in das vom Script geschriebene out.txt (nicht ersetzen, sondern anhängen).
Ich habe das Konzept des hintendranmgestellten 2>&1 nie wirklich verstanden trotz mehrfachen Lesens und Hirnens.
-- Viele Grüße vom Bodensee, Ralf Steck - Die Textwerkstatt Moosweg 5 88046 Friedrichshafen Tel. gesch.: 07541-242-34 Tel. mobil: 0172-9007476 Tel. privat: 07541-242-56 Fax: 07541-242-36 E-Mail: rsteck@die-textwerkstatt.de ______________________________________
Website/Blog: www.die-textwerkstatt.de Privat-Website: www.ralfsteck.de ______________________________________
Xing-Profil: xing.die-textwerkstatt.de LinkedIn-Profil: linkedin.die-textwerkstatt.de Twitter: twitter.die-textwerkstatt.de Facebook: facebook.die-textwerkstatt.de Google+: gplus.die-textwerkstatt.de
-----Original Message----- From: centos-de-bounces@centos.org [mailto:centos-de- bounces@centos.org] On Behalf Of Alexander Dalloz Sent: Thursday, February 02, 2012 2:52 PM To: German mailing list for CentOS Subject: Re: [CentOS-de] Cronjob wird nicht gestartet
Hallo zusammen,
untenstehend meine /etc/crontab. Ich weiß, das löst man heute mit Scripts in den cron.*-Verzeichnissen, aber für meine paar Cronjobs ging das bisher immer so.
[ ... ]
Vielleicht hat irgendjemand weniger Tomaten auf den Augen.
Gruß, Ralf
# Festplattenbackup 1. Platte Mo-Do, 2. Platte Fr, 3.Platte Monatserster
05 2 * * 1-4 root /usr/local/bin/hdkopie 400GB_Black_1 2>&1 >> /tmp/out1.txt
05 2 * * 5 root /usr/local/bin/hdkopie 400GB_Black_2 2>&1 >> /tmp/out1.txt
05 5 1 * * root /usr/local/bin/hdkopie 400GB_Blue 2>&1 >> /tmp/out1.txt
Bist Du sicher, dass Du "2>&1 >> /foo.txt" haben willst und nicht ">> /foo.txt 2>&1"? Das ist von der Wirkung her *nicht* dasselbe.
In Deinem Fall bekommst Du, immer wenn stderr Inhalt hat, eine Mail vom crond und nur stdout landet im Logfile.
Alexander
-- _______________________________________________ CentOS-de mailing list CentOS-de@centos.org http://lists.centos.org/mailman/listinfo/centos-de
<kommando> stderr -> Terminal, stdout -> Terminal 2>&1 stderr = stdout (d.h. Terminal), stdout -> Terminal >> /foo.txt stderr -> Terminal, stdout = /foo.txt
Erst wird stderr (file descriptor 2) dorthin umgeleitet wo stdout (fd 1) im Moment hinzeigt (Terminal) und danach stdout auf /foo.txt. Womit auch klar wird, dass ein 2>&1 *vor* einer Umleitung von stdout keinen grossen Effekt hat :-)
<kommando> stderr -> Terminal, stdout -> Terminal >>/foo.txt stderr -> Terminal, stdout = /foo.txt 2>&1 stderr = stdout (d.h. /foo.txt), stdout -> /foo.txt
Erst wird stdout auf /foo.txt umgeleitet und danach stderr dorthin, wo stdout im Moment hinzeigt (also auch /foo.txt).
Gruss
frank
Ralf Steck wrote:
Hallo Alexander,
Bist Du sicher, dass Du "2>&1>> /foo.txt" haben willst und nicht ">> /foo.txt 2>&1"? Das ist von der Wirkung her *nicht* dasselbe.
In Deinem Fall bekommst Du, immer wenn stderr Inhalt hat, eine Mail vom crond und nur stdout landet im Logfile.
Nein. Ich hätte gerne beides, aber eben in das vom Script geschriebene out.txt (nicht ersetzen, sondern anhängen).
Ich habe das Konzept des hintendranmgestellten 2>&1 nie wirklich verstanden trotz mehrfachen Lesens und Hirnens.
-- Viele Grüße vom Bodensee, Ralf Steck - Die Textwerkstatt Moosweg 5 88046 Friedrichshafen Tel. gesch.: 07541-242-34 Tel. mobil: 0172-9007476 Tel. privat: 07541-242-56 Fax: 07541-242-36 E-Mail: rsteck@die-textwerkstatt.de ______________________________________
Website/Blog: www.die-textwerkstatt.de Privat-Website: www.ralfsteck.de ______________________________________
Xing-Profil: xing.die-textwerkstatt.de LinkedIn-Profil: linkedin.die-textwerkstatt.de Twitter: twitter.die-textwerkstatt.de Facebook: facebook.die-textwerkstatt.de Google+: gplus.die-textwerkstatt.de
-----Original Message----- From: centos-de-bounces@centos.org [mailto:centos-de- bounces@centos.org] On Behalf Of Alexander Dalloz Sent: Thursday, February 02, 2012 2:52 PM To: German mailing list for CentOS Subject: Re: [CentOS-de] Cronjob wird nicht gestartet
Hallo zusammen,
untenstehend meine /etc/crontab. Ich weiß, das löst man heute mit Scripts in den cron.*-Verzeichnissen, aber für meine paar Cronjobs ging das bisher immer so.
[ ... ]
Vielleicht hat irgendjemand weniger Tomaten auf den Augen.
Gruß, Ralf
# Festplattenbackup 1. Platte Mo-Do, 2. Platte Fr, 3.Platte Monatserster
05 2 * * 1-4 root /usr/local/bin/hdkopie 400GB_Black_1 2>&1>> /tmp/out1.txt
05 2 * * 5 root /usr/local/bin/hdkopie 400GB_Black_2 2>&1>> /tmp/out1.txt
05 5 1 * * root /usr/local/bin/hdkopie 400GB_Blue 2>&1>> /tmp/out1.txt
Bist Du sicher, dass Du "2>&1>> /foo.txt" haben willst und nicht ">> /foo.txt 2>&1"? Das ist von der Wirkung her *nicht* dasselbe.
In Deinem Fall bekommst Du, immer wenn stderr Inhalt hat, eine Mail vom crond und nur stdout landet im Logfile.
Alexander
-- _______________________________________________ CentOS-de mailing list CentOS-de@centos.org http://lists.centos.org/mailman/listinfo/centos-de
<kommando> stderr -> Terminal, stdout -> Terminal >>/foo.txt stderr -> Terminal, stdout = /foo.txt 2>&1 stderr = stdout (d.h. /foo.txt), stdout -> /foo.txt
Erst wird stdout auf /foo.txt umgeleitet und danach stderr dorthin, wo stdout im Moment hinzeigt (also auch /foo.txt).
Aber warum ist in Zeile 2 sterr dann nicht schon auf dem terminal "verschwunden", sondern kann nachträglich in Zeile 3 zurückgeholt werden?
Oh, ich habe das Ganze immer Pipe-artig 1 | 2| 3 (jeder Schritt arbeitet mit der Ausgabe des vorigen Schritts), aber das ist es gar nicht, oder?
-- Viele Grüße vom Bodensee, Ralf Steck
Ralf Steck wrote:
<kommando> stderr -> Terminal, stdout -> Terminal >>/foo.txt stderr -> Terminal, stdout = /foo.txt 2>&1 stderr = stdout (d.h. /foo.txt), stdout -> /foo.txt
Erst wird stdout auf /foo.txt umgeleitet und danach stderr dorthin, wo stdout im Moment hinzeigt (also auch /foo.txt).
Aber warum ist in Zeile 2 sterr dann nicht schon auf dem terminal "verschwunden", sondern kann nachträglich in Zeile 3 zurückgeholt werden?
Oh, ich habe das Ganze immer Pipe-artig 1 | 2| 3 (jeder Schritt arbeitet mit der Ausgabe des vorigen Schritts), aber das ist es gar nicht, oder?
[Sorry fuers TOFU von vorhin, das war noch pre-coffee]
...weil es eben keine Pipe ist sondern eine einzige Kommandozeile, die von der Shell erst Mal von links nach rechts ausgewertet und ergaenzt und erst *danach* ausgefuehrt wird, wobei die zu dem Zeitpunkt gueltigen Filedeskriptoren zur Anwendung kommen
frank
Jetzt hat's geschnackelt :-)
Ist doch gut, wenn man's mal erklärt kriegt ;-) Danke!
-- Viele Grüße vom Bodensee, Ralf Steck
PS: Ich oute mich mal als TOFU-Fan, weil man dann die Unterhaltung nachverfolgen kann. Aber ja, ich weiß, das tut man nicht.