`

常用shell脚本

 
阅读更多

1、打开core dump功能

root@ubuntu2:/holger# cat coreconf.sh 

#!/bin/bash

ulimit -c unlimited

echo "kernel.core_pattern=/tmp/corefile/core.%e.%t" >> /etc/sysctl.conf

sysctl -p

2、linux系统资源监控

root@ubuntu2:/holger# cat perfmonitor.sh     

#!/bin/bash

fun_monitor(){

        interval=5

        echo `date +%F`""`date +%T` >./logs/vmstat.log

        echo `date +%F`""`date +%T` >./logs/mpstat.log

        echo `date +%F`""`date +%T` >./logs/sar-mem.log

        echo `date +%F`""`date +%T` >./logs/iostat.log

        vmstat $interval >>./logs/vmstat.log &

        mpstat -P ALL $interval >> ./logs/mpstat.log &

        sar -r $interval >> ./logs/sar-mem.log &

        iostat $interval >>./logs/iostat.log &

}

fun_stopmonitor(){

        pkill vmstat

        pkill sar 

        pkill iostat

        pkill mpsta

        echo `date +%F`""`date +%T` >>./logs/vmstat.log

        echo `date +%F`""`date +%T` >>./logs/mpstat.log

        echo `date +%F`""`date +%T` >>./logs/sar-mem.log

        echo `date +%F`""`date +%T` >>./logs/iostat.log

        mv ./logs/vmstat.log ./logs/vmstat`date +%Y%m%d%H%M%S`.log

        mv ./logs/mpstat.log ./logs/mpstat`date +%Y%m%d%H%M%S`.log

        mv ./logs/sar-mem.log ./logs/sar-mem`date +%Y%m%d%H%M%S`.log

        mv ./logs/iostat.log ./logs/iostat`date +%Y%m%d%H%M%S`.log

}

if [ -e logs ]

then

  continue

else

  mkdir logs

fi

 

case $1 in

               start)

                fun_monitor

                echo start

                ;;

               stop)

                fun_stopmonitor

                echo stop

                ;;

                *)

                echo "Usage: $0 star./logs/stop"

esac

 

3、expect脚本

#!/usr/bin/expect 

 

set timeout 2

set filepath [lindex $argv 0]

set width [lindex $argv 1]

set height [lindex $argv 2]

set decode [lindex $argv 3]

set encode [lindex $argv 4]

spawn  xxx.exe

expect  "path:"

send "$filepath\n"

expect "width:"

send "$width\n"

expect "height:"

send "$height\n"

expect "Decode"

send "$decode\n"

expect "Encode"

send "$encode\n"

expect "start"

interact

 

4、挂载window共享目录:

mount  -o username=$username,password=$passwd //192.168.2.161/share /mnt/share

 

5、修改XML配置文件

#修改dfs.namenode.secondary.http-address

SecondaryNameNode=`cat ./clusterconfig.csv |grep "^SecondaryNameNode" |awk -F \, '{print $2}'`

pervalue=`cat config/hdfs-site.xml |grep -n2 dfs.namenode.secondary.http-address |grep value|awk -F [\/\:\>] '{print $2}'`

sed -i -e  "s/$pervalue:9001/$NameNode:9001/" config/hdfs-site.xml

 

6、读取文件指定行

cat nodes.list|sed -n "${i}p" # $i为指定行

 

7、统计两个文本文件的相同行

grep -Ff file1 file2


8、统计file2中有,file1中没有的行

grep -vFf file2 file1

 

7、删除匹配行

sed -i -e "/server.*/d" config/zoo.cfg # server.*需要匹配的行

8、找出两个文件都存在的行

grep -Fxf 1.txt 2.txt

9、找出两个文件不同的行

grep -Fvxf 1.txt 2.txt

 10、监控网卡流量

yum install sysstat

sar -n { DEV | EDEV | NFS | NFSD | SOCK | ALL }
sar 提供六种不同的语法选项来显示网络信息。-n选项使用6个不同的开关:DEV | EDEV | NFS | NFSD | SOCK | ALL 。DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,NFS统计活动的NFS客户端的信息,NFSD统计NFS服务器的信息,SOCK显示套 接字信息,ALL显示所有5个开关。它们可以单独或者一起使用。
#sar -n DEV 2 10
IFACE:LAN接口
rxpck/s:每秒钟接收的数据包
txpck/s:每秒钟发送的数据包
rxbyt/s:每秒钟接收的字节数
txbyt/s:每秒钟发送的字节数
rxcmp/s:每秒钟接收的压缩数据包
txcmp/s:每秒钟发送的压缩数据包
rxmcst/s:每秒钟接收的多播数据包

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics