文件操作与系统信息统计
文件重命名
对文件夹下名字中包含block的文件进行重命名,后缀改为.txt,并将文件编号自动加1。需要注意的是在awk中字符串连接不要用+,直接连接。-F 指定文本分隔符。因为原来的文件名是block_0 ~ block_9。不能awk后直接管道到mv,因为只会调用一次mv报错。
ls |grep block | awk -F "_" 'BEGIN {surffix = ".txt" }{word =$0" "($2+1)surffix;system ("mv "word)}
自动计算log对应列的值
这个是为了分析log日志,计算磁盘写入的总量的。该日志使用iostat 命令生成的。
cat open-messaging-demo/iostat.log | grep vda | awk ' { read += $6 ;write += $7 } END { print read, write}'
统计磁盘使用信息
-c CPU信息 -m memory信息 -l load平均负载 -d disk磁盘读写信息 -t timestamp 时间戳
dstat -c -m -l -d -t > dstat.log &
统计磁盘IO信息
-d 指定磁盘 -m 以MB为单位 -t 时间戳 1 隔一秒统计一次,可以指定任意数值,秒为单位。后可接count值即一共统计多少次。
iostat -m -t -d sdb interval 1 > iostat.log&
统计内存信息
这个可以查看载入载出的块,-t 1指定一秒统计一次。
vmstat -t 1 > vmstat.log&
- 杀死指定进程
pgrep可以查看进程编号但是不返回查看进程本身(grep会返回)
&&判断前面命令是否成功执行,貌似没效果应该是判断有没有结果
pgrep iostat && kill -9 `pgrep iostat`
这条命令是因为系统里本身有默认进程vmstat , 用pgrep会返回两个进程号。所以为了去掉默认搞得很复杂。
ps -ef|grep vmstat|grep -v "\[vmstat\]"|grep -v grep |awk '{print $2}' | kill -9