但是不是所有日记都是在一个日记文件里了吗?
时间: 2024-03-05 19:49:00 浏览: 17
是的,如果所有日志都被追加到同一个文件中,那么你可以通过在脚本中添加一个删除日志的命令来自动清理旧日志。
```bash
# 定义变量
log_file="/var/log/program_monitor.log"
program_name="your_program_name"
max_days=7
# 检查程序是否在运行
if ps aux | grep "${program_name}" | grep -v grep > /dev/null; then
echo "$(date +%Y-%m-%d\ %H:%M:%S) - ${program_name} is running normally." >> "${log_file}"
else
echo "$(date +%Y-%m-%d\ %H:%M:%S) - ${program_name} is not running. Please check it." >> "${log_file}"
fi
# 删除超过指定天数的日志
find "$(dirname "${log_file}")" -type f -name "$(basename "${log_file}")" -mtime +${max_days} -delete
```
这个脚本会将所有日志追加到 `${log_file}` 文件中,并自动删除 `${log_file}` 文件最新七天以外的所有日志。注意,这里的 `max_days` 变量表示最新的日志保留天数,而不是 `${log_file}` 文件的保留天数,因为所有日志都被追加到同一个文件中。