gpt4 book ai didi

linux - 我需要 solaris 的文件大小警报脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:21:39 25 4
gpt4 key购买 nike

file=/root/stacktrace.log
minsize=100
filesize=$(wc -c <"$file")
echo $filesize
if [ $filesize -ge $minsize ]; then
mailx -s 'File size is more than 10MB' example@gmail.com < /dev/null
fi

以上脚本在 centos 中运行良好。但它在 solaris 操作系统中不起作用。

请帮我解决这个问题。

最佳答案

试试这个:

file=/root/stacktrace.log
maxsize=100
if [ -f "$file" ] && [ -n "$(find "$file" -size +"$maxsize"c)" ]; then
mailx -s "File size is more than $maxsize" example@gmail.com < /dev/null
fi

这使用 find确定大小为 $maxsize 或更大,在本例中为 100 字节。我还需要 [ -f "$file"] 来确保我们查看的是文件而不是目录,这样 find 的递归搜索就不会在该目录结构中找到足够大的文件。

BSD findGNU find (但 Solaris find)支持比“字符”(字节)的 c 更好的单位。尝试 kMG,如 -size +"$maxsize"M-大小 +$((maxsize*1048576))c

(不要介意语法突出显示看起来很奇怪。您可以在 "$(…)" command substitution 中嵌套一层双引号。)

关于linux - 我需要 solaris 的文件大小警报脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41930577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com