当前位置:首页 » 网页前端 » 磁盘检测脚本
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

磁盘检测脚本

发布时间: 2023-01-05 13:17:08

A. 移动硬盘检测脚本

检测。
1、移动硬盘检测是对硬盘或U盘的性能进行全面测试,让你可以随时了解到硬盘或者U盘信息。
2、脚本是依据一定的格式编写的可执行文件,脚本文件也会储存在硬盘中的,所以会检测到的。

B. linux shell 硬盘文件读写校验测试脚本

读写失败时dd的返回值分别是多少一直查不到,而如果这个没法弄明白的话,校验的对错就没什么意义了(根本不知道是dd出的错还是md5sum出的错),算了,你将就一下吧,查到后改一下就好了。
#!
/bin/bash
infile="$1"
cycle=0
=0
err=0
if
[
"$#"
-ne
1
]
||
[
!
-f
"$1"
]
then
echo
"用法:test
<infile>"
exit
1;
fi
echo
-e
"<>警告<>:本测试程序对磁盘有较大损害,请您谨慎运行。"
echo
-e
"
按Crtl+C键终止测试"
echo
-e
"开始测试?(y/n)y:c"
while
read
-r
answer
</dev/tty
do
if
[
"$answer"
==
'n'
]
||
[
"$answer"
==
'N'
]
then
echo
"结果:$cycle
轮共
$
次复制,读/写错误
$err
次"
rm
-f
${infile}_*
exit
0
fi
let
cycle++
echo
"=========================

$cycle

==========================="
rm
-f
"$infile"_*
sync
let
++
#方便起见,选第一分区爆之
while
[
"$(df
-k|sed
-n
'3q;2s/
*/
/g;2p'|cut
-d
'
'
-f
4)"
-gt
1
]
do
echo
"===========
副本
$
==========="
outfile="${infile}_${}"
dd
if="$infile"
of="$outfile"
#关于dd命令如果遭遇读失败或写失败的返回码无据可查,但肯定不是0,
另一种实现方法是用md5sum
--status检验,但这种方法看起来多此一举反而导致读写比变>为3:1
if
[
"$?"
-ne
0
]
then
let
err++
fi
let
++
echo
&&
sync
trap
"echo
'结果:'
$cycle
'轮共'
$
'次复制,读/写错误'
$err
'次'
&&
rm
-f
${infile}_*
&&
exit;"
1
2
3
15
done
echo
-e
"磁盘已满,删除测试文件后继续?(y/n)y:c"
done

C. 请问监控Linux服务器磁盘容量的脚本怎么写

看看下面这个脚本(注意要用英文的标点符号):

#!/bin/bash
partion_list=( 'df -h | awk ‘NF>3&&NR>1{sub(/%/,””,$(NF-1));print $NF,$(NF-1)}’' )
critical=90
notification_email()
{
emailuser='[email protected]' “发送邮件地址”
emailpasswd='password' “成功开启POP3/SMTP服务,在第三方客户端登录时,密码框请输入的授权码”
emailsmtp='smtp.qq.com'
sendto='[email protected]' “接收邮箱地址”
title='Disk Space Alarm' “邮件标题”
/usr/local/bin/sendEmail -f $emailuser -t $sendto -s $emailsmtp -u $title -xu $emailuser -xp $emailpasswd -m $emailmessage
}
crit_info=””
for (( i=0;i<${#partition_list[@]};i+=2 ))
do
if [ “${partition_list[ ((i+1)) ]}” -lt “$critical” ];then
echo “ok! ${partition_list[i]} used ${partition_list[ ((i+1)) ]}%”
else
if [ “${partition_list[ ((i+1)) ]}” -gt “$critical” ];then
crit_info=$crit_info”Warning!!! ${partition_list[i]}
used ${partition_list[ ((i+1) ] }%\n”
fi
fi
done

if [ “$crit_info” != ”” ];then
echo -e $crit_info | notification_email
fi

上面脚本的功能是监控每个磁盘分区,当磁盘分区使用空间超过90%时,就通过sendEmail来发送邮件告警。sendEmail是个开源工具,可以从http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz下载;
解压后把sendEmail拷贝到/usr/local/bin下即可。

D. winpe 硬盘检测工具怎么用

winpe 硬盘检测工具使用方法:

1、下载最新的通用pe工具箱,然后将u盘制作成u盘启动盘;


这里可以看到右边有很多项硬盘的状况,第一个的意思是硬盘反应时间是小于3毫秒,依次推。如果有出现大于500毫秒或者是大于500毫秒后面的7种情况的话,那么硬盘就坏了。主要扫描的是系统所在的分区,它所在硬盘的前面一部分。打个比方使用的是1TB的硬盘,系统所在的C盘分区是50G的话。只需要扫描前5%部分的硬盘就好了。如果前5%没问题的话,那么电脑运行慢跟硬盘没有关系,那就要在别的地方找原因了。

E. Shell脚本完成用户磁盘空间监测报告

    笔者在文章-四种方法查看树莓派CPU温度中,用python查看树莓派温度和状态的程序,其中有一段python程序读取磁盘空间os.popen("df -h /") ,df -h /读取整个磁盘的使用情况。

    这一次笔者在书籍上看到一个脚本,颇具意义。脚本完成磁盘检查,并打印出使用量位居前十位,生成报告rpt。命令 -hs /root  可以查看目录的整体使用情况, -hs /root/*可以查看目录一级的整体使用情况,输出统计信息,快速定位问题根源。

    同时关于df与,df是显示磁盘分区上可以使用的磁盘空间,是显示已经使用的空间。

    为了找出占用磁盘空间最多的目录,可以使用sort命令来排序,-r是允许数字排序,-n是逆序排序。    

      -hs /root/* | sort -rn

       sed编辑器可以对输出内容进行赛选,只选择前四行内容,并添加行号。最后使用gawk格式化输出。

-hs /root/* | sort -rn | sed '{5,$D; =}' | sed 'N; s/\n/ /' | awk '{printf $1 ":" "\t" $2 "\t" $3 "\n"}'

    现在来看看脚本big_users.sh,脚本循环检测CHECK_DIRECTORIES中的目录,然后执行  -S $DIR_CHECK 打印格式化输出磁盘使用情况。exec命令是打开文件outfilename作为stdout,即输出重定向。

#!/bin/bash

#

# Big_Users - Find big disk space users in various directories

###############################################################

# Parameters for Script

#

CHECK_DIRECTORIES=" /var  /root"  #Directories to check

#

############## Main Script #################################

#

DATE=$(date '+%m%d%y')              #Date for report file

#

exec > disk_space_$DATE.rpt          #Make report file STDOUT

#

echo "Top Ten Disk Space Usage"      #Report header

echo "for $CHECK_DIRECTORIES Directories"

#

for DIR_CHECK in $CHECK_DIRECTORIES  #Loop to directories

do

  echo ""

  echo "The $DIR_CHECK Directory:"  #Directory header

#

# Create a listing of top ten disk space users in this dir

  -S $DIR_CHECK 2>/dev/null |

  sort -rn |

  sed '{11,$D; =}' |

  sed 'N; s/\n/ /' |

  gawk '{printf $1 ":" "\t" $2  "\t" $3 "\n"}'

#

done                                #End of loop

#

exit

运行 ./big_users.sh后生成的报告: