![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Shell实战
wuqiblus
这个作者很懒,什么都没留下…
展开
-
【shell】检验网卡流量,并按规定格式记录在日志中
#!/usr/bin/bash#by racon 2022-05-05#检测网卡流量,并按规定格式记录在日志中#规定一分钟记录一次#日志格式如下所示:#2019-08-12 20:40#ens33 input: 1234bps#ens33 output: 1235bpswhile :do #设置语言为英文,保障输出结果是英文,否则会出现bug LANG=en logfile=/tmp/`date +%d`.log #将下面执行的命令结果输出重定向到logfile日志中 exec原创 2022-05-05 07:59:37 · 181 阅读 · 1 评论 -
【shell】定时清空文件内容,定时记录文件大小
定时清空文件内容,定时记录文件大小#!/usr/bin/bash#每小时执行一次脚本(任务计划),当时间为0点或12点时,将目标目录下的所有文件内容清空,但不删除文件,其他时间则只统计各个文件的大小,一个文件一行,输出到以时#间和日期命名的文件中,需要考虑目标目录下二级、三级等子目录的文件#by racon 2022-05-04logfile=/tmp/`date +%H-%F`.logn=`date +%H`if [ $n = "00" ] || [ $n -eq 12 ];then#通过f原创 2022-05-04 07:34:25 · 367 阅读 · 0 评论 -
【shell】检测两台服务器指定目录下的文件一致性
检测两台服务器指定目录下的文件一致性#!/usr/bin/bash#检测两台服务器指定目录下的文件一致性#a机器是本机,b机器是待检测服务器#通过对比两台服务器上文件的md5值,达到检测一致性的目的# by racon 2022-05-03dir=/data/webb_ip=192.168.220.168#将指定目录下的文件全部遍历出来并作为md5sum命令的参数,进而得到所有文件的md5值,并写入到指定文件中find $dir -type f|xargs md5sum > /t原创 2022-05-03 07:43:47 · 638 阅读 · 3 评论 -
【shell】保存最近几天的备份
保存最近n天的备份定期删除/data目录下修改时间大于7天的文件#!/usr/bin/env bashback_dir=/datafind $back_dir -mtime +7 |xargs rm -rfchmod +x delete_count.shcrontab -e* * * * * /root/delete_count.sh# 防止误删除或修改chattr +i delete_count.sh定期清理/data/YY-MM-DD.tar.gz该目录仅工作日周一至周五自原创 2022-05-01 14:03:07 · 886 阅读 · 0 评论 -
【Shell】Nginx日志分析
Nginx日志分析192.168.220.1 - - [01/May/2022:08:46:16 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36" "-"$remote_addr $1$time_local $4$request $7原创 2022-05-01 10:44:49 · 1577 阅读 · 0 评论 -
【shell】判断主机存活
方法一:#!/usr/bin/bash# by racon 2022-04-30while read ipdo for count in {1..3} do ping -c1 -W1 $ip &> /dev/null if [ $? -eq 0 ];then echo "$ip ping is ok." break else echo "$ip ping is failure:$count" fail_count[ $count ]=$ip原创 2022-05-01 08:14:58 · 240 阅读 · 0 评论 -
【shell】分析系统资源性能瓶颈
分析系统资源性能瓶颈脚本功能:查看CPU利用率与负载( top、vmstat、sar )查看磁盘、Inode利用率与I/O负载( df 、iostat、iotop、sar、dstat )查看内存利用率( free、vmstat )查看TCP连接状态( netstat、ss )查看CPU与内存占用最高的10哥进程( top、ps )查看网络流量( ifconfig、iftop、iptraf )先来看一下select循环快速生成一个菜单#!/usr/bin/bashPS3="Your原创 2022-04-30 15:35:41 · 821 阅读 · 0 评论 -
【shell】统计tcp连接状态数量
统计tcp连接状态数量#!/usr/bin/bash#count tcp status#by racon 2022-04-22while :do unset status declare -A status type=`ss -an| grep :80 | awk '{print $2}'` for i in $type do let status[$i]++ don原创 2022-04-22 10:05:23 · 2616 阅读 · 0 评论 -
【shell】实现性别统计
关联数组实现性别统计[root@server4 ~]# cat sex.txtjack malice ftom mrose frobin m#!/usr/bin/bash#count sex#by racon 2022-04-22declare -A sexwhile read linedo type=`echo $line|awk '{print $2}'` let sex[$type]++done < sex.txtfor i in ${!sex[@]}do原创 2022-04-22 08:10:02 · 1004 阅读 · 0 评论 -
【shell】expect实现批量主机公钥推送/免交互
批量主机公钥推送需要提前修改好对应的password#!/usr/bin/bash#主机批量推送ssh公钥#by racon 2022-04-21>ip.txtpassword=1rpm -q expect &> /dev/nullif [ $? -ne 0 ];then yum -y install expectfiif [ ! -f ~/.ssh/id_rsa ];then ssh-keygen -P "" -f ~/.ssh/id_rsafifo原创 2022-04-21 14:47:46 · 913 阅读 · 0 评论 -
【shell】并发控制测试远程主机连接
并发控制测试远程主机连接设置最高同时并发数为5最终效果为五条五条显示#!/usr/bin/bash#ping01#by racon 2022-04-21# 同时并发数thread=5# 管道tmp_fifofile=/tmp/$$.fifomkfifo $tmp_fifofile # 创建管道exec 8<> $tmp_fifofile # 创建文件句柄rm $tmp_fifofile # 删除管道文件,只保留句柄for i in `seq $thread`原创 2022-04-21 11:54:54 · 781 阅读 · 0 评论 -
【Shell】批量修改主机密码
批量主机密码修改准备一个ip.txt文件存放待修改密码主机的ip地址192.168.220.140192.168.220.131192.168.220.133#!/usr/bin/bash#modify password#v1.0 by racon 2022-04-20read -p "Please enter a New Password: " passfor ip in `cat ip.txt`do { ping -c1 -W1 $ip &原创 2022-04-20 16:21:53 · 675 阅读 · 0 评论 -
【Shell实战】检查ip能否ping通并输出到指定文件
#!/usr/bin/bash#ping check>ip.txtfor i in {2..254}do { ip=192.168.220.$i ping -c1 -W1 $ip &> /dev/null if [ $? -eq 0 ];then echo "$ip"|tee -a ip.txt fi }&donewaitecho "finished">ip.txt重定向清空上一次的文件ping -W 参数设置超时时长为1秒注意要原创 2022-04-20 12:37:33 · 2333 阅读 · 0 评论 -
【shell】case实现简单的系统工具箱
case实现简单的系统工具箱case实现简单的系统工具箱#!/usr/bin/bash#system manage#by racon 2020-04-19menu() { cat <<-EOF ######################################### # h. help # # f. disk partition # # d. filesystem mount # # m. memory # # u. system load原创 2022-04-20 07:28:51 · 573 阅读 · 0 评论 -
【shell】case实现简单的堡垒机/跳板机
case实现jumpserver准备密钥认证[alice@server4 ~]$ ssh-keygen # 生成密钥[alice@server4 ~]$ ssh-copy-id 192.168.220.140 # 拷贝公钥[alice@server4 ~]$ ssh-copy-id 192.168.220.171[alice@server4 ~]$ ssh-copy-id 192.168.220.154alice根目录创建jumpserver.sh文件在.bashrc 或者 .bashpro原创 2022-04-19 19:41:04 · 373 阅读 · 0 评论