Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import os
- import socket
- import paramiko # apt-get install python-paramiko
- FILES=["filenameA","filenameB","filenameC","filenameD","filenameE"]
- HOSTS=["192.168.20.20","192.168.20.30","192.168.20.40","192.168.20.50","192.168.20.60"]
- USERNAME="USERNAME"
- PASSWORD="******"
- PORT=22
- REMOTE_FOLDER="/tmp/"
- if __name__ == "__main__":
- for host in HOSTS:
- print "connecting to: ", host
- sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- try:
- sock.connect((host,PORT))
- t = paramiko.Transport(sock)
- t.start_client()
- t.auth_password(USERNAME,PASSWORD)
- for filename in FILES:
- scp_channel = t.open_session()
- print "\tsending...",filename
- remote_filename = "%s%s" % (REMOTE_FOLDER,filename)
- f = file(filename,'rb')
- scp_channel.exec_command('scp -v -t %s\n' % '/'.join(remote_filename.split('/')[:-1]))
- scp_channel.send('C%s %d %s\n' %(oct(os.stat(filename).st_mode)[-4:],os.stat(filename)[6],remote_filename.split('/')[-1]))
- scp_channel.sendall(f.read())
- f.close()
- scp_channel.close()
- except:
- print "ERROR - couldn't connect to %s " % host
- t.close()
- sock.close()
Add Comment
Please, Sign In to add comment