Modifier des fichiers sur un autre serveur

a marqué ce sujet comme résolu.

Bonjour à tous :) ,

J’ai mon serveur web, appelons-le web-110 et mon serveur mail, appelons-le mail-112.

J’aimerais exécuter un script python sur web-110 qui modifierait deux fichiers sur mail-112, à savoir un fichier dans un répertoire utilisateur et /etc/crontab mais je n’ai aucune idée de comment commencer…

J’imagine que depuis mon script sur web-110, je vais devoir utiliser un bibliothèque ssh pour me connecter et lancer sur mail-112 mes deux commandes, mais sur internet, il y a une multitude de choses qui se rapportent à python et ssh.

Quel serait votre meilleure solution ?

PS : je n’ai pas encore de code (mais ça viendra selon vos réponses, j’imagine. :) ) parce que ça n’en est qu’au stade d’idée.

Merci beaucoup d’avance pour vos réponses et votre temps ! :)

+0 -0

Si tu veux utiliser SSH avec python, tu peux utiliser la bibliothèque paramiko.

Je ne connais pas ton use-case, c’est certainement hors sujet, mais y aurait-il un intérêt à lancer la commande à partir d’un e-mail plutôt que par un script python sur un autre serveur ?

+0 -0

J’aimerais exécuter un script python sur web-110 qui modifierait deux fichiers sur mail-112, à savoir un fichier dans un répertoire utilisateur et /etc/crontab mais je n’ai aucune idée de comment commencer…

Koala

Qu’est-ce qui rend impossible le lancement des scripts directement sur le serveur concerné, mail-112 ?

+0 -0

Bonjour :)

Si tu veux utiliser SSH avec python, tu peux utiliser la bibliothèque paramiko.

Merci beaucoup, @ache, j’avais vu passer cette bibliothèque mais je préférais avoir l’avis de la communauté. :)

Je ne connais pas ton use-case, c’est certainement hors sujet, mais y aurait-il un intérêt à lancer la commande à partir d’un e-mail plutôt que par un script python sur un autre serveur ?

ache

Et tu ferais ça comment ? J’ai aucune idée !

J’aimerais exécuter un script python sur web-110 qui modifierait deux fichiers sur mail-112, à savoir un fichier dans un répertoire utilisateur et /etc/crontab mais je n’ai aucune idée de comment commencer…

Koala

Qu’est-ce qui rend impossible le lancement des scripts directement sur le serveur concerné, mail-112 ?

sgble

J’aimerais garder la séparation entre mon serveur web-110, qui sert de web serveur et mon serveur mail-112 sur lequel je dois modifier les fichiers concernés.


En gros, je vais m’expliquer un peu plus.

J’aimerais sur mon webserveur web-110 faire un formulaire où mes collègues pourrait entrer leur identifiant, les dates de départ et de retour en vacances et un message d’absence à mettre sur leur boite mail.

Du coup, sur mon serveur mail-112, je dois modifier leur fichier d’absence dans leur dossier utilisateur et modifier le crontab pour renommer le script en script quand ils partent en vacances, et le renommer en script.bak quand ils reviennent.


En attendant, merci pour vos réponses, je creuse vos solutions. :D

+0 -0

Bonjour :)

Si tu veux utiliser SSH avec python, tu peux utiliser la bibliothèque paramiko.

Merci beaucoup, @ache, j’avais vu passer cette bibliothèque mais je préférais avoir l’avis de la communauté. :)

Koala

Oui, Paramiko c’est du solide, tu peux y aller. C’est bien documenté, c’est maintenu et ça fait plutôt référence. Ça fait un bout de temps que j’ai pas fait de Python donc j’ai plus tellement les yeux sur la concurrence, mais pour avoir codé et déployé des programmes en entreprise reposant sur Paramiko, ça a toujours fait le boulot !

J’aimerais sur mon webserveur web-110 faire un formulaire où mes collègues pourrait entrer leur identifiant, les dates de départ et de retour en vacances et un message d’absence à mettre sur leur boite mail.

Du coup, sur mon serveur mail-112, je dois modifier leur fichier d’absence dans leur dossier utilisateur et modifier le crontab pour renommer le script en script quand ils partent en vacances, et le renommer en script.bak quand ils reviennent.

Si je comprends bien, sur web-110 tu as une app Web qui tourne (celle qui permet à tes collègues d’indiquer leurs dates). Si cette même app Web expose une API minimale (et sécurisée), puisqu’elle a déjà toutes les infos pour ce faire, un script sur mail-112 peut facilement la consommer pour avoir les bonnes infos et mettre à jour ses fichiers. Et tu maintiens la séparation comme tu le voulais.

Ça part du principe que tu es la personne qui développe cette dite app Web.

Il n’y a pas de solution unique, mais c’est celle qui me semble la plus immédiate, là.

+0 -0

Bonjour :)

Si je comprends bien, sur web-110 tu as une app Web qui tourne (celle qui permet à tes collègues d’indiquer leurs dates). Si cette même app Web expose une API minimale (et sécurisée), puisqu’elle a déjà toutes les infos pour ce faire, un script sur mail-112 peut facilement la consommer pour avoir les bonnes infos et mettre à jour ses fichiers. Et tu maintiens la séparation comme tu le voulais.

sgble

Si je comprends bien, je devrais développer en Python, sur web-110 une web API ? Je n’y ai pas pensé mais ça pourrait être une belle façon d’exécuter ça ! Et donc, ça serait un script sur mail-112 qui ferait les requêtes vers web-110 et ce même script qui exécuterait les commandes BASH ?

Je vais y réfléchir mais ça me semble être une très bonne solution !

Merci @sgble !

Belle journée surtout :D

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte