每次重新启动应用程序时,应删除目录 tomcat_*/temp 中的所有文件

All files in directories tomcat_*/temp should be deleted on each application restart

我们确实有一个操作脚本来停止、重新启动和启动 tomcat 服务。我被要求在操作脚本中进行更改,因此当使用 operation_script.sh 启动 tomcat 时,目录 tomcat_*/temp 中的所有文件都应在每次应用程序启动时删除。

脚本很长,所以我会摘录。

## service tomcat
if [[ ${service} == "tomcat" ]]; then

  case ${operation} in 
    stop) # stop tomcat java processes
    
      $DIR/command_bsiadmin.sh "
      sudo /usr/bin/systemctl stop bsicrm_${port_ui}.service;
      sudo /usr/bin/systemctl stop bsicrm_${port_be}.service;
      sudo /usr/bin/systemctl stop bsicrm_${port_se}.service; " ""
      tomcat_status
      ;;
    
    start) # start tomcat java processes  

      $DIR/command_bsiadmin.sh "
      find /opt/tsi/app/tomcat_*/temp/* -exec rm -rf {} + \; 2>/dev/null; # Here I apply my solution 
      sudo /usr/bin/systemctl start bsicrm_${port_se}.service;  
      sudo /usr/bin/systemctl start bsicrm_${port_be}.service;
      sudo /usr/bin/systemctl start bsicrm_${port_ui}.service;

tomcat 秒开始后,None 个临时文件被删除。测试了几次,但我不知道我哪里做错了。 find -exec rm 命令不应该删除目录 tomcat_*/temp 中的所有文件吗???提前致谢!

我不确定 + 后是否使用另一个分号。尝试删除分号,看看是否有帮助。

此外,您真的不需要使用 find,因为您已经在使用递归模式。 rm -fr -- /opt/tsi/app/tomcat_*/temp/* 应该足够了。启用nullglob也是值得称赞的。不要添加 2>/dev/null,这样您会看到错误。