如何仅在文件大于一定大小时才执行 cronjob?

How to perform a cronjob only when a file is greater than a certain size?

以下脚本(归功于 Romeo Ninov)选择最近的目录并执行 cp 操作:

dir=$(ls -tr1 /var/lib/test|tail -1)
cd /var/lib/test/$dir && cp *.zip /home/bobby/

上一个问题请看:

我想对此进行修改,以便 cp 仅在 .zip 文件大于定义的字节大小时发生,例如28,000 字节。如果 .zip 文件较小,则不会复制任何内容。

和以前一样,这会发生在 /var/lib/test/****(其中 **** 从 0000FFFF 并且每天递增)。

谢谢!

您可以这样重写您的脚本:

dir=$(ls -tr1 /var/lib/test|tail -1)
cd /var/lib/test/$dir
for i in *.zip
 do
 if [ "$(stat --printf="%s" $i)" -gt 28000 ] 
  then cp $i /home/bobby
 fi
done