如何仅在文件大于特定大小时执行cronjob



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

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

请参阅:当另一个程序使cronjob中的命令失败时,我如何使用cronjob?对于上一个问题。

我想对此进行修改,以便只有当.zip文件大于定义的字节大小(例如28000字节(时才会出现cp。如果.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

最新更新