gpt4 book ai didi

linux - 使用 cron 执行期望脚本时 rsync 给出错误

转载 作者:太空宇宙 更新时间:2023-11-04 04:12:19 26 4
gpt4 key购买 nike

这是我面临的问题。我们正在使用 rsync 将一些文件从我们的服务器备份到远程位置。 rysnc 作为服务器上的守护进程运行,我们定期从远程站点提取文件,其中 rsync 设置为 cron 作业。

最近的安全审计显示,我们正在使用未经身份验证的 rsync 模块,任何知道模块名称的人都可以下载共享文件。建议使用经过 rsync 身份验证的模块并维护 secret 文件。

为了使密码在远程站点上以交互方式传递,我使用了 Expect 脚本。现在我们面临的问题是,脚本在手动执行时可以正常工作。但是当在 cron 作为作业执行时,rsync 突然退出,我们在服务器端收到以下错误。

“rsync:连接意外关闭 rsync 错误:rsync 协议(protocol)数据流中出现错误(代码 12)”

我尝试了很多在互联网上找到的解决方案,但都是徒劳。请提出建议。

这里给出了expect脚本供您引用。

#!/usr/bin/expect -f
spawn /usr/bin/rsync -ruzc *.*.*.*::rsync_module/path/to/dir /tmp/dir --timeout=55
expect {
-re "Password:" {
exp_send "******\r"
}
}
interact

最佳答案

虽然这不是您正在寻找的解决方案,但为什么不使用基于 key 的身份验证。您不必为此目的将密码放入脚本中。

关于linux - 使用 cron 执行期望脚本时 rsync 给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18502236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com