服务器之间传送文件

  1. 开发环境无法测试,运行错误

    在服务器work状态下可以测试

  2. 在服务器安装paramiko

    安装错误

    在root_app2下安装

    先安装python-dev

    服务器是centos,用此命令安装sudo yum install python-devel

    参考http://stackoverflow.com/questions/23541205/cant-install-python-dev-on-centos-6-5

    然后安装paramiko:pip install paramiko

  3. 在本地yangle分支上修改

    获取另外一台服务器的信息

    其中下面的值是从配置文件获得

    app_password是通过环境变量获得

    环境变量通过修改/etc/profile来设置

    参照http://www.cnblogs.com/longyejiadao/archive/2012/06/28/2567885.html

     if server_ip == app2_ip:
    
         hostname = app3_ip 
    
         username = app3_username
    
         password = ******
    
     else:
    
         hostname = app2_ip
    
         username = app2_username
    
         password = ******
    
    
    
     #链接另外一台服务器
    
     ssh=paramiko.Transport((hostname))
    
     ssh.connect(username=username,password=******)
    
     sftp=paramiko.SFTPClient.from_transport(ssh)
    
    
    
     #传送文件
    
     try:
    
         sftp.put(file_path, file_path)
    
         sftp.chown(file_path,1000,1000)
    
         sftp.close()
    
     except IOError:
    
         sftp.mkdir(modify_dir)  #创建路径
    
         '''
    
         更改用户和用户组为work
    
         1000为用户和用户组的id
    
         通过命令 id -u ***和id -g ***获得
    
         '''
    
         sftp.chown(modify_dir,1000,1000)
    
         sftp.put(file_path, file_path)
    
         sftp.chown(file_path,1000,1000)
    
         sftp.close()