#!/bin/bash
logs_path="/home/tomcat/tomcat_p2205_pdjwoa/logs"
#定时清理7天前的Tomcat日志脚本
find $logs_path -mtime +6 -name "localhost.*.log" -exec rm -rf {} \;
find $logs_path -mtime +6 -name "localhost_access_log.*.txt" -exec rm -rf {} \;
find $logs_path -mtime +6 -name "catalina.*.log" -exec rm -rf {} \;
find $logs_path -mtime +6 -name "manager.*.log" -exec rm -rf {} \;
find $logs_path -mtime +6 -name "host-manager.*.log" -exec rm -rf {} \;
find $logs_path -mtime +6 -name "catalina.out.*" -exec rm -rf {} \;
>$logs_path/catalina.out;
出现一个报错 /bin/bash^M: 坏的解释器: 没有那个文件或目录 的解决方法
原因:
由于windows系统下换行符为 \r\n,linux下换行符为 \n,所以导致在windows下编写的文件会比linux下多回车符号 \r。
百度出来的解决方式sed -i 's/\r$//' clear.sh
但是我执行了还是不行
最后找到的解决方式:
解决方案
1. 在windows下
可以使用nodepad打开该shell文件,然后将shell文件中的格式改为unix即可解决
2. 在linux环境下:
1. 使用vim打开该文件
2. 切换到命令行模式
3. 输入如下命令: