gpt4 book ai didi

python - 使用 P4 运行 crontab 作业

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:18:32 25 4
gpt4 key购买 nike

我有一个 shell 脚本,它又调用一个 python 脚本。但在 python 脚本运行之前,我正在设置环境变量,以便获得正确的 P4 配置。

shell: /home/ag/ump_prod/run.sh
python script: /home/ag/ump_prod/cron.py
Environment conf: /home/ag/ump_prod/env.conf

python 脚本通过 subprocess 模块执行命令行 P4 命令。这是 shell 脚本的代码

#!/bin/sh
. /home/ag/ump_prod/env.conf
python /home/ag/ump_prod/cron.py

环境配置文件

export SHELL=/bin/bash
export USER=ag
export MAIL=/var/mail/ag
export HOME=/home/ag
export LOGNAME=ag
export P4CONFIG=/home/ag/ump_prod/.perforce

perforce 配置/home/ag/ump_prod/.perforce :

P4CLIENT=ag_ump
P4EDITOR=/usr/bin/vim
P4PORT=rsh:ssh -2 -q -a -x -l p4server p4.****.com /bin/true
P4USER=ag

手动运行 shell 脚本可以毫无问题地执行它。但是,当我通过 cronjob 运行它时,它会提示无法连接到服务器。

错误信息:

['TCP receive failed.\n', 'read: socket stdio: Connection reset by peer\n', 'Perforce client error:\n', '\tTCP receive failed.\n', '\tread: socket stdio: Connection reset by peer\n']

请告诉我在为 P4 配置设置环境变量时哪里可能出错。提前致谢!

最佳答案

我找到了解决方案:我还需要为 cronjob 动态启动 ssh-agent。这就像您第一次登录并启动 ssh-agent 一样。我们也需要告诉 cronjob 包含 eval ssh-agent

关于python - 使用 P4 运行 crontab 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47426699/

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