shell脚本积累

1、except

要监控 "process_run"进程的输出,
当输出为 “this is a new message”的时候,这个程序才会退出,否则一直等待中

#!/usr/bin/expect
set timeout -1
spawn process_run hz /v2x/obstacles
expect {
     "this is a new message" { exit }
}
expect eof

2、打印top free df ifconfig到log


#!/bin/bash

d=`date +%Y%m%d_%H%M%S`
cd "$(dirname $1)"
if [ ! -d $1 ];then mkdir $1;fi


function info_log(){
while(2>1)
do
date >>$1/free_$d.txt
free >>$1/free_$d.txt
date >>$1/df_$d.txt
df -h >>$1/df_$d.txt
date >> $1/smi_$d.txt
nvidia-smi >>$1/smi_$d.txt
sleep 30
done
}

info_log $1 $2
#!/bin/bash
d=`date +%Y%m%d_%H%M%S`
log_folder="./log"
cd "$(dirname $log_folder)"
if [ ! -d $log_folder ];then mkdir $log_folder;fi


function info_log(){
while(2>1)
do
date >>$log_folder/ifconfig_$d.txt
ifconfig >>$log_folder/ifconfig_$d.txt
sleep 10
done
}

info_log

打印 top指令:
脚本:
增加环境变量,防止top打印不全。

#!/bin/bash

export COLUMNS=200

d=`date +%Y%m%d_%H%M%S`
log_folder="./log"
if [ ! -d $log_folder ];then mkdir $log_folder;fi
nohup /usr/bin/top -c -d 30 -b >> $log_folder/top_$d.txt &  


指令

nohup top -c -d 3 -b > top.log &
ai相机:
top -b -d 30 > top_cpu.log &
top -m -d 30 > top.log < /dev/null &

3、将文件等份为几份,分别保存到不同文件

#!/bin/bash
 
count=0
source_dir='/var/log/'
all_files=$(find $source_dir | grep 'web*.log')   # 将所有的web.*.log找出来
 
target_dir1='/tmp/dir1'
target_dir2='/tmp/dir2'
target_dir3='/tmp/dir3'
 
for file in $files
do
    if expr $count % 3 == 0
    then
        mv -v $file ${target_dir1}
    elif expr $count % 3 == 1
    then
        mv -v $file ${target_dir2}
    else
        mv -v $file ${target_dir3}
    fi
    ((count++))
done

4、grep查找log中包含特定字符串的行

## 从日志中,提取出有用的文件:

grep -r -E "stage_pre_func|idg r34|stage2_jieduan" ai_cam_run_record.log  > latency.log               --对特定某log文件进行 查找

grep -r -E "stage_pre_func|idg r34|stage2_jieduan" ./ai_cam_run_record_log/  > Latency.Log           对文件夹下的所有文件递归查找




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值