df -h return 98% full 时如何执行命令
How to execute command when df -h return 98% full
df -h return 98% full
时如何执行命令
我有一张磁盘在
/dev/sdb1 917G 816G 55G 94% /disk1
如果它 return 98% 已满,我想执行以下操作
find . -size +80M -delete
我该怎么做,我将 运行 使用 cron shell 脚本
* * * * * sh /root/checkspace.sh
执行 df -h
,将命令输出通过管道传输到 grep
匹配“/dev/sdb1”,并通过 awk
处理该行,检查数字部分是否第 5 列(awk
项中的
)大于或等于 98。不要忘记检查它是否超过 98。
您需要安排脚本,检查磁盘利用率,如果利用率约为 98%,则删除文件。
要安排脚本,您可以参考 Wikipedia Cron 条目。
Unix&Linux站点有使用find命令删除文件的例子:
"How to delete directories based on find
output?"
为了您的测试,您需要 test constructs and command substitution。请注意,您将对 sh 使用 "backticks",但对于 bash,$(...) 形式已取代反引号以进行命令替换。
要获得磁盘利用率,您可以使用:
df | grep -F "/dev/sdb1" | awk '{print }'
--这是一个用于获取特定磁盘的功能性 grep,用于拉出第 5 列的 awk,以及带有删除标志的 tr 用于删除百分号。
你的测试可能看起来像这样:
if [ `df | grep -F "/dev/vda1" | awk '{print }' | tr -d %` -ge 98 ];
then echo "Insert your specific cleanup command here.";
fi
当然有很多方法可以解决这个问题,但希望对您有所帮助!
df -h return 98% full
时如何执行命令我有一张磁盘在
/dev/sdb1 917G 816G 55G 94% /disk1
如果它 return 98% 已满,我想执行以下操作
find . -size +80M -delete
我该怎么做,我将 运行 使用 cron shell 脚本
* * * * * sh /root/checkspace.sh
执行 df -h
,将命令输出通过管道传输到 grep
匹配“/dev/sdb1”,并通过 awk
处理该行,检查数字部分是否第 5 列(awk
项中的 )大于或等于 98。不要忘记检查它是否超过 98。
您需要安排脚本,检查磁盘利用率,如果利用率约为 98%,则删除文件。
要安排脚本,您可以参考 Wikipedia Cron 条目。
Unix&Linux站点有使用find命令删除文件的例子:
"How to delete directories based on find
output?"
为了您的测试,您需要 test constructs and command substitution。请注意,您将对 sh 使用 "backticks",但对于 bash,$(...) 形式已取代反引号以进行命令替换。
要获得磁盘利用率,您可以使用:
df | grep -F "/dev/sdb1" | awk '{print }'
--这是一个用于获取特定磁盘的功能性 grep,用于拉出第 5 列的 awk,以及带有删除标志的 tr 用于删除百分号。
你的测试可能看起来像这样:
if [ `df | grep -F "/dev/vda1" | awk '{print }' | tr -d %` -ge 98 ];
then echo "Insert your specific cleanup command here.";
fi
当然有很多方法可以解决这个问题,但希望对您有所帮助!