Über Perl Dateien von FTP-1 auf FTP-2 speichern

firefist235

Mitglied
Hallo zusammen,
ich suche ein Script mit dem ich dateien auf einem Server (Logfiles von einem Counter-Strike Server) in einen Ordner auf unseren Webhoster kopieren kann. Es reicht wenn das Script einmal täglich ausgeführt wird. Die Dateien auf dem Gameserver sind in Ordner unterteilt, auf dem Webhoster bräuchte ich sie aber alle zusammen in einem Ordner. Es wäre auch ganz hilfreich wenn das script nur veränderte oder neue dateien kopiert, wenn das nicht geht reicht es auch wenn die bestehenden dateien überschrieben werden.

ich hoffe ihr könnt mir helfen

danke
bye
 
so, ich hab mal ein bisschen rumgespielt und ein script gebastelt. Ich bin jetzt soweit dass ich eine datei-liste bekomme. Ich starte das script zum testen mit putty, später dann mit cronjobs wenns funktioniert.

Hier mal der code

Code:
#!/usr/bin/perl

use Net::FTP;
use File::Listing;  # importiert parse_dir()

my $host = 'gameserver';

my $user = 'username';
my $password = 'password';

		# Neues Net::FTP-Objekt

my $ftp = Net::FTP->new($host,
                        Timeout => 360,
                        Debug   => 1,
			Passive => 1,
                       );

unless (defined $ftp) {
	print "$@\n";
	die "Can't create Net::FTP-Object\n";
}


$ftp->login($user,$password) || die "Can't login $!";

# Skalarer Kontext für $ftp->dir()
my $entry_ref = parse_dir($ftp->dir("80109/*/*/*.*"));

foreach my $entry (@$entry_ref) {
		my ($name, $type, $size, $mtime, $mode) = @$entry;

				# keine PunktDateien
		next if ($name =~ /^\./);

		if ($type eq 'd') {
			print "Directory: $name\n";
		} elsif ($type eq 'f') {
			print "Datei: $name $size bytes\n";
				# Test, ob Entfernen erfolgreich ist
		} elsif ($type =~ s/^l//) {
			print "$name  ->  $type\n";
		} elsif ($type eq '?') {
			print "Unknown type for $name\n";
		} ## clumpsy if
} ## foreach

$ftp->quit();

aus putty habe ich dann das kopiert, der anfang fehlt leider, weil putty anscheinen nicht mehr speichern kann.

