您的位置:首页 > 其它

通过cron自动更新服务器上的程序

2008-05-07 18:24 204 查看
一台Linux服务器上部署了一个网站的程序代码,通过svn checkout到htdocs下的网站目录中。

为了能自动更新代码的变更,写了一个shell脚本svn_update.sh并将其添加到cron中每隔5分钟更新一次网站代码。

[svn_update.sh]文件如下:

/usr/bin/svn update --username myusername --password mypass /usr/local/apache/htdocs/mysite

并通过crontab -e修改cron:

*/5 * * * * /usr/local/apache/htdocs/mysite/svn_update.sh &

结果:cron自动成功运行,每隔5分钟执行一次svn_update.sh脚本(可以通过tail -f /var/log/cron查看到cron的运行日志),

但奇怪的是mysite下的程序代码并有更新,直接在shell命令行下手动执行svn_update.sh成功更新网站程序文件。

解决:开始认为是权限问题,但后来把svn_update.sh /usr/bin/svn都置成了777权限还是不行,经过几经周折终于找到解决办法,

在svn_update.sh中首行增加

. /etc/profile
. ~/.bash_profile

两行命令,大功告成。

如此可见使环境变量的问题。呵呵。。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: