码迷,mamicode.com
首页 > 系统相关 > 详细

Linux脚本

时间:2019-09-25 01:07:00      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:文件   grep   int   -o   and   nbsp   执行   log   ash   

编写脚本实现传入进程pid,查看对应进程/proc下CPU、内存指标

 1 #!/bin/bash
 2 read -p "Please input PID to see CPU&MEM infos: " pid
 3 checkpid=`ps aux | sed -nr "1! p" | tr -s " " | cut -d " " -f 2 | grep "$pid"`
 4 if [ ! $checkpid ];then
 5         echo "$pid" does not exit! Please Check and input a exit PID.
 6 else
 7         echo "Memory Usage :"
 8         echo "`cat /proc/$pid/status | grep ^Vm`"
 9         echo "Cpu Usage :"
10         echo "`cat /proc/$pid/status | grep ^Cpu`"
11         echo "Right Now %CPU is`ps -p $pid -o pcpu | sed -nr "2p"`"
12 fi

编写脚本实现每分钟检查一个主机端口是否存活(提示使用nmap),如果检查到端口不在线, sleep 10s ,如果三次都不存在,记录到日志

 1 #!/bin/bash
 2 #ip=`ip addr|awk -F [ /]+ NR==9 {print $3}`
 3 read -p please input the host ip: ip
 4 count=`nmap $ip| grep ^[[:digit:]]|wc -l`
 5 i=0
 6 while true;
 7 do
 8         if [ $count -eq 0 ];then
 9                 let i=i+1
10 #               echo $i
11                 if [ $i -ge 3 ];then
12                         echo $ip >> /data/nmap.log
13                         echo `nmap $ip`>> /data/nmap.log
14                         i=0
15 #                       echo $i
16                 fi
17                 sleep 10
18         else
19                 echo Running
20                 sleep 60
21         fi
22 done

判断参数文件是否为一个以.sh为后缀的文件,如果是,加执行权限,如果不是,提醒用户

 1 ##excute.sh
 2 
 3 #!/bin/bash
 4 
 5 if [ $# -lt 1 ];then
 6     echo please input a filename...
 7     exit 3
 8 elif [ -f $1 ];then
 9     if echo $1 | grep .sh &> /dev/null ;then
10             chmod +x $1
11             echo "modify $1 jurisdiction finished..."
12     else
13             echo "$1 not is script file..."
14     fi
15 else
16     echo "$1 not is common file..."
17 fi

编写脚本/root/bin/nologin.sh和login.sh,实现禁止和充许普通用户登录系统

 1 #!/bin/bash
 2 
 3 if [ ! -f "/etc/nologin" ];then
 4     touch /etc/nologin
 5     #echo "ALL User is not allow to login!"
 6 fi
 7 #!/bin/bash
 8 
 9 if [ -f "/etc/nologin" ];then
10     rm -f /etc/nologin
11     #echo "ALL User is allowed to login!"
12 fi

计算/etc/passwd 中第10行和第20行用户的UID之和

 1 ## sumid.sh
 2 
 3 #!/bin/bash
 4 
 5 id=`sed -nr 10,20s#.*:([0-9]+):[0-9].*#\1#p /etc/passwd`
 6 num=(`echo $id`)
 7 for i in `seq 0 10`;do
 8     let sum+=${num[$i]}
 9 done
10 echo $sum

 

Linux脚本

标签:文件   grep   int   -o   and   nbsp   执行   log   ash   

原文地址:https://www.cnblogs.com/yongbuyanbai0/p/11581922.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!