![移动并替换 tomcat webapps 中的目录](https://linux22.com/image/691534/%E7%A7%BB%E5%8A%A8%E5%B9%B6%E6%9B%BF%E6%8D%A2%20tomcat%20webapps%20%E4%B8%AD%E7%9A%84%E7%9B%AE%E5%BD%95.png)
我正在使用 puppet tomcat 插件来安装和启动 tomcat。tomcat 安装附带一个控制台,该控制台安装在 ${tomcat_dir}/webapps/ROOT 中。
ROOT 目录是用于将应用程序直接部署到 Web 服务器根目录的特殊目录。我需要在 ROOT 目录中安装我自己的应用程序。
因此我需要将 ROOT 目录重命名为控制台。据我所知,我可以将 ROOT 目录复制到控制台并删除 ROOT 目录。但是,当我将自己的应用程序安装到 ROOT 中时,如何避免它也被 puppet 擦除。
答案1
尽管这依赖于平台,但使用 exec 语句却相当容易。在没有其他解决方案的情况下,您将采取必要的措施来使事情正常运转。
exec { "move original ROOT to console":
unless => "/usr/bin/test -d ${tomcatDir}/webapps/console",
command => "/bin/mv ${tomcatDir}/webapps/ROOT ${tomcatDir}/webapps/console",
}
该命令确保移动具有不幸名称的目录,并且除非断言这只执行一次。