一个奇怪的“致命消息:无法从远程存储库读取”。与crontab

 accosta谭_738 发布于 2023-02-02 22:02

git init --bare example.git在本地主机中使用create 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

输出日志为:

权限被拒绝(公钥,键盘交互)。

致命:无法从远程存储库读取。

请确保您具有正确的访问权限,并且存储库存在。

然后我尝试:

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

但是输出是一样的。

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

已经是最新的。

我不知道为什么不能与crontab一起运行?

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

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

    最后一个选择是删除crontab条目并手动启动作为守护程序运行并定期执行拉取的Shell脚本。

    2023-02-02 22:20 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有