Comment puis-je vérifier si un fichier existe sur un serveur distant à l'aide de Perl?
Comment puis-je vérifier si un fichier existe sur un serveur distant à l'aide de Perl?
Puis-je faire cela tout en utilisant le module Perl Net::FTP
?
VÉRIFIER POUR VOIR SI LE FICHIER EXISTE
if (-e $file_check) {
print "File Exists!\n";
}
else {
print "File Doesn't Exist!\n";
}
Vous devez vous connecter pour publier un commentaire.
Vous pourriez être mieux servis par l'utilisation de SSH pour ce faire:
ssh
programme en ligne de commande est conçu pour ne pas permettre que (en raison de problèmes de sécurité).Vous pouvez utiliser une commande telle que:
Si le fichier est dans l'espace FTP sur le serveur distant, puis use Net::FTP. Obtenir un
ls
liste du répertoire et de voir si votre fichier est là.Mais vous ne pouvez pas simplement aller et de voir si n'importe quel fichier sur le serveur. Pensez à ce que un problème de sécurité qui serait.
Connecter au serveur FTP, et de voir si vous pouvez obtenir un FTP
SIZE
sur le fichier dont vous vous souciez:Vous pouvez utiliser un script expect pour le même but (nécessite pas de modules supplémentaires). Le fait de s'attendre va exécuter la commande "ls-l" sur le serveur FTP et le script perl qui va analyser la sortie et de décider si le fichier existe. C'est vraiment simple à mettre en œuvre.
Voici le code,
Script PERL: (main.pl)
Script expect: (ftp_chk.exp)
J'ai utilisé cette configuration dans un de mes outils et je peux vous garantir que cela fonctionne parfaitement 🙂