无法 运行 从 crontab 强制执行
Cannot run perforce from crontab
我正在尝试从 crontab 执行与 perforce 一起工作的 perl 脚本。这是我的 perl 代码:
print `/usr/local/bin/p4 filelog /projects/config.json`;
我遇到错误:
Perforce client error:
Connect to server failed; check $P4PORT.
TCP connect to perforce:1666 failed.
Name or service not known
同一命令在 cli 中运行顺利。我能用它做什么?
这是因为您没有在您的 cron 环境中设置 P4CONFIG
(或替代)环境变量。您只需要复制您在交互式 shell 中拥有的环境变量(也许使用 set | grep ^P4
来确定它们是什么)。
查找有关设置环境变量的更多详细信息here。
我发现解决方案是在 perl 代码中设置环境变量:
$ENV{'P4PORT'} = '...';
$ENV{'P4CLIENT'} = '...';
$ENV{'P4USER'} = '...';
$ENV{'P4PASSWD'} = '...';
我正在尝试从 crontab 执行与 perforce 一起工作的 perl 脚本。这是我的 perl 代码:
print `/usr/local/bin/p4 filelog /projects/config.json`;
我遇到错误:
Perforce client error:
Connect to server failed; check $P4PORT.
TCP connect to perforce:1666 failed.
Name or service not known
同一命令在 cli 中运行顺利。我能用它做什么?
这是因为您没有在您的 cron 环境中设置 P4CONFIG
(或替代)环境变量。您只需要复制您在交互式 shell 中拥有的环境变量(也许使用 set | grep ^P4
来确定它们是什么)。
查找有关设置环境变量的更多详细信息here。
我发现解决方案是在 perl 代码中设置环境变量:
$ENV{'P4PORT'} = '...';
$ENV{'P4CLIENT'} = '...';
$ENV{'P4USER'} = '...';
$ENV{'P4PASSWD'} = '...';