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

如何仅在文件大于一定大小时执行cronjob?,cron,vps,cp,Cron,Vps,Cp,以下脚本(归功于Romeo Ninov)选择最近的目录并执行cp操作: dir=$(ls -tr1 /var/lib/test|tail -1) cd /var/lib/test/$dir && cp *.zip /home/bobby/ 请参见:关于上一个问题 我想对此进行修改,以便仅当.zip文件大于定义的字节大小(例如28000字节)时才会发生cp。如果.zip文件较小,则不会复制任何内容 与之前一样,这将发生在/var/lib/test/***(其中****从0000到

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

dir=$(ls -tr1 /var/lib/test|tail -1)
cd /var/lib/test/$dir && cp *.zip /home/bobby/
请参见:关于上一个问题

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

与之前一样,这将发生在
/var/lib/test/***
(其中****从
0000
FFFF
,并每天递增)


谢谢

您可以通过以下方式重写脚本:

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