Code:
Directory: 80109/200708080812/teamspeak2/.
Directory: 80109/200708080812/teamspeak2/..
Datei: 80109/200708080812/teamspeak2/server.log 906 bytes
Directory: 80109/200708090812/mani/.
Directory: 80109/200708090812/mani/..
Directory: 80109/200708090812/server/.
Directory: 80109/200708090812/server/..
Datei: 80109/200708090812/server/L0808000.log 523 bytes
Datei: 80109/200708090812/server/L0808001.log 121667 bytes
Datei: 80109/200708090812/server/L0808002.log 93108 bytes
Datei: 80109/200708090812/server/L0808003.log 126675 bytes
Datei: 80109/200708090812/server/L0808004.log 46267 bytes
Datei: 80109/200708090812/server/L0808005.log 130739 bytes
Datei: 80109/200708090812/server/L0808006.log 104331 bytes
Datei: 80109/200708090812/server/L0808007.log 121656 bytes
Datei: 80109/200708090812/server/L0808008.log 404501 bytes
Datei: 80109/200708090812/server/L0808009.log 138117 bytes
Datei: 80109/200708090812/server/L0808010.log 102980 bytes
Datei: 80109/200708090812/server/L0808011.log 105047 bytes
Datei: 80109/200708090812/server/L0808012.log 97966 bytes
Datei: 80109/200708090812/server/L0808013.log 102004 bytes
Datei: 80109/200708090812/server/L0808014.log 170254 bytes
Datei: 80109/200708090812/server/L0808015.log 281481 bytes
Datei: 80109/200708090812/server/L0808016.log 398875 bytes
Datei: 80109/200708090812/server/L0808017.log 338588 bytes
Datei: 80109/200708090812/server/L0808018.log 91316 bytes
Datei: 80109/200708090812/server/L0808019.log 75066 bytes
Datei: 80109/200708090812/server/L0808020.log 148518 bytes
Datei: 80109/200708090812/server/L0808021.log 134574 bytes
Datei: 80109/200708090812/server/L0808022.log 142137 bytes
Datei: 80109/200708090812/server/L0808023.log 179265 bytes
Datei: 80109/200708090812/server/L0808024.log 169288 bytes
Datei: 80109/200708090812/server/L0808025.log 922784 bytes
Datei: 80109/200708090812/server/L0808026.log 342881 bytes
Datei: 80109/200708090812/server/L0808027.log 142108 bytes
Datei: 80109/200708090812/server/L0808028.log 307617 bytes
Datei: 80109/200708090812/server/L0808029.log 153600 bytes
Datei: 80109/200708090812/server/L0808030.log 202059 bytes
Datei: 80109/200708090812/server/L0808031.log 180115 bytes
Datei: 80109/200708090812/server/L0808032.log 137560 bytes
Datei: 80109/200708090812/server/L0808033.log 380268 bytes
Datei: 80109/200708090812/server/L0808034.log 327686 bytes
Datei: 80109/200708090812/server/L0808035.log 227074 bytes
Datei: 80109/200708090812/server/L0808036.log 293697 bytes
Datei: 80109/200708090812/server/L0809000.log 142857 bytes
Datei: 80109/200708090812/server/L0809001.log 474367 bytes
Datei: 80109/200708090812/server/L0809002.log 430944 bytes
Datei: 80109/200708090812/server/L0809003.log 119130 bytes
Datei: 80109/200708090812/server/L0809004.log 101541 bytes
Datei: 80109/200708090812/server/L0809005.log 70565 bytes
Datei: 80109/200708090812/server/L0809006.log 87746 bytes
Datei: 80109/200708090812/server/L0809007.log 68521 bytes
Datei: 80109/200708090812/server/L0809008.log 130221 bytes
Datei: 80109/200708090812/server/L0809009.log 80153 bytes
Datei: 80109/200708090812/server/L0809010.log 91581 bytes
Datei: 80109/200708090812/server/L0809011.log 76341 bytes
Datei: 80109/200708090812/server/L0809012.log 109779 bytes
Datei: 80109/200708090812/server/L0809013.log 78512 bytes
Datei: 80109/200708090812/server/L0809014.log 99015 bytes
Datei: 80109/200708090812/server/L0809015.log 111864 bytes
Datei: 80109/200708090812/server/L0809016.log 92181 bytes
Datei: 80109/200708090812/server/L0809017.log 154853 bytes
Datei: 80109/200708090812/server/L0809018.log 101758 bytes
Datei: 80109/200708090812/server/L0809019.log 363465 bytes
Datei: 80109/200708090812/server/L0809020.log 24576 bytes
Directory: 80109/200708090812/teamspeak2/.
Directory: 80109/200708090812/teamspeak2/..
Datei: 80109/200708090812/teamspeak2/server.log 906 bytes
Directory: 80109/200708100812/mani/.
Directory: 80109/200708100812/mani/..
Directory: 80109/200708100812/server/.
Directory: 80109/200708100812/server/..
Datei: 80109/200708100812/server/L0809000.log 523 bytes
Datei: 80109/200708100812/server/L0809001.log 131518 bytes
Datei: 80109/200708100812/server/L0809002.log 109713 bytes
Datei: 80109/200708100812/server/L0809003.log 82799 bytes
Datei: 80109/200708100812/server/L0809004.log 118514 bytes
Datei: 80109/200708100812/server/L0809005.log 110862 bytes
Datei: 80109/200708100812/server/L0809006.log 121833 bytes
Datei: 80109/200708100812/server/L0809007.log 115608 bytes
Datei: 80109/200708100812/server/L0809008.log 154387 bytes
Datei: 80109/200708100812/server/L0809009.log 153490 bytes
Datei: 80109/200708100812/server/L0809010.log 28762 bytes
Datei: 80109/200708100812/server/L0809011.log 121608 bytes
Datei: 80109/200708100812/server/L0809012.log 182081 bytes
Datei: 80109/200708100812/server/L0809013.log 161658 bytes
Datei: 80109/200708100812/server/L0809014.log 89507 bytes
Datei: 80109/200708100812/server/L0809015.log 123832 bytes
Datei: 80109/200708100812/server/L0809016.log 101991 bytes
Datei: 80109/200708100812/server/L0809017.log 121241 bytes
Datei: 80109/200708100812/server/L0809018.log 403066 bytes
Datei: 80109/200708100812/server/L0809019.log 126267 bytes
Datei: 80109/200708100812/server/L0809020.log 126041 bytes
Datei: 80109/200708100812/server/L0809021.log 64762 bytes
Datei: 80109/200708100812/server/L0809022.log 147569 bytes
Datei: 80109/200708100812/server/L0809023.log 105606 bytes
Datei: 80109/200708100812/server/L0809024.log 83891 bytes
Datei: 80109/200708100812/server/L0809025.log 116073 bytes
Datei: 80109/200708100812/server/L0809026.log 134276 bytes
Datei: 80109/200708100812/server/L0809027.log 104030 bytes
Datei: 80109/200708100812/server/L0809028.log 160448 bytes
Datei: 80109/200708100812/server/L0809029.log 214213 bytes
Datei: 80109/200708100812/server/L0809030.log 130798 bytes
Datei: 80109/200708100812/server/L0809031.log 101180 bytes
Datei: 80109/200708100812/server/L0809032.log 143490 bytes
Datei: 80109/200708100812/server/L0809033.log 93303 bytes
Datei: 80109/200708100812/server/L0809034.log 124206 bytes
Datei: 80109/200708100812/server/L0809035.log 95189 bytes
Datei: 80109/200708100812/server/L0809036.log 274335 bytes
Datei: 80109/200708100812/server/L0809037.log 183423 bytes
Datei: 80109/200708100812/server/L0809038.log 32313 bytes
Datei: 80109/200708100812/server/L0809039.log 766100 bytes
Datei: 80109/200708100812/server/L0809040.log 171859 bytes
Datei: 80109/200708100812/server/L0809041.log 321758 bytes
Datei: 80109/200708100812/server/L0809042.log 187482 bytes
Datei: 80109/200708100812/server/L0809043.log 694233 bytes
Datei: 80109/200708100812/server/L0809044.log 246992 bytes
Datei: 80109/200708100812/server/L0810000.log 452866 bytes
Datei: 80109/200708100812/server/L0810001.log 624508 bytes
Datei: 80109/200708100812/server/L0810002.log 551525 bytes
Datei: 80109/200708100812/server/L0810003.log 468929 bytes
Datei: 80109/200708100812/server/L0810004.log 214329 bytes
Datei: 80109/200708100812/server/L0810005.log 201484 bytes
Datei: 80109/200708100812/server/L0810006.log 304665 bytes
Datei: 80109/200708100812/server/L0810007.log 259273 bytes
Datei: 80109/200708100812/server/L0810008.log 192757 bytes
Datei: 80109/200708100812/server/L0810009.log 248479 bytes
Datei: 80109/200708100812/server/L0810010.log 239236 bytes
Datei: 80109/200708100812/server/L0810011.log 237318 bytes
Datei: 80109/200708100812/server/L0810012.log 215156 bytes
Datei: 80109/200708100812/server/L0810013.log 162528 bytes
Datei: 80109/200708100812/server/L0810014.log 400613 bytes
Datei: 80109/200708100812/server/L0810015.log 291708 bytes
Datei: 80109/200708100812/server/L0810016.log 250583 bytes
Datei: 80109/200708100812/server/L0810017.log 235394 bytes
Datei: 80109/200708100812/server/L0810018.log 240468 bytes
Datei: 80109/200708100812/server/L0810019.log 81920 bytes
Directory: 80109/200708100812/teamspeak2/.
Directory: 80109/200708100812/teamspeak2/..
Datei: 80109/200708100812/teamspeak2/server.log 1133 bytes
Directory: 80109/200708110418/mani/.
Directory: 80109/200708110418/mani/..
Directory: 80109/200708110418/server/.
Directory: 80109/200708110418/server/..
Datei: 80109/200708110418/server/L0810000.log 523 bytes
Datei: 80109/200708110418/server/L0810001.log 165507 bytes
Datei: 80109/200708110418/server/L0810002.log 34719 bytes
Datei: 80109/200708110418/server/L0810003.log 119097 bytes
Datei: 80109/200708110418/server/L0810004.log 114443 bytes
Datei: 80109/200708110418/server/L0810005.log 334724 bytes
Datei: 80109/200708110418/server/L0810006.log 197445 bytes
Datei: 80109/200708110418/server/L0810007.log 127728 bytes
Datei: 80109/200708110418/server/L0810008.log 176435 bytes
Datei: 80109/200708110418/server/L0810009.log 155851 bytes
Datei: 80109/200708110418/server/L0810010.log 93338 bytes
Datei: 80109/200708110418/server/L0810011.log 76043 bytes
Datei: 80109/200708110418/server/L0810012.log 70904 bytes
Datei: 80109/200708110418/server/L0810013.log 241948 bytes
Datei: 80109/200708110418/server/L0810014.log 133837 bytes
Datei: 80109/200708110418/server/L0810015.log 244121 bytes
Datei: 80109/200708110418/server/L0810016.log 119269 bytes
Datei: 80109/200708110418/server/L0810017.log 137952 bytes
Datei: 80109/200708110418/server/L0810018.log 105517 bytes
Datei: 80109/200708110418/server/L0810019.log 115542 bytes
Datei: 80109/200708110418/server/L0810020.log 147904 bytes
Datei: 80109/200708110418/server/L0810021.log 205542 bytes
Datei: 80109/200708110418/server/L0810022.log 157085 bytes
Datei: 80109/200708110418/server/L0810023.log 154815 bytes
Datei: 80109/200708110418/server/L0810024.log 154839 bytes
Datei: 80109/200708110418/server/L0810025.log 316089 bytes
Datei: 80109/200708110418/server/L0810026.log 373949 bytes
Datei: 80109/200708110418/server/L0810027.log 38950 bytes
Datei: 80109/200708110418/server/L0810028.log 127877 bytes
Datei: 80109/200708110418/server/L0810029.log 119876 bytes
Datei: 80109/200708110418/server/L0810030.log 124329 bytes
Datei: 80109/200708110418/server/L0810031.log 125378 bytes
Datei: 80109/200708110418/server/L0810032.log 155410 bytes
Datei: 80109/200708110418/server/L0810033.log 170791 bytes
Datei: 80109/200708110418/server/L0810034.log 124264 bytes
Datei: 80109/200708110418/server/L0810035.log 325192 bytes
Datei: 80109/200708110418/server/L0810036.log 645120 bytes
Datei: 80109/200708110418/server/L0810037.log 687715 bytes
Datei: 80109/200708110418/server/L0810038.log 199216 bytes
Datei: 80109/200708110418/server/L0810039.log 413096 bytes
Datei: 80109/200708110418/server/L0810040.log 113450 bytes
Datei: 80109/200708110418/server/L0810041.log 135773 bytes
Datei: 80109/200708110418/server/L0811000.log 225313 bytes
Datei: 80109/200708110418/server/L0811001.log 479991 bytes
Datei: 80109/200708110418/server/L0811002.log 137204 bytes
Datei: 80109/200708110418/server/L0811003.log 131231 bytes
Datei: 80109/200708110418/server/L0811004.log 120256 bytes
Datei: 80109/200708110418/server/L0811005.log 133019 bytes
Datei: 80109/200708110418/server/L0811006.log 122576 bytes
Datei: 80109/200708110418/server/L0811007.log 85774 bytes
Datei: 80109/200708110418/server/L0811008.log 96937 bytes
Datei: 80109/200708110418/server/L0811009.log 34622 bytes
Datei: 80109/200708110418/server/L0811010.log 128536 bytes
Datei: 80109/200708110418/server/L0811011.log 20480 bytes
Directory: 80109/200708110418/teamspeak2/.
Directory: 80109/200708110418/teamspeak2/..
Datei: 80109/200708110418/teamspeak2/server.log 903 bytes
Directory: 80109/200708110812/mani/.
Directory: 80109/200708110812/mani/..
Directory: 80109/200708110812/server/.
Directory: 80109/200708110812/server/..
Datei: 80109/200708110812/server/L0811000.log 523 bytes
Datei: 80109/200708110812/server/L0811001.log 135395 bytes
Datei: 80109/200708110812/server/L0811002.log 137772 bytes
Datei: 80109/200708110812/server/L0811003.log 123301 bytes
Datei: 80109/200708110812/server/L0811004.log 113016 bytes
Datei: 80109/200708110812/server/L0811005.log 65723 bytes
Datei: 80109/200708110812/server/L0811006.log 337544 bytes
Datei: 80109/200708110812/server/L0811007.log 108514 bytes
Datei: 80109/200708110812/server/L0811008.log 112058 bytes
Datei: 80109/200708110812/server/L0811009.log 121900 bytes
Datei: 80109/200708110812/server/L0811010.log 109421 bytes
Datei: 80109/200708110812/server/L0811011.log 98304 bytes
Directory: 80109/200708110812/teamspeak2/.
Directory: 80109/200708110812/teamspeak2/..
Datei: 80109/200708110812/teamspeak2/server.log 676 bytes
Net::FTP=GLOB(0x8357918)>>> QUIT
Net::FTP=GLOB(0x8357918)<<< 221 Goodbye.
wp1080815@vwp0282:/is/htdocs/wp1080815_AZLXA8238E/csslogs$
wp1080815@vwp0282:/is/htdocs/wp1080815_AZLXA8238E/csslogs$

