stexp Posté 28 Avril 2006 Partager Posté 28 Avril 2006 Bonjour Je cherche à créer un script shell unix pour me connecter sur un serveur distant par ftp pour déposer un fichier tar sur celui-ci et le détarrer dans le bon chemin Ce script sera lancé quotidiennement via la crontab Mais voilà, je débute... Quelqu'un peut-il m'apporter une esquisse de solution? je dispose des paramètres de connexion sur le serveur distant (adresse IP, login et password) Comment puis-je crée mon script shell pour qu'il se connecte avec ces bons paramètres? Merci d'avance stexp Lien vers le commentaire Partager sur d’autres sites More sharing options...
dièse Posté 28 Avril 2006 Partager Posté 28 Avril 2006 Bonjour, Puisque tu as accès au serveur distant, n'as-tu pas la possibilité de mettre en place un cron sur celui-ci ? Ca serait beaucoup plus simple à réaliser que l'inverse. Lien vers le commentaire Partager sur d’autres sites More sharing options...
stexp Posté 28 Avril 2006 Auteur Partager Posté 28 Avril 2006 En fait, je dois récupérer un fichier qui se trouve sur 1 serveur A pour l'envoyer sur le serveur B. J'ai les accès sur les 2 serveurs mais le pb est que je ne sais pas comment faire pour lancer un script shell qui se connecte par ftp sur l'autre serveur en écrivant en dur dans le shell les login et mot de passe Pour info par exemple, la commande: ftp login:pswd_AT_monSite.com ne fonctionne pas... Quelqu'un a une idée? Lien vers le commentaire Partager sur d’autres sites More sharing options...
dièse Posté 28 Avril 2006 Partager Posté 28 Avril 2006 Le plus simple est normalement de créer un script sur le serveur B, de récupérer ton fichier avec la commande wget et de le dézipper là où tu veux. Dans ce shéma là tu n'as besoin d'aucune configuration particulière. Lien vers le commentaire Partager sur d’autres sites More sharing options...
stexp Posté 28 Avril 2006 Auteur Partager Posté 28 Avril 2006 Merci pour ces bons conseils. Mais je dois trouver le moyen de ne pas utiliser wget car cette commande ne fonctionne pas J'ai trouver pour me connecter: ftp -v -n $IP_SD<<EOF user $USER $PASSWD il me reste à voir pour dézipper le fichier dans le répertoire du serveur distant! Si tu as une solution, n'hésites pas! Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
spyjo Posté 28 Avril 2006 Partager Posté 28 Avril 2006 (modifié) Merci pour ces bons conseils. Mais je dois trouver le moyen de ne pas utiliser wget car cette commande ne fonctionne pas J'ai trouver pour me connecter: ftp -v -n $IP_SD<<EOF user $USER $PASSWD il me reste à voir pour dézipper le fichier dans le répertoire du serveur distant! Si tu as une solution, n'hésites pas! Merci <{POST_SNAPBACK}> pour dézipper, il vaudrait mieux alors un cron sur le serveur distant, placé après un certain temps de l'envoi du zip pour que ça concorde. sinon il y a un autre moyen, c'est de passer par rsync couplé à ssh pour envoyer l'archive, et ssh pour éxécuter à distance le script bash qui va extraire l'archive. pour que ssh marche entre les 2 serveurs sans avoir à taper de mot de passe, il faut générer une clé publique sur le serveur 1 puis la copier dans le serveur 2. autre solution, pour rester dans le ftp, sur le serveur 2 il faut un script qui se connecte en ftp sur le serveur 1, récupère le fichier, et le dézippe. Modifié 28 Avril 2006 par spijoel Lien vers le commentaire Partager sur d’autres sites More sharing options...
stexp Posté 28 Avril 2006 Auteur Partager Posté 28 Avril 2006 Je pense que je vais obter pour la solution de la crontab sur le serveur distant, après tout, c'est ce qui me paraît le plus simple. Quand à la solution que tu évoques spijoel, au sujet de la clé publique, je ne connais pas du tout cette méthode! Mais peut-être peux-tu m'indiquer un lien qui m'en diras plus? En tout cas, je te remercie beaucoup! Lien vers le commentaire Partager sur d’autres sites More sharing options...
dièse Posté 28 Avril 2006 Partager Posté 28 Avril 2006 tu peux consulter ce lien http://www.tuteurs.ens.fr/internet/loin/ssh.html#s1_2 Lien vers le commentaire Partager sur d’autres sites More sharing options...
stexp Posté 2 Mai 2006 Auteur Partager Posté 2 Mai 2006 Bien noté Dièse! Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
The Jedi Posté 10 Mai 2006 Partager Posté 10 Mai 2006 Tu peux aussi passer par SCP si les 2 serveurs sont sous Linux. En enregistrant la clé publique du serveur A sur le serveur B, ça t'évitera même de t'identifier dessus. Tu sécurises ainsi tes transferts et évite à tes mots de passe de transiter en clair sur le réseau. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 10 Mai 2006 Partager Posté 10 Mai 2006 scp est ce que j'utilise pour faire les mises à jour des serveurs infogérés par le Hub. L'usage des clés publiques/privées évite effectivement d'avoir des mots de passe qui transitent par le réseau. Rsync est plus performant lorsqu'on veut transférer uniquement les fichiers modifiés d'une arborescence, mais SCP est plus efficace s'il ne s'agit que d'un seul fichier (et plus simple à mettre en place) Dan Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant