Hallo Michael, Am 18.01.2012 23:04, schrieb Michael Strauß:
Am Wed, 18 Jan 2012 19:10:26 +0100 schrieb Hans-Dietrich Kirmse<hd.kirmse@gmx.de>:Ich wollte zwar das CPAN-Modul Config::Crontab nutzen, aber vielleicht ist es sogar so für meine Zwecke viel leichter (insbesondere weil für das angegebene Modul kein Debian-Paket zu existieren scheint). Jetzt verstehe ich auch den Sinn der Anweisung "crontab -u root mycron.txt", so wie es ja schon Matthias angegeben hat.Du kannst die meisten CPAN-Module sehr einfach in Debian installieren, indem du sie mittels dh-make-perl in Debian-Pakete konvertierst und diese dann mittels dpkg installierst.
Danke für den Hinweis. Habe ich noch nie gemacht. So wie es derzeit aussieht werde ich es hier vermutlich auch nicht brauchen, weil ich es so wie von Harald vorgeschlagen über 2 einfache Dateien in cron.d machen werde.
Unabhängig davon muss ich noch at-Jobs verwalten (was für mich absolutes Neuland ist), wo ich mit hoher Wahrscheinlichkeit dann auf CPAN-Module zurückgreifen muss, die ebenfalls noch nicht für Debian paketiert sind. Da werde ich das dann einsetzen müssen.
Das Perl-Modul Config::Crontab ist dafür da die User-Crontabs zu parsen. Die Crontab in /etc/ kann es nicht bearbeiten, da diese eine leicht andere Syntax besitzt. Das folgende Snippet stammt aus einen meiner Scripte und zeigt wie man eine User-Crontab mittels crontab-Kommando über eine Pipe in ein Config::Crontab-Objekt einliest: my $ct = new Config::Crontab; $ct->strict(0); $ct->file("crontab -u $user -l|"); if (!$ct->read) { warning ("Can't read $user\'s crontab. ignored."); return 0; }
Danke für das Beispiel. Ich denke, ich habe das verstanden. Viele Grüße Hans-Dietrich