Vous pouvez vous connecter en SSH sur un serveur distant avec le module fabric
Fabric c'est quoi?
Fabric est un outil en ligne de commande Python qui permet d'automatiser des tâches courantes de déploiement et de configuration sur des serveurs. Il peut être utilisé pour exécuter des commandes sur un ou plusieurs serveurs à distance, déployer des applications, mettre à jour des bases de données, etc.
Voici comment Fabric peut être utile:
- Vous gagnez du temps en automatisant des tâches répétitives qui prendraient du temps à effectuer manuellement.
- Vous pouvez être sûr que les tâches sont exécutées de manière cohérente sur chaque serveur, ce qui réduit les erreurs humaines.
- Fabric peut être utilisé pour orchestrer des tâches sur plusieurs serveurs, ce qui peut être utile lors du déploiement d'une application sur plusieurs instances ou dans un environnement de cluster.
Configurer fabric
sudo aptitude install python-dev
pip install fabric
pip install paramiko
from fabric.api import *
env.host_string = 'adresse_ip'
env.user = 'user'
env.password = 'password'
Récupérer un fichier
L'équivalent de la commande scp :
get(remote_path="/backup/2023.sql.gz", local_path="/home/olivier/2023.sql.gz")
Ou en écriture courte:
get("/backup/2023.sql.gz", "/home/olivier/2023.sql.gz")
Envoyer un fichier
Vous pouvez envoyer un fichier via SSH en utilisant la méthode put :
put('/home/olivier/file1.txt', '/backup/file2.txt')
Lancer une commande sur un servant distant
Vous pouvez run une commande sur un servant distant comme ceci:
run('python /scripts/script.py')
Sudo
Executez des scripts avec les droits super utilisateur:
sudo("mkdir /backup/2019")