Retirado do meu site pessoal .
Devido à configuração do servidor do meu empregador,
frequentemente me encontro desenvolvendo em máquinas remotas. No entanto, acho difícil configurar um
ambiente de desenvolvimento em cada nova máquina. Então, geralmente acabo trabalhando
localmente o máximo possível via SSH-FS. Para qualquer outra pessoa que teve que
fazer isso também, aqui está um pequeno script que espero
ajudá-lo (apenas um pouco).
#!/usr/bin/env python
from subprocess import call
import os
servers = [
{
'host': 'some.remote.host', # host to connect to
'dir' : '/usr/local/supersecret/' # remote dir to mount
},
{
'host': 'some.other.remote.host',
'dir' : '/home/USER/'
}
]
user = os.environ['USER']
def connect():
"""
Connect SSH-FS's
"""
for server in servers:
try:
print("connecting to %s" %(server['host']))
print("------------------------------")
call(["sudo", "mkdir", "-p", "/Volumes/%s" % (server['host'])])
call(["sudo", "chown", "-R", user, "/Volumes/%s" % (server['host'])])
status = call(["sshfs",
"%s:%s" % (server['host'], server['dir']),
"/Volumes/%s" %(server['host'])])
if status == 0:
print("connected")
print("mounted locally at /Volumes/%s" % (server['host']))
print("mounted remotely at %s" % (server['dir']))
except:
print "Unexpected error:", sys.exc_info()[0]
finally:
print("n")
def get_sudo():
call(["echo", "Running as root. Beware!! (mwahahahaha)"])
call(["sudo", "echo"])
get_sudo()
connect()