Wie schaffe ich es jetzt dass die dateien in der liste auf den server (wo das script läuft) runtergeladen werden?
 
<?php
$FTPServer = "name_von_server";
$FTPUser = $User;
$FTPPasswort = $Pass;
$Datei = "$dateiname.endung";

$Ziel = "./$Datei";

if($_REQUEST['Send'])
{

$VerbindungsID = ftp_connect($FTPServer);
$LoginErgebnis = ftp_login($VerbindungsID, $FTPUser, $FTPPasswort);
if($VerbindungsID && $LoginErgebnis)
{
$UploadErgebnis = ftp_put($VerbindungsID, $Ziel, $Datei , FTP_BINARY);
if($UploadErgebnis)
{
echo"Die Datei wurde hochgeladen!";
}
else
{
echo"Die Datei konnte nicht hochgeladen werden.";
}
ftp_quit($VerbindungsID);
}
else
{
echo"Es konnte keine Verbindung mit dem FTP-Server hergestellt werden.";
}
}
else
{
?>

..... erklärt sich ja von selbst würde ich sagen!

Ricci
 
aha,
welche endung muss die scriptdatei dann haben?
kann ich wenn ich $Datei = "$*.*" angebe alles runterladen?
und wie kann ich es einstellen das bereits vorhandene dateien überschrieben werden sollen?


danke
bye
 
PHP:
<?php
$FTPServer = "name_von_server";
$FTPUser = $User;
$FTPPasswort = $Pass;
$Datei = "$dateiname.endung";// z.B. $Datei =dateiname.php//

$Ziel = "./$Datei";

if($_REQUEST['Send'])
{

$VerbindungsID = ftp_connect($FTPServer);
$LoginErgebnis = ftp_login($VerbindungsID, $FTPUser, $FTPPasswort);
if($VerbindungsID && $LoginErgebnis)
{
$UploadErgebnis = ftp_put($VerbindungsID, $Ziel, $Datei , FTP_BINARY);
if($UploadErgebnis)
{
echo"Die Datei wurde hochgeladen!";
}
else
{
echo"Die Datei konnte nicht hochgeladen werden.";
}
ftp_quit($VerbindungsID);
}
else
{
echo"Es konnte keine Verbindung mit dem FTP-Server hergestellt werden.";
}
}
else
{
?>
 

Neue Beiträge

Zurück