通用shell脚本收集.doc
《通用shell脚本收集.doc》由会员分享,可在线阅读,更多相关《通用shell脚本收集.doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、!-常用shell脚本小工具摘自,作者:mxin1.批量改名或拷贝文件比如将 start*.sh文件改为stop*.sh拷贝先查看ls -l start*.sh|awk m=$9; gsub(/start/,stop,$9);print cp m $9再运行ls -l start*.sh|awk m=$9; gsub(/start/,stop,$9);print cp m $9|sh改名先查看ls -l start*.sh|awk m=$9; gsub(/start/,stop,$9);print mv m $9再运行ls -l start*.sh|awk m=$9; gsub(/start/
2、,stop,$9);print mv m $9|sh2.改进grep 2048字符限制的小工具我们查找匹配文件时常常遇到grep报行长度超过2048这样的错误,我做了这个小工具,findtxt,可查找当前目录下的匹配文件,如果需要,把注释打开,可显示匹配内容。希望对大家有所帮助。for file in find . ! -type ddoline=sed -n /$1/p $file if $line != ; then echo $file# echo $line fidone3.查看文件使用者的小工具 对fuser的一点改进:1.vi showuser 建立一个文件,内容只有一句: fin
3、d $1 -exec fuser -u ; 2;&1|awk if ($2 != print $1 $2 2. chmod 755 showuser3. cp showuser /usr/bin4. showuser . showuser /usr会把当前目录下的在使用的文件的文件名,使用者的id,name显示出来. 4.清理垃圾,可放在crontab里每天执行。#rmlog.shfind /tmp ! -name *.X11* -mtime +7 -exec rm -f ;find /var/tmp -mtime +5 -exec rm -f ;find /var/preserve /rec
4、ycle -mtime +7 -exec rm -f ;crontab0 1 * * * /home/scripts/rmlog.sh /tmp/rmlog.log 2&15.强制关闭vg(包括umount所有相关文件系统)#varyoffvg_force.shif $# -le 0 ;thenecho no para, example:varyoff_vg.sh erpapp_vg exitfidf -k|awk print $7 |grep -v Mounted /tmp/fs_mounted.txtfor i in lsvg -l $1 |grep -vE N/A|vg|MOUNT|aw
5、k print $7doif grep -c $i /tmp/fs_mounted.txt -ge 1 ; then echo fuser -kc $i umount $ifidonevaryoffvg $1 6.kill_fs_user.sh (停掉使用某文件系统的用户,自动判断该文件系统是否mount,避免kill掉其他用户)if $# -le 0 ;then echo no para, example:kill_user.sh /applprod exitfidf -k|awk print $7 |grep -v Mounted /tmp/du_.txtif grep -c $1 /tm
6、p/du_.txt -eq 1 ; then echo fuser -kc $1 fi7.mklvcopy做镜像相当于mirror rootvg,但当rootvg里有不想mirrror的lv或盘大小不一时比较有用。#mkmirrorvg.shmklvcopy -k hd5 2 $1mklvcopy -k hd6 2 $1mklvcopy -k hd8 2 $1mklvcopy -k hd4 2 $1mklvcopy -k hd9var 2 $1mklvcopy -k hd3 2 $1mklvcopy -k hd1 2 $1mklvcopy -k hd2 2 $1mklvcopy -k hd10
7、opt 2 $1mklvcopy -k lg_dumplv 2 $1 bosboot -ad $1bootlist -m normal $1 8.察看根目录各文件和子目录大小,去除文件系统统计# du_.shdf -k|awk print $7 |grep -v Mounted /tmp/df_mounted.txtcd /for i in ls -l|awk print $9|grep -v -idoif grep -c $i /tmp/df_mounted.txt -eq 0 ; then du -sk $ifi done 9.防止文件系统下和根目录下rm -rf * 误操作#deny_r
8、mall.shcd /;touch ./-i;df -k|grep -v Mounted|grep -v proc|grep -v /tmp|awk print cp ./-i $7|shcp /-i /etccp /-i /dev10. 保存清理errpt,(当然可以改为其他目录 )#errclear.sherrpt /home/mxin/mon/log/errpt_date +%Y%m%d.logerrpt -a /home/mxin/mon/log/errpt_date +%Y%m%d.logerrclear 0 11.起大量shell脚本#start_procs.shcat start
9、_procs.list|awk print sh $1.sh|sh#start_procs.list(可追加修改)startprocessorProcProcessor/home/scripts/startArocessorp_mj_deal_cardevent12.停大量进程# stop_procs.shcat procs.list|awk print stop_proc.sh $1|sh#stop_proc.shps -ef|grep $1|grep -v grep|awk print kill -9 $2|sh#stop_procs.list(可追加修改)startprocessorPr
10、ocProcessorJackrocessorp_mj_deal_cardevent 13.收集系统信息echo -hostname-prtconfecho -lsvg;lsvg lsvg -oecho -lsvg -l ;lsvg -l lsvg -oecho -lslv lv ;lsvg -l lsvg -o|grep -v LV NAME|grep -v awk print lslv $1|shecho -df;df -k;lsfsecho -netstat;netstat -in;netstat -i;netstat -recho -ps;ps -efk;ps guecho -lscf
11、g;lscfg -vpecho -lssrc;lssrc -aecho -lsslot;lsslot -c pciecho -lspv;lspvecho -lslpp;lslpp -lecho -lsattr; lsdev -C|awk print echo -$1;lsattr -El $1|shecho -prtconf -v;prtconf -vecho -errpt; errpt ;errpt -aecho -major; ls -al /dev/*echo -hosts file; cat /etc/hostsif ps -ef|grep cluster|grep -v grep|w
12、c -l -ge 1 ;thenecho -HA INFO/usr/es/sbin/cluster/utilities/cltopinfo -c;/usr/es/sbin/cluster/utilities/cltopinfo -n;/usr/es/sbin/cluster/utilities/clshowres -nhostname;/usr/es/sbin/cluster/utilities/cldispfi14.将多级子目录的权限放开#chmod_dir.shecho for example:chmod_dir.sh rwx /home/mxin/monecho $1$2 /tmp/ch
13、mod_dir.txtcat /tmp/chmod_dir.txt|awk -F / print chmod o+x /$2;chmod o+x /$2/$3;chmod o+x /$2/$3/$4;chmod o+x /$2/$3/$4/$5;chmod -R o+$1 /$2/$3/$4/$5/$6|sh 15.监控oracle是否有锁。#mon_db_lock.sh. .profilecd /home/mxin/monif date +%H%M = 0800 ; thenecho 0 warn_count fi warn_count=cat warn_countsqlplus /as s
14、ysdba EOFset feed off;set heading off;spool /tmp/db_lock.out1;mon_db_lock.sqlspool off;exitEOFsleep 13 sqlplus /as sysdba EOFset feed off;set heading off;spool /tmp/db_lock.out2;mon_db_lock.sqlspool off;exitEOFsleep 27sqlplus /as sysdba /tmp/mon_db_lock.out1cat /tmp/db_lock.out2|grep -v SQL|grep 0-9
15、 /tmp/mon_db_lock.out2cat /tmp/db_lock.out3|grep -v SQL|grep 0-9 /tmp/mon_db_lock.out3cat /tmp/mon_db_lock.out1|grep -v SQL|grep 0-9|awk print grep $0 /tmp/mon_db_lock.out2|sh /tmp/db_lock1if cat /tmp/db_lock1|wc -l -gt 0 ; then cat /tmp/mon_db_lock.out2|grep -v SQL|grep 0-9|awk print grep $0 /tmp/m
16、on_db_lock.out3|sh /tmp/db_lock2 if cat /tmp/db_lock2|wc -l -gt 0 ; then cat /tmp/mon_db_lock.out3|grep -v SQL|grep 0-9|awk print grep $0 /tmp/mon_db_lock.out.old|sh /tmp/db_lock3 if cat /tmp/db_lock3|wc -l -gt 0 ; then cat /tmp/db_lock3|awk print wall db lock- $0 ! |sh let warn_count=$warn_count+1
17、fi fificp /tmp/mon_db_lock.out3 /tmp/mon_db_lock.out.oldif $warn_count -gt 4 ; then beep.sh echo 0 warn_countfi#mon_db_lock.sqlset linesize 256col object_name format a18col object_id format 99999999col Locked_Mode format a15col SERIAL# format 9999999col session_id format 999999col oracle_username fo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通用 shell 脚本 收集 搜集 采集
限制150内