Python 之远程复制文件及调用远程命令脚本

#!/usr/bin/env python
#-*-coding:UTF-8-*-
"""
@Item   :  v1.0
@Author :  ShengWangQiang
@Group  :  System 
@Date   :  2015-01-28
@E-mail :  [email protected]
@Funtion:
         
"""

import sys,time,os,traceback,commands,
import paramiko,

class Remote(object):
    def __init__(self):
        version = ‘v0.1‘
        self.users = ‘root‘
        self.passwd  = "1234567890"
        self.port = 22
        

    def log(self,info):
        files = open(‘/tmp/deploy.log‘,‘a‘)
        try:
            files.write(‘[%s]: %s \n‘ %(time.ctime(),info))
        except IOError:
            files.close()
        files.close()

    def cmds(self,host,comm):
        try:
            print comm
            client = paramiko.Transport((host,int(self.port)))
            client.connect(username=self.users,password=self.passwd)
            chan = client.open_session()
            chan.exec_command(comm)
            chan.close()
        except:
            print ‘host‘, host
            print traceback.format_exc()
            self.log(traceback.format_exc())

    def sftps(self,host,files):
        try:
            lodir = ‘/opt/onfile‘
            rmdir = ‘/opt/onfile‘
            client = paramiko.Transport((host,int(self.port)))
            client.connect(username=self.users,password=self.passwd)
            sftp = paramiko.SFTPClient.from_transport(client)
            sftp.put(‘%s/%s‘%(lodir,files),‘%s/%s‘%(rmdir,files))
            client.close()
        except:
            print traceback.format_exc()
            self.log(traceback.format_exc())

    def work(self,comm):
        fp = open(‘/opt/online/ser_list.txt‘).readlines()
        for s in fp:
            host = s.strip()
            self.cmds(host,comm)
    def sftp(self,comm):
        fp = open(‘/opt/online/ser_list.txt‘).readlines()
        for s in fp:
            host = s.strip()
            self.sftps(host,files)

if __name__ == ‘__main__‘:
    sc = Remote()
    func =  sys.argv[1]
    files = sys.argv[2]
    if func == ‘sftp‘:
        sc.sftp(files)
    elif func == ‘work‘:
        sc.work(files)
时间: 2024-08-06 11:34:33

Python 之远程复制文件及调用远程命令脚本的相关文章

Linux远程复制文件

将本机文件app.properties 复制到用户为root,ip为ip的具体路径下去 scp app.properties [email protected]:/apps/javaconf/common/ 其他参考: 1.从本机复制文件到远程scp 文件名 远程计算机用户名@远程计算机的ip:远程计算机存放该文件的路径2.从远程复制文件到本机:scp 远程计算机用户名@远程计算机ip:文件名 存放该文件的本机路径3.本地复制目录到远程scp -r 目录名 远程计算机用户名@远程计算机的ip:远

linux scp 远程复制文件

1.从本机复制文件到远程scp 文件名 远程计算机用户名@远程计算机的ip:远程计算机存放该文件的路径2.从远程复制文件到本机:scp 远程计算机用户名@远程计算机ip:文件名 存放该文件的本机路径3.本地复制目录到远程scp -r 目录名 远程计算机用户名@远程计算机的ip:远程计算机存放该目录的路径4.远程复制目录到本机scp -r 远程计算机用户名@远程计算机ip:目录名 存放该目录的本机路径

远程调用shell脚本文件和远程复制文件

1.安装sshpass yum install sshpass 2.本地调用远程服务器的shell脚本文件: sshpass -p sa ssh [email protected] -C "/bin/bash" < test.sh 3.从本地复制文件到远程服务器: sshpass -p sa scp egova-pub-ex.jar [email protected]:/egova 原文地址:https://www.cnblogs.com/zhaoyanhaoBlog/p/119

linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录

最近需要写一个脚本备份各个服务器上的程序到一个指定服务器上,本来以为查查rsync命令的使用321就能搞定,结果rsync命令要支持自动登 录还是要配置服务和参数,又不确定网上说的配置的行不行,因为都是一个样,但是没有说明头尾,所以选择了一个尝试代价较小的ssh自动登录来替代之. ssh大家都能用到,通常我们用到的功能基本就是登录,或者远程执行shell命令. [plain] view plain copy ##登录 ssh [email protected]_or_ip ##执行远程命令 ss

远程复制文件scp使用

1. install sudo apt-get install openssh-client openssh-server 2. login ssh [email protected] 3. copy a single file from your local machine to the server, use the following syntax: scp file.txt [email protected]:/directory 4.  copy file from remote to

复制文件或目录linux命令

复制文件或目录命令:  复制文件:  (1)将本地文件拷贝到远程  scp 文件名用户名@计算机IP或者计算机名称:远程路径 本地192.168.1.8客户端  scp /root/install.* [email protected]:/usr/local/src (2)从远程将文件拷回本地  scp 用户名@计算机IP或者计算机名称:文件名本地路径 本地192.168.1.8客户端取远程服务器12.11上的文件  scp [email protected]:/usr/local/src/*.

shell 脚本远程复制文件

!/bin/bash #vim ip.txt server ip ip_array=$(cat /tmp/ip.txt) for ip in ${ip_array[*]} do scp -P6122 /tmp/test.sh  [email protected]$ip:/tmp/ done

scp远程传输文件和ssh远程连接

ssh使用方法 如果从一台linux服务器通过ssh远程登录到另一台Linux机器, 这种情况通常会在多台服务器的时候用到. 如用root帐号连接一个IP为192.168.1.102的机器,输入:“ ssh 192.168.1.102 -l root ” 如果该服务器的ssh端口不是默认的22端口,是自定义的一个如1234,则可在命令后面加参数-p,  如:“ ssh 192.168.1.102 -l root -p 1234 ” scp使用方法 1.获取远程服务器上的文件 scp -P 222

Python实验: 选择性复制文件

#! python # coding: utf-8 ###编写一个程序,遍历一个目录树,查找特定扩展名的文件(诸如.pdf 或.jpg).Python 编程快速上手--让繁琐工作自动化不论这些文件的位置在哪里,将它们拷贝到一个新的文件夹中. import shutil, os, re filedir = 'C:\\Users\\Loyu\\Desktop\\python1' desfiledir = 'C:\\Users\\Loyu\\Desktop\\file_copy' ###使用正则表达式