管理员shell脚本
发表于:2024-10-23 作者:千家信息网编辑
千家信息网最后更新 2024年10月23日,Technorati 标记: shell,df,sed,awk-监视系统统计信息监视磁盘空闲空间磁盘资源占用情况监视CPU和内存使用情况-执行备份归档数据文件脱机存储备份文件监视系统统计信息· 监视磁
千家信息网最后更新 2024年10月23日管理员shell脚本
Technorati 标记: shell,df,sed,awk
-监视系统统计信息
监视磁盘空闲空间
磁盘资源占用情况
监视CPU和内存使用情况
-执行备份
归档数据文件
脱机存储备份文件
监视系统统计信息
· 监视磁盘空闲空间
此shell脚本将监视特定卷上(如/)的可用磁盘空间,并在可用磁盘空间低于设置的阈值时发送一则电子邮件信息。
#!/bin/bash# monitor available disk space#注意格式 变量=`值`SPACE=`df|sed -n '/\/$/p'| gawk '{print $5}'|sed 's/%//'`if [ $SPACE -ge 20 ]thenecho "Disk space on root at $SPACE% used"|mail -s "Disk warning"elseecho "Disk space on root is OK"fi
添加任务计划
运行此脚本的频率取决于文件服务器的活跃程度。空间小的,一天一次;
#小型,每天上午12:3030 0 * * * /root/diskmon#大型,每天4次,12:30,8:30,下午12:30和下午4:3030 0,8,12,16 * * * /root/diskmon· 用户磁盘使用情况
#!/bin/bash# calculate disk usage and report per userTEMP=`mktemp -t tmp.XXXXXX`du -s /home/* |grep -v lost|sed 's/\/home\///'|sort -g -r > $TEMPTOTAL=`du -s /home |gawk '{print $1}'`cat $TEMP |gawk -v n="$TOTAL" 'BEGIN {print "Total Disk Useage by User"print "User\tSpace\tPercent"}{printf "%s\t%d\t%6.2f%\n",$2,$1,($1/n)*100}END {print "---------------------------";printf "Total\t%d\n", n}'rm -f $TEMP结果如下
[root@docker1 ~]# ./diskhogs.shTotal Disk Useage by UserUser Space Percentbenny 3704 99.68%test 12 0.32%---------------------------Total 3716· 监控CPU和内存使用情况
捕获脚本
#!/bin/bash# script to capture system statisticsOUTFILE=/root/capstats.csvDATE=`date +%m/%d/%Y`TIME=`date +%k:%M:%S`TIMEOUT=`uptime`VMOUT=`vmstat 1 2`USERS=`echo $TIMEOUT | awk '{print $4}'`LOAD=`echo $TIMEOUT | awk '{print $9}'| sed 's/,//'`FREE=`echo "$VMOUT"| sed -n '/[0-9]/p' | sed -n '2p' | awk '{print $4}'`IDLE=`echo "$VMOUT" | sed -n '/[0-9]/p' | sed -n '2p' | awk '{print $15}'`echo "$DATE,$TIME,$USERS,$LOAD,$FREE,$IDLE" >> $OUTFILE结果如下
[root@docker1 ~]# cat capstats.csv 12/11/2016, 0:09:02,2,0.04,183360,100输出html格式#!/bin/bash# parse capstats data into daily reportFILE=/root/capstats.csvTEMP=/root/capstats.htmlMAIL=which muttDATE=`date +"%A,%B,%d,%Y"`echo "结果如下Report for $DATE
" > $TEMPecho "" >> $TEMPecho "
" >> $TEMP$MAIL -a $TEMP -s "Stat report for $DATE" root < /dev/null#rm -f $TEMP" >> $TEMPcat $FILE |awk -F, '{printf " Date Time Users " >> $TEMPecho "Load Free Memory %CPU Idle \n",$4,$5,$6;}' >> $TEMPecho " %s %s %s ",$1,$2,$3;printf "%s %s %s \n
执行备份
使用shell脚本备份系统上数据的两种不同的方法。
· 1)归档数据文件
必需函数 tar命令
tar命令用于将整个目录归档为单个文件。
tar -cf archive.tar /root/test 2> /dev/null
创建日常归档文件
#!/bin/bash# archive a working diretoryDATE=`date +%y%m%d`FILE=archive$DATESOURCE=/root/testDESTINATION=/root/archive/$FILEtar -cf $DESTINATION $SOURCE 2> /dev/nullgzip $DESTINATION
创建每小时的归档脚本
#!/bin/bash# archive a working diretory hourlyDAY=`date +%d`MONTH=`date +%m`TIME=`date +%k%M`SOURCE=/root/testBASEDEST=/root/archivemkdir -p $BASEDEST/$MONTH/$DAYDESTINATION=$BASEDEST/$MONTH/$DAY/archive$TIMEtar -cf $DESTINATION $SOURCE 2> /dev/nullgzip $DESTINATION
可结合cron
· 2)脱机存储备份文件
工作目录归档可以邮件附件的形式发送
#!/bin/bash# archive a working directory and e-mail it outMAIL=`which mutt`DATE=`date +%y%m%d`FILE=archive$DATESOURCE=/root/testDESTINATION=/root/archive/$FILEZIPFILE=$DESTINATION.ziptar -cf $DESTINATION $SOURCE 2> /dev/nullzip $ZIPFILE $DESTINATIONrm -f $DESTINATION$MAIL -a $ZIPFILE -s "Archive for $DATE" root@docker1.com < /dev/null
PS: df sed awk
文件
磁盘
监视
脚本
备份
空间
情况
信息
数据
系统
结果
内存
命令
格式
目录
空闲
邮件
存储
统计
脱机
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
南京盛华网络技术有限公司
数据库看不到版本前缀
notepad 服务器
互联网络安全课
工行杭州软件开发中心怎么样
空间数据库基础分析
云南浩淼网络技术有限公司
福建嵌入式软件开发工程师简历
数据库日志中提示插入成功
数字孪生智慧水利网络安全建设
数据库技术和系统
数据库dql分组查询
软件开发方法的三种模型
国泰安数据库全么
武汉卓越互联网科技有限公司
总结网络安全的要素
局域网络技术教程
广州银行软件开发待遇
卡斯柯软件开发社招
国家网络安全设备认证
注册会员的数据库创建
面试题数据库挂了怎么办
单位网络安全强调
计算机网络技术发展思路
深圳市鑫城软件开发有限公司
软件开发案例可以弄什么项目
工控系统网络安全形势
如何写网络安全演讲稿
php跨服务器请求数据库
无锡企业软件开发活动方案