我希望使用Fabric从远程生产服务器到远程备份服务器的rsync文件。
存储在我的本地~/.ssh/config
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 :(得分:0)
不是织物,但它可以完成工作
尝试将dirs和嵌套子目录从本地复制到远程:
cmd = "sshpass -p {} scp -r {}/* root@{}://{}".format(
remote_root_pass,
local_path,
remote_ip,
remote_path)
os.system(cmd)
不要忘记导入操作系统,你可以检查返回的exitcode(0表示成功)
此外,您可能需要“yum install sshpass”
并更改/ etc / ssh / ssh_config StrictHostKeyChecking要求:StrictHostKeyChecking no