QNX_LOG_DIR="/qnxlog" TOP_DIR="$QNX_LOG_DIR/top" HOGS_DIR="$QNX_LOG_DIR/hogs" PIDIN_A_DIR="$QNX_LOG_DIR/pidin" # 创建输出目录,如果不存在 mkdir -p $TOP_DIR mkdir -p $HOGS_DIR mkdir -p $PIDIN_A_DIR while true do top -b -i 1 >> $TOP_DIR/top1.log hogs -i 1 >> $HOGS_DIR/hogs1.log pidin a >> $PIDIN_A_DIR/pidin1.log sleep 10 done在这个脚本中,需要增加功能 让其每次启动检查文件夹下的文件名,如果带1,则生成带2的文件,如果都有,清空时间早的文件,并进行输入
时间: 2024-03-18 21:42:35 浏览: 116
Qnx425.rar_qnx_qnx425_tcp qnx
5星 · 资源好评率100%
可以在脚本中添加如下代码来实现上述功能:
```bash
# 检查输出目录中的文件名,生成新的文件名
if [[ -f $TOP_DIR/top1.log && -f $HOGS_DIR/hogs1.log && -f $PIDIN_A_DIR/pidin1.log ]]; then
# 如果都存在以“1”结尾的文件,则生成以“2”结尾的文件
mv $TOP_DIR/top1.log $TOP_DIR/top2.log
mv $HOGS_DIR/hogs1.log $HOGS_DIR/hogs2.log
mv $PIDIN_A_DIR/pidin1.log $PIDIN_A_DIR/pidin2.log
elif [[ -f $TOP_DIR/top1.log || -f $HOGS_DIR/hogs1.log || -f $PIDIN_A_DIR/pidin1.log ]]; then
# 如果只存在部分以“1”结尾的文件,则生成缺失的以“1”结尾的文件
touch $TOP_DIR/top1.log
touch $HOGS_DIR/hogs1.log
touch $PIDIN_A_DIR/pidin1.log
fi
# 清空时间早的文件
find $TOP_DIR -name "top*.log" -mtime +1 -exec rm {} \;
find $HOGS_DIR -name "hogs*.log" -mtime +1 -exec rm {} \;
find $PIDIN_A_DIR -name "pidin*.log" -mtime +1 -exec rm {} \;
```
这段代码中,首先检查输出目录中的文件名,如果都存在以“1”结尾的文件,则生成以“2”结尾的文件;如果只存在部分以“1”结尾的文件,则生成缺失的以“1”结尾的文件。然后,使用 `find` 命令清空时间早于一天的日志文件。这样就可以确保每个输出文件都有新鲜的数据,并且不会占用过多的磁盘空间。
阅读全文