使用版本控制SVN用钩子实现了刷新web目录的操作,但是却发现不足,只能刷新项目的根目录,这时候如果想刷新某一制定目录就很尴尬啦,所有考虑使用链接刷新目录。
最开始的想法是使用PHP调用shell脚本,更新需要的目录。
PHP部分
在web目录下创建一个php文件
PHP代码
|
|
shell部分
在/root目录下创建一个sh文件
shell代码
|
|
本地执行sh文件
|
|
出现以下信息说明shell可以使用123[root@iZ2ze1jtxhkve7f07qko6nZ sshuser]# sh svnupdate.shUpdating '/data/www/html/':At revision 1.
使用浏览器访问php文件
错误提示sudo: no tty present and no askpass program specified Sorry, try again.
这时会发现sudo需要输入密码
这时我们需要修改sudo的配置文件
|
|
在文件添加1234##测试nginx ALL=(ALL) NOPASSWD: /root/svnupdate.sh //nginx用户不需要密码既可以执行/root/svnupdate.shapache ALL=(ALL) NOPASSWD: /root/svnupdate.sh //apache用户不需要密码既可以执行/root/svnupdate.sh具体使用web访问使用的什么用户就需要根据你安装web时的配置啦
重启nginx或apache,让用户重新获得权限。
再使用链接访问就可以更新的啦。
本文参考
错误提示sudo: no tty present and no askpass program specified Sorry, try again.