On Thu, Feb 10, 2000 at 12:23:23PM -0000, Jens Puruckherr wrote: : Hallo, : : heute mal was anderes: : : Ich habe auf auf dem Webserver des ISP eine msql-Datenbank am laufen. Da : ich den Backups dort nicht so recht traue, habe ich mir ein Perl-Script : gebaut, welches täglich einen Datenbankdump macht und mir als Attachment : zuschickt (is noch nicht so groß). Das ganze sieht so aus: : : ------------------------------------------------------------------------ : - : #!/usr/bin/perl -w : : use /home/imdd/vhost/elbvilla/perl_modules/MIME::Lite; #selbstkompiliert : in ~ : $database="wohndb"; : $datum = time(); : $anfangszeit = localtime(); : $path="../dump/wohndb_dump_$datum"; : : system ("msqldump wohndb > $path"); : system ("gzip -9 $path");
-> warum nicht:
system("msqldump wohndb | gzip -9 > $path.gz");
: $endzeit = localtime(); : : $mail = MIME::Lite->new( : From => 'wohnungsmarkt-dresden.de', From => 'db@wohnungsmarkt-dresden.de', ~~~
: Rufe ich das Script local (auf dem Server) auf, klappt es wunderbar, und : ich erhalte auch die Mail mit dem gewünschten Attachment. : Allerdings meckert Mime::Lite: : : Ambiguous call resolved as CORE::binmode(), qualify as such or use & at : /home/imdd/vhost/elbvilla/perl_modules/MIME/Lite.pm line 1154. : Ambiguous call resolved as CORE::binmode(), qualify as such or use & at : /home/imdd/vhost/elbvilla/perl_modules/MIME/Lite.pm line 1343.
Kann sein, dass der Autor von Lite.pm von bimode() im PerlCORE nichts wusste (vielleicht gab's das damals noch nicht). Schaum mal im Lite.pm nach, wo dort ueberall `binmode' auftaucht. Wenn's auch als Funktion definiert ist, dann hilft moeglicherweise wirklich ein &binmode(....) beim Aufruf.
Oder Du beseitigst die Definition von sub bimode(.....) aus Lite.pm, denn es ist jetzt Bestandteil von PerlCore.
: Rufe ich das ganze aber via cron auf, erhalte ich auch die Mail mit : Anhang, aber das Archiv darin ist LEER (0 Byte), hat aber die richtige : Bezeichnung! (wohndb_dump_12345678944.gz)
Ich denke, PATH ist anders als wenn Du eingeloggt bist. Hat mit dem o.g. Fehler nichts zu tun.
Mach doch mal * * * * * echo "$PATH" | mail -s path puru@elbvilla.de
Und vergleiche das mit dem PATH wenn Du eingeloggt bist.
: elbvilla@server1:~ > less cronfile : 0-59/15 * * * * /home/imdd/vhost/elbvilla/system/check_db 2> /dev/null : 0 3 * * * /home/imdd/vhost/elbvilla/system/dump.pl 2> ~/logs/dump_log : : In ~/logs/dump_log steht nix, das file wird garnicht erst angelegt. Und
Ich zweifle daran, dass ~ aufgeloest wird in der Crontab. Per Default laufen die Cronjobs in Deinem $HOME, denke ich, also reicht 2>logs/dump.log
Heiko