管理员shell脚本
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,Technorati 标记: shell,df,sed,awk-监视系统统计信息监视磁盘空闲空间磁盘资源占用情况监视CPU和内存使用情况-执行备份归档数据文件脱机存储备份文件监视系统统计信息· 监视磁
千家信息网最后更新 2025年02月01日管理员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安全错误
数据库的锁怎样保障安全
鸡西市网络安全宣传周
运维都是怎么管理服务器的
怎么删除一个编号的数据库
达梦数据库集群变为单节点
高职选移动端软件开发怎么样
dell服务器告警
网络安全单人拿站
数据库导入mdf文件要多久
云服务器搭建虚拟网络
勋哥网络安全专业
大专计算机网络技术学算法吗
支撑直播的正式网络技术
网络安全旗下讲话主持稿
华为网络技术学院官网
开发区app软件开发
时尚网络技术加盟有哪些
数据库没有响应
福州天络网络技术有限公司
数据库技术迅猛发展时间
网络安全宣传周标语卡片
服务器ip打不开网站
软件开发相关文档模板
阿里云工单可以绑定服务器吗
基本数据库建设
德国海关数据库
淮安特色服务联想服务器维修电话
数据库怎么设置拒绝重复录入
花生壳远程服务器无法连接
php中调用数据库
如何打开ftp服务器