Fabric SSH python

Vous pouvez vous connecter en SSH sur un serveur distant avec le module fabric

Configurer fabric

sudo aptitude install python-dev
sudo pip install fabric
sudo pip install paramiko
#!/usr/bin/env python
#-*- coding: utf-8 -*-

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/2014.sql.gz", local_path="/home/olivier/2014.sql.gz")

Ou en écriture courte:

get("/backup/2014.sql.gz", "/home/olivier/2014.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 disant

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/2014")