gpt4 book ai didi

git - crontab 出现奇怪的 "fatal: Could not read from remote repository."

转载 作者:太空狗 更新时间:2023-10-29 14:32:54 25 4
gpt4 key购买 nike

我使用 git init --bare example.git 在我的本地主机上创建 git repo,用户是 git。

并且我用root来git clone,用crontab每分钟运行一次,命令是:

*/1 * * * * git --git-dir=/opt/xxx/.git --work-tree=/opt/xxx pull 1>>/tmp/git.log 2>&1

输出日志为:

Permission denied (publickey,keyboard-interactive).

fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

然后我试试:

 */1 * * * * cd /opt/xxx/ && git pull 1>>/tmp/git2.log 2>&1

但是输出是一样的。

如果我在命令行中运行,一切正常:

Already up-to-date.

不知道为什么不能用crontab运行?

最佳答案

基于代理的身份验证要求 SSH 进程有权访问 $SSH_AUTH_SOCK 环境变量,但在通过 crontab 运行时不会设置该变量。您可能需要考虑切换到无密码 key 对或匿名身份验证方法。

如果这不是一个选项,您可以将 $SSH_AUTH_SOCK 环境变量(也可能是 $SSH_AGENT_PID)的内容写入一个本地文件,您可以从您的 crontab 运行脚本中读取该文件并设置变量,以便它们可用于SSH。

最后一个选项是删除 crontab 条目并手动启 Action 为守护进程运行并定期执行 pull 的 shell 脚本。

关于git - crontab 出现奇怪的 "fatal: Could not read from remote repository.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21115434/

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