linux tcp关闭时间戳,【Shell】30分钟关闭Tcpdump,开启Tcpdump、检测目录大小终止任务...

场景

按照一定时间规律运行Tcpdump

思路

编程思路细化思考

查看文件个数

file_count_results=`ls -al "C:\\Users\\Windows32\\Desktop\\test" | grep ^- | wc -l`

显示文件大小

$ du -h --max-depth=0

2.1G .

$ du -bs

2177623726 .

这样的话,在SHELL里把文件夹大小做为命令输出赋值到一个变量里,但是用awk命令取第一列

CHECK=$(du -bs /data/sflow_log | awk '{print $1}')

关系运算符

运算符说明举例

-eq检测两个数是否相等,相等返回 true。[ $a -eq $b ] 返回 false。

-ne检测两个数是否不相等,不相等返回 true。[ $a -ne $b ] 返回 true。

-gt检测左边的数是否大于右边的,如果是,则返回 true。[ $a -gt $b ] 返回 false。

-lt检测左边的数是否小于右边的,如果是,则返回 true。[ $a -lt $b ] 返回 true。

-ge检测左边的数是否大于等于右边的,如果是,则返回 true。[ $a -ge $b ] 返回 false。

-le检测左边的数是否小于等于右边的,如果是,则返回 true。[ $a -le $b ] 返回 true。

判断文件大小,超过大小终止程序

# 2GB

SIZE="2177622069"

# check the current size

CHECK=$(du -bs | awk '{print $1}')

if [ "$CHECK" -gt "$SIZE" ]; then

# kill Tcpdump

kill_tcpdump=$(ps aux | grep tcpdump | awk '{print $2}' | xargs sudo kill -9)

fi

sudo运行bash

$ cat test.sh

#!/bin/foo

echo bar

$ ./test.sh

bash: ./test.sh: /bin/foo: bad interpreter: No such file or directory

$ bash test.sh

bar

$ sudo ./test.sh

sudo: unable to execute ./test.sh: No such file or directory

$ sudo bash ./test.sh

bar

Windows与Linux文件转换

cat test.sh | col -b > test1.sh

计划任务部分

计划任务实现30分钟运行一次shell脚本,关闭和开启TCPdump

#------------crontab

*/30 * * * * /test.sh

shell脚本内容:

# kill Tcpdump

kill_tcpdump=$(ps aux | grep tcpdump | awk '{print $2}' | xargs sudo kill -9)

# run tcpdump ,`date `是时间戳

tcpdump -i eth0 -w `date +%s`.pcap

检测文件目录大小

目的是为了检测文件目录的文件是不是超出了预估范围。如果已经超出了预期就停止tcpdump进程

#------------sec shell

# init file_count_results

file_count_results=0

# 1GB

SIZE="1088811863"

while(( $file_count_results<=5 ))

do

# check the current size

CHECK=$(du -bs | awk '{print $1}')

# if file size > 1GB

if [ "$CHECK" -ge "$SIZE" ]; then

# kill Tcpdump,也可以选择删除计划任务

kill_tcpdump=$(ps aux | grep tcpdump | awk '{print $2}' | xargs sudo kill -9)

#break

fi

# watch file size

file_count_results=`ls -al | grep ^- | wc -l`

echo "current file count: $file_count_results"

done

参考

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值