我一直想编写一个 python 脚本,该脚本将依次运行多个 rsync 实例,以便将数据备份到另一台计算机。
目前我只有这个包含我使用的命令的文本文件,我只是将它们复制粘贴到终端中,这看起来有点傻。
我希望能够使用 python 为我做这件事。我非常模糊地知道如何使用 subprocess.popen,但我不知道如何让 python 直接与 rsync 交互,比如为我输入密码。蟒蛇能做到吗?
就像是:
if theProccess.proccessResponse == "Password:" :
theProccess.respond(string)
或者我能做的最好的就是拥有它,甚至是 bash 脚本,只需按顺序运行 rsyncs 并且必须一遍又一遍地输入我的密码?
提前致谢。
原文由 Cheesemold 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您想与一般的子流程进行交互,您可以使用其他地方提到的 pexpect 。但是对于您的特定情况,假设您的 rsync 通过 ssh(默认设置)运行,那么您可能需要考虑在两台主机之间设置无 密码的 ssh 连接,这样就无需输入密码。这是一种 基于密钥的解决方案,比将密码存储在源代码中要安全得多。
这是一位讨论您的确切问题并决定使用无密码 ssh 的博主。