2015-07-05 61 views
1

我想要使用Fabric從遠程生產服務器到遠程備份服務器的rsync文件。存儲在我的本地~/.ssh/configFabric:兩臺遠程主機之間的rsync

Host backup 
    HostName 1.1.1.1 
    Port 33333 
    User swasher 

Host production 
    HostName 2.2.2.2 
    Port 44444 
    User swasher 

生產的機器上現在我想運行的rsync

服務器證書,我需要在這個命令插入備份服務器的主機/用戶/名字,像這樣

@hosts('production') 
def backup(): 
    run("rsync -avz -e 'ssh -p {PORT}' /from/ {USER}@{HOST}:/to/'.format(backup.PORT, backup.USER, backup.HOST)) 

如何獲取備份服務器的憑證以運行rsync?

回答

0

器W面料,但它的工作

試試這個從本地複製迪爾斯和嵌套子目錄到遠程:

cmd = "sshpass -p {} scp -r {}/* [email protected]{}://{}".format(
    remote_root_pass, 
    local_path, 
    remote_ip, 
    remote_path) 
os.system(cmd) 

不要忘記導入操作系統,你可以檢查返回的退出碼(0成功)

你也可能需要 「百勝安裝sshpass」

而變化的/ etc/SSH/ssh_config中StrictHostKeyChecking問:StrictHostKeyChecking沒有