我的 Ubuntu 桌面上运行着 Duplicity。如果我从命令行运行它,它会正常运行,但是,当我使用 Cron 安排它时,我收到此错误:
backendException:与 userid@server:22 的 ssh 连接失败:不是有效的 RSA 私钥文件(实际的用户 ID 和服务器名称已被删除)
通过 Cron 运行一个简单的 SCP 命令将文件从我的桌面复制到备份服务器运行正常,所以我不认为 SSH 是问题所在。
有什么修复建议吗?
答案1
我遇到了同样的问题,并发现SSH_AUTH_SOCK
环境变量是罪魁祸首。与常规 Ubuntu 环境相比,cron 为进程设置的变量有限。
所以我必须复制它的值并将命令放入 cronfile 中:
/usr/bin/env SSH_AUTH_SOCK=/path/to/socket duplicity ...
使其工作。