Merci d'avoir répondu
Je pense qu'il y a une erreur à la 14e ligne de ton scrip
lol
J'ai hésité à mettre le script mais comme il marche pour le dossier juste à coté je pensais que ce n'était pas nécéssaire, le voici :
#!/usr/bin/perl
#Recupere les fichiers de logs cree il y a $n jours
use strict; #Syntaxe stricte
use Net::FTP; #charge le module netftp
use POSIX qw(strftime); #charge la fonction strftime
use IO::Handle; #charge le module IOHandle
STDOUT->autoflush(1); #enlever le buffer sur stdout
my $n = 0;
my ($adresse,$login,$pass,$rep) = ("XX","XX","XX","XX" ); #définir 4 variables, mettre my pour dire que les variables sont locales
my $ftp = Net::FTP->new($adresse, Debug => 0) or die "Unable to connect to $adresse\n"; #crée un nouvel objet netftp qui s'appelera $ftp
$ftp->login($login,$pass) or die "Unable to log in : $ftp->message\n";
#méthode login sur l'objet ftp
$ftp->cwd($rep) or die "Unable to cd to $rep : $ftp->message\n";
my @lines = $ftp->ls; #récupére chaque ligne du tableau avec le nom du fichier
foreach(@lines) {
my @ftime = localtime($ftp->mdtm($_));#récupère le temps de modification du fichier courant
my @ltime = localtime(time-$n*86400);#récupére la date d'il y a n jours
if ($ftime[5] == $ltime[5] && $ftime[4] == $ltime[4] && $ftime[3] ==
$ltime[3]) {
print "Downloading $_...";
$ftp->get($_); #téléchargement du fichier de logs en question
print "done\n";
}
}
$ftp->quit;
Or ce script fonctionne dans un cas mais pas dans l'autre.
Voici l'architecture du serveur D:\dossier\A\logs
et D:\dossier\B\logs, la procedure marche trés bien pour la A, mais ne marche pas pour le B....
Savez vous ce que veux dire le fait que lorsqu'on lance le script, rien ne se passe et il n'y a pas de message d'erreur, puis j'ai une nouvelle invite de commande.... ?
Citation :
[root@awstats client_B]# perl get.pl
[root@awstats client_B]#
|
Merci par avance
---------------
Il vaut mieux se taire et passer pour un con, plutot que l'ouvrir et prouver que l'on en est bien un....