定时清理7天前的Tomcat日志脚本

本文介绍了如何处理在Linux中运行由Windows系统编辑的bash脚本时遇到的'坏的解释器'错误。问题源于Windows与Linux换行符的不同。解决方法包括在Windows下使用Notepad++转换文件格式为UNIX格式,或者在Linux中通过vim编辑器进行换行符转换。执行`setfileformat=unix`并保存文件即可解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/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. 输入如下命令:

  1. :set ff
  2. # 如果是doc 设置成unix
  3. :set fileformat=unix
  4. :wq

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值