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