Aller au contenu

Sujets conseillés

Posté

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

Posté

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.

Posté

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?

Posté

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.

Posté

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é (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é par spijoel
Posté

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!

Posté

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.

Posté

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

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...