System() mit rsync will nich so recht
am 16.02.2007 13:50:08 von Ralf Schmidt
Hallo,
ich will mit perl per SSH einen rsync auf eine entfernte Maschine
durchführen:
Der Code sieht dazu so aus:
my $rsync
= "$configfile{BackupOptions} --exclude-from=$configfile{Excludes}
--include-from=$configfile{Includes} $configfile{Incrementell}
$configfile{BackupDir} -e \"ssh -l $configfile{User}\"
$configfile{Server}:$destination";
system("rsync","$rsync");
print "$rsync\n\n\n";
Heraus kommt folgendes:
rsync: --force --ignore-errors --delete --delete-excluded -av
--exclude-from=excludes.conf --include-from=includes.conf --backup
--backup-dir=dir/2007-2-16_13-35-56 /home/user/bin/ -e "ssh -l srsync
error: syntax or usage error (code 1) at main.c(1318) [client=2.6.9]
print "$rsync\n\n\n"; wirft heraus:
--force --ignore-errors --delete --delete-excluded -av
--exclude-from=excludes.conf --include-from=includes.conf
--backup --backup-dir=dir/2007-2-16_13-35-56 /home/user/bin/ -e "ssh -l
user" entfernte.maschine.de:dir/latest
Nehme ich die Printausgabe und lasse sie direkt auf der Konsole laufen
funktioniert alles ohne Probleme.
Ich habe schon die verschiedensten Versuche bezüglich der Pararmeter
-e \"ssh -l user\" ....
durch probiert, jedoch keine Erfolg dabei gehabt.
Nun hoffe ich auf einen kleinen Tipp der mir die Erleuchtung bringt.
Vielen Dank im Voraus.
GruÃ
Ralf
PS: Die Zeilenümbrüche sind durch das Posting entstanden, im Original
steht jede Meldung in einer Zeile für sich.
Re: System() mit rsync will nich so recht
am 16.02.2007 14:27:15 von Wolf Behrenhoff
Ralf Schmidt schrieb:
> Hallo,
>
> ich will mit perl per SSH einen rsync auf eine entfernte Maschine
> durchführen:
> Der Code sieht dazu so aus:
> my $rsync
> = "$configfile{BackupOptions} --exclude-from=$configfile{Excludes}
> --include-from=$configfile{Includes} $configfile{Incrementell}
> $configfile{BackupDir} -e \"ssh -l $configfile{User}\"
> $configfile{Server}:$destination";
>
> system("rsync","$rsync");
Du rufst hier rsnyc mit genau einem Parameter auf! Du möchtest es aber
mit mehreren Parametern aufrufen. Daher entweder system mit einem
Argument aufrufen oder die Paramter in eine Liste packen!
Wolf
Re: System() mit rsync will nich so recht
am 16.02.2007 17:15:54 von Ralf Schmidt
Hallo Wolf,
Wolf Behrenhoff schrieb:
> Ralf Schmidt schrieb:
>> Hallo,
>>
>> ich will mit perl per SSH einen rsync auf eine entfernte Maschine
>> durchführen:
>> Der Code sieht dazu so aus:
>> my $rsync
>> = "$configfile{BackupOptions} --exclude-from=$configfile{Excludes}
>> --include-from=$configfile{Includes} $configfile{Incrementell}
>> $configfile{BackupDir} -e \"ssh -l $configfile{User}\"
>> $configfile{Server}:$destination";
>>
>> system("rsync","$rsync");
>
> Du rufst hier rsnyc mit genau einem Parameter auf! Du möchtest es aber
> mit mehreren Parametern aufrufen. Daher entweder system mit einem
> Argument aufrufen oder die Paramter in eine Liste packen!
Danke für Deinen Hinweis. Jetzt bin ich schon etwas weiter, hänge aber
trotzdem noch etwas.
Ich habe erst einmal zum Testen folgendes zusammengebaut.
system("rsync", "--force", "--ignore-errors", "--delete",
"--delete-excluded", "-av", "--exclude-from=excludes.conf",
"--include-from=includes.conf", "/home/user/bin/",
"-e ssh \"-l user\" xxx.server.de:latest");
Der jetzige Stand ist, das rsync schon mal die Fileliste zusammenstellt.
Jedoch wird keine Verbindung zum Server aufgebaut.
Hast Du da noch einen Tipp für mich? Ich bin Perl-Newbie und blicke noch
nicht wirklich durch. Danke.
GruÃ
Ralf
> Wolf
Re: System() mit rsync will nich so recht
am 16.02.2007 23:05:14 von Ralf Schmidt
Hallo Wolf,
Wolf Behrenhoff schrieb:
> Du rufst hier rsnyc mit genau einem Parameter auf! Du möchtest es aber
> mit mehreren Parametern aufrufen. Daher entweder system mit einem
> Argument aufrufen oder die Paramter in eine Liste packen!
Danke für Deinen Tipp!
Jetzt klappt es auch mit dem SSH -Login.
GruÃ
Ralf