在Linux中运行磁盘空间检查脚本而无需登录

时间:2015-02-05 12:47:26

标签: linux shell ssh

我写了一个脚本,用于在我登录时使用shell脚本检查linux机器中的磁盘空间。        现在,如果我没有登录该机器,但如果磁盘空间超过阈值(ex:80)我需要提醒,这意味着我该如何检查?

1.使用ssh(远程命令执行) 2.Run作为后台脚本。

哪一个更有效率?

或者还有其他想法吗?

我不想直接/间接地进行任何类型的登录。即。我甚至不想使用ssh keygen存储密钥。它应该像网页一样工作,任何新系统,但没有任何安全调整

请告诉我。

2 个答案:

答案 0 :(得分:0)

cron计划是一个很好的起点。它可以在任何Linux系统上使用,并且可以设置为定期运行程序。如果程序产生错误消息,通常会通过电子邮件将其发送到创建cron作业的帐户。

答案 1 :(得分:0)

用于检查磁盘使用情况和CPU使用情况的脚本

ALERT=60

df命令用于检查可用磁盘列表及其属性。这里我们获取Filesystem信息并获取文件系统名称和文件用法 系统通过awk命令。接下来获取值我们剪切%符号并仅获取整数。然后我们检查警报消息的条件。

df -H | grep -vE '^Filesystem'  | awk '{ print $5 " " $1 }' | while read output; do
usep=$(echo $output | awk '{ print $1}'| cut -d '%' -f1 )
partition=$(echo $output | awk '{ print $2 }' )
if [ $usep -ge $ALERT ]; then
echo  "Alert: Almost out of disk space $usep $partition $HOSTNAME"
fi
done

这是我为检查磁盘空间而编写的脚本。 然后我在终端中给crontab -e命令将脚本添加到文件中。现在已经分配了新的cron作业。我设置了每1小时执行一次的cronjob来监视磁盘空间检查。

所以,现在我无法收到消息通知。如果我没有登录该机器,如何获取有关磁盘空间检查的信息?

脚本中是否有任何需要改进的地方?