我有两台服务器。其中一台运行 svn 服务器,另一台托管项目。
我每天都会执行一个 cronjob 来更新项目 - 例如运行 svn update、rebuild 等等。
现在,我在远程服务器上的 cronjob 可以正常工作了。然而,在本地服务器上为本地项目(即与 svn 相同的服务器)运行的类似 cronjob 却显示“svn:非工作副本”。
我仔细检查了路径、权限和用户信息,如果手动启动脚本,它运行正常。远程部署相同的东西也可以。
我甚至尝试使用 file:/// (建议这里http://www.hightekhosting.com.au/myaccount/knowledgebase/90/Using-SubversionorSVN-on-cPanel-Servers.html),但仍然没有任何反应。
请指教,
谢谢,
-hbt
答案1
这听起来像是您的本地 shell 和 cronjob 创建的环境之间的环境差异。
在以下位置创建此脚本/tmp/env-test
:
#!/bin/bash
env
echo $PATH
type -a svn
cd /path/to/local/workarea
svn info
使其可执行,手动运行,然后将其放入 cron 并保存其输出:
1 11 * * * /tmp/env-test 2>1 >/tmp/cron-env
比较本地运行和 cron 版本的输出。
我的直觉是你的 PATH 中有些不同。