【Shell】30分钟关闭Tcpdump,开启Tcpdump、检测目录大小终止任务
shell 目录 开启 检测 关闭 任务 大小 30
2023-09-14 08:57:08 时间
场景
按照一定时间规律运行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
参考
Linux下的换行符\n\r以及txt和word文档的使用
一个Linux平台的门罗币挖矿木马的查杀与分析
sudo: unable to execute ./script.sh: no such file or directory
相关文章
- linux_shell_find命令
- shell脚本执行时报"bad interpreter: Text file busy"的解决方法
- Linux Shell脚本自动化编程实战-grep使用
- Linux Shell脚本自动化编程实战-shell变量(二)
- shell备份,重命名,删除目录下面的文件
- bash 教程-1 shell 基础 快捷键 目录堆栈 操作历史 [MD]
- Shell学习笔记---数字递增总结
- Linux Shell脚本自动化编程实战- shell并发
- linux shell判断当前目录下的文件或目录
- Atitit uke plnsy安全隐私保护法案 目录 第一章 一般规定2 第1节 主题与目标2 第二章 常见安全原则3 第1节 隔离 保密 shell3 第2节 隐藏 保密 不出头3
- shell脚本
- 【Android 逆向】获取安装在手机中的应用的 APK 包 ( 进入 adb shell | 获取 root 权限 | 进入 /data/app/ 目录 | 拷贝 base.apk 到外置存储 )
- shell中逻辑与的两种表示方法
- Shell编程中Shift的用法
- [shell]Shell经常使用特殊符号
- Hadoop读书笔记(二)HDFS的shell操作
- Linux系统shell脚本之nginx编译安装
- 【Linux之Shell脚本实战】猜拳小游戏shell脚本
- Liunx下的日志清理shell脚本实战之日志备份
- Linux下的shell脚本实战之用户创建
- Linux系统shell脚本for循环实战之目录权限
- shell语法简单介绍
- Shell 通配符 特殊字符
- Linux中shell内外命令讲解(下)
- shell - 01 - Shell入门:扎好马步 走的更稳
- Shell脚本的学习心得和知识总结(三)| shell语句
- Shell脚本的学习心得和知识总结(二)| 变量、表达式和运算符
- 大数据定制篇-shell编程