Nicht mehr ganz neu hier
Hallo, ich brauche wieder Eure Hilfe:
Ich habe ein perlscript auf dem server liegen, welches mir die Datenbank sichert und als Mail zuschickt.
Nun möchte ich per Cronjob (bei einsundeins) das Script jede nacht um 5.30 Uhr starten.
Ich scheitere an der Eingabe im Putty-Editor:
mailto=meineemailadresse@hier.de
30 5 * * * /kunden/homepages/XX/XXXXXXXXXXX/htdocs/backup.pl
Ergibt: -bash: 30: command not found
Gebe ich die Adresse meines Scriptes im Browser direkt ein, funktioniert es.
Meine Anrufe bei 1und1 brachten nicht das gewünschte Ergebnis, sie haben diesen Support nicht vorgesehen.
Googlen brachte mich auch nicht weiter, ich übersehe was, oder gebe nicht die richtigen Zauberwörter ein.
Könnt Ihr mir weiterhelfen?
Hier das Script:
#! /usr/bin/perl -w
use CGI::Carp qw(fatalsToBrowser);
use CGI;
use DBI;
use MIME::Lite;
use Cwd;
sub mysqldb_einlesen();
sub sqlkomplettdump();
print "Content-type: text/html\n\n";
&mysqldb_einlesen();
&sqlkomplettdump();
print "erledigt";
################################################################# mysql##################################################################
sub mysqldb_einlesen()
{
$verbinden1 = "DBI:mysql:XXX.1and1.com:3306";
$user = "XXX";
$pw = "XXX";
$dbh = DBI->connect( "$verbinden1","$user","$pw") || die "$! Database connection not made: $DBI::errstr";
};
sub sqlkomplettdump()
{
my $db = "XXX";
my $user = "XXX";
my $host = "XXX.db.1and1.com";
my $pass = "XXX";
my $savefile = "dump_sql.sql.gz";
system("mysqldump --all -l --user=$user --host=$host --password=$pass $db | gzip > $savefile") == 0 or die("Konnte Dump nicht anlegen: $! ($?)");
print "sqlDump wurde angelegt<br/>\n";
#########################################################################################################################
my $mailto = 'meineemailadresse@hier.de';
my $mailfrom = 'Servermail@1&1.de';
my $subject = 'Automatisches komplettes Daten-Backup';
my $Sendmail_Prog = "/usr/lib/sendmail";
my $localdir = cwd;
open(MAIL,"|$Sendmail_Prog -t") or print "Mailprogramm konnte nicht gestartet werden\n";
my $backupmail = new MIME::Lite ;
$backupmail = build MIME::Lite From => $mailfrom, To => $mailto, Subject => $subject , Type => 'TEXT', Data => "Automatisches komplettes Backup." ;
my $kpath = "$localdir"."/"."$savefile";
attach $backupmail Type => 'x-gzip', Path => $kpath, Encoding => "base64", Filename => "ttgsqlbackup.sql.gz";
$backupmail -> print(\*MAIL) or die $!;
close(MAIL) or die $!;
print "Mail an $mailto wurde versendet.<br/>\n";
};
Vielen Dank schon mal!
Ich habe ein perlscript auf dem server liegen, welches mir die Datenbank sichert und als Mail zuschickt.
Nun möchte ich per Cronjob (bei einsundeins) das Script jede nacht um 5.30 Uhr starten.
Ich scheitere an der Eingabe im Putty-Editor:
mailto=meineemailadresse@hier.de
30 5 * * * /kunden/homepages/XX/XXXXXXXXXXX/htdocs/backup.pl
Ergibt: -bash: 30: command not found
Gebe ich die Adresse meines Scriptes im Browser direkt ein, funktioniert es.
Meine Anrufe bei 1und1 brachten nicht das gewünschte Ergebnis, sie haben diesen Support nicht vorgesehen.
Googlen brachte mich auch nicht weiter, ich übersehe was, oder gebe nicht die richtigen Zauberwörter ein.
Könnt Ihr mir weiterhelfen?
Hier das Script:
#! /usr/bin/perl -w
use CGI::Carp qw(fatalsToBrowser);
use CGI;
use DBI;
use MIME::Lite;
use Cwd;
sub mysqldb_einlesen();
sub sqlkomplettdump();
print "Content-type: text/html\n\n";
&mysqldb_einlesen();
&sqlkomplettdump();
print "erledigt";
################################################################# mysql##################################################################
sub mysqldb_einlesen()
{
$verbinden1 = "DBI:mysql:XXX.1and1.com:3306";
$user = "XXX";
$pw = "XXX";
$dbh = DBI->connect( "$verbinden1","$user","$pw") || die "$! Database connection not made: $DBI::errstr";
};
sub sqlkomplettdump()
{
my $db = "XXX";
my $user = "XXX";
my $host = "XXX.db.1and1.com";
my $pass = "XXX";
my $savefile = "dump_sql.sql.gz";
system("mysqldump --all -l --user=$user --host=$host --password=$pass $db | gzip > $savefile") == 0 or die("Konnte Dump nicht anlegen: $! ($?)");
print "sqlDump wurde angelegt<br/>\n";
#########################################################################################################################
my $mailto = 'meineemailadresse@hier.de';
my $mailfrom = 'Servermail@1&1.de';
my $subject = 'Automatisches komplettes Daten-Backup';
my $Sendmail_Prog = "/usr/lib/sendmail";
my $localdir = cwd;
open(MAIL,"|$Sendmail_Prog -t") or print "Mailprogramm konnte nicht gestartet werden\n";
my $backupmail = new MIME::Lite ;
$backupmail = build MIME::Lite From => $mailfrom, To => $mailto, Subject => $subject , Type => 'TEXT', Data => "Automatisches komplettes Backup." ;
my $kpath = "$localdir"."/"."$savefile";
attach $backupmail Type => 'x-gzip', Path => $kpath, Encoding => "base64", Filename => "ttgsqlbackup.sql.gz";
$backupmail -> print(\*MAIL) or die $!;
close(MAIL) or die $!;
print "Mail an $mailto wurde versendet.<br/>\n";
};
Vielen Dank schon mal!