但是我发现在文件里多了一个这个文件program_monitor.log
时间: 2024-03-11 12:48:37 浏览: 118
如果你发现在目录 `${log_dir}` 中多了一个 `program_monitor.log` 文件,可能是因为在脚本中创建了该文件但没有在后续的删除操作中将其删除。
你可以在脚本中添加以下命令,将 `program_monitor.log` 文件删除:
```
rm -f "${log_dir}/program_monitor.log"
```
如果你不需要 `program_monitor.log` 文件,可以将脚本修改为以下形式,不再创建该文件:
```
#!/bin/bash
log_dir="/var/log/program_monitor"
max_logs=7
# 创建日志目录
mkdir -p "${log_dir}"
while true; do
# 创建日志文件名
log_file="${log_dir}/$(date +%Y%m%d%H%M).log"
# 写入日志信息
echo "$(date +%Y-%m-%d\ %H:%M:%S) hello world" >> "$log_file"
# 删除过期的日志文件
find "${log_dir}" -name '*.log' -type f -mmin +7 -delete
# 只保留最近的 max_logs 个日志文件
ls -t "${log_dir}"/*.log | tail -n +$((max_logs+1)) | xargs rm -f
# 等待一分钟
sleep 60
done
```
在这个版本的脚本中,我删除了创建 `program_monitor.log` 文件的语句,并且在删除日志文件时只删除扩展名为 `.log` 的文件,以避免误删其他类型的文件。
阅读全文