Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
apache2:调用&x27;a2ensite';来自Linux中的bash脚本_Linux_Bash_Apache2 - Fatal编程技术网

apache2:调用&x27;a2ensite';来自Linux中的bash脚本

apache2:调用&x27;a2ensite';来自Linux中的bash脚本,linux,bash,apache2,Linux,Bash,Apache2,我目前正在为我的Web服务器编写一个管理页面,以便于自己从浏览器创建新的apache域。除了一件事之外,一切都像我希望的那样正常工作 详细说明:我的服务器上有一个cron作业,它以root身份运行bash脚本,检查包含我要创建的域名列表的文件。如果文件包含域名,它会自动为此域创建新的虚拟主机,编辑“我的主机”文件,并重新启动服务器。这一切都很完美,但是我希望脚本能够做到的是,它在重新启动服务器之前激活它自动创建的域。我尝试使用Apache2的a2ensite命令执行此操作,但是脚本返回一个错误,

我目前正在为我的Web服务器编写一个管理页面,以便于自己从浏览器创建新的apache域。除了一件事之外,一切都像我希望的那样正常工作

详细说明:我的服务器上有一个cron作业,它以root身份运行bash脚本,检查包含我要创建的域名列表的文件。如果文件包含域名,它会自动为此域创建新的虚拟主机,编辑“我的主机”文件,并重新启动服务器。这一切都很完美,但是我希望脚本能够做到的是,它在重新启动服务器之前激活它自动创建的域。我尝试使用Apache2的
a2ensite
命令执行此操作,但是脚本返回一个错误,表示找不到该命令

有没有一种方法可以从bash脚本调用此命令,或者我可以调用此命令的替代方法

任何帮助都将不胜感激

$ which a2ensite
/usr/sbin/a2ensite
通常,cron有一个非常严格的$PATH,不包括
/usr/sbin
/sbin
,它们是系统二进制文件(供root用户使用)。使用完全限定的路径名总是一个好主意。因此,在脚本中调用
/usr/bin/a2ensite
,或者定义一个变量:

A2ENSITE=/usr/sbin/a2ensite
...
${A2ENSITE} new-domain.com
通常,cron有一个非常严格的$PATH,不包括
/usr/sbin
/sbin
,它们是系统二进制文件(供root用户使用)。使用完全限定的路径名总是一个好主意。因此,在脚本中调用
/usr/bin/a2ensite
,或者定义一个变量:

A2ENSITE=/usr/sbin/a2ensite
...
${A2ENSITE} new-domain.com

在bashrc中也可以这样做,为命令权限添加快捷方式。例如:别名a2ensite/usr/sbin/a2ensite也可以在bashrc中为命令权限添加快捷方式。例如:别名a2ensite/usr/sbin/a2ensite