管理员shell脚本
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,Technorati 标记: shell,df,sed,awk-监视系统统计信息监视磁盘空闲空间磁盘资源占用情况监视CPU和内存使用情况-执行备份归档数据文件脱机存储备份文件监视系统统计信息· 监视磁
千家信息网最后更新 2025年12月02日管理员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安全错误
数据库的锁怎样保障安全
数据库原理及应用教程是谁写的丿
东南亚科技互联网行业
江阴机电软件开发注意事项
数据库系统工程师第二版
数据库中数据流
西工大软件开发职业技术学院
株洲软件开发师培训学费
天津正规软件开发要求
什么软件可以测试无线网络安全
网络安全中的篡改是什么
自学软件开发经历
万方数据库查全率
山东锦晨互联网科技公司
北京车车网络技术有限公司抽奖
数据库两种访问方式
软件开发的qc数据测试难不难
漳州开发区闻柳网络技术工作室
国土局 网络安全管理制度
在职软件开发专业
互联网科技取名大全
服务器实装
软件开发推荐U盘
网络安全意识1000字
多可数据库安装
什么软件可以测试无线网络安全
辉达时代网络技术有限公司
网络安全技术与应用收录号
arcgis数据库按县域分割
一个plex账号 几个服务器
diremi服务器密码