Bash脚本if else每分钟执行一次cronjob

时间:2015-09-17 14:36:38

标签: bash cron

我在crontab中有一个每分钟运行一次的bash脚本。 在这个bash脚本中,我有一个sql查询,它会检查数字 如果数字大于预定义的数字,那么我想移动文件并替换文件。 这非常正常,问题是因为这个脚本每分钟都通过crontab运行,所以当脚本下次运行时它会覆盖文件。

是否有任何逻辑我可以说这个代码只运行一次,但让cron每分钟运行一次。

这是代码

#!/bin/bash
count=`mysql -B -u root -ppassword -e 'select count(*) from column' table | tail -n +2`
allowed="500"

if [ "$count" -ge "$allowed" ]
then
mv /netboot/var/www/html /usr/html/
mv /netboot/var/www/back /netboot/var/www/html
echo "Not Allowed - Disable Code goes here"
else
echo "all is good for now $count"
fi
exit 0

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我已设法通过在父目录中创建另一个if语句来解决此问题。

见下文。

#!/bin/bash
count=`mysql -B -u root -ppassword -e 'select count(*) from column' table | tail -n +2`
allowed="500"

if [ "$count" -ge "$allowed" ]
then
   if
      html folder exists in /usr/
   then
      mv /netboot/var/www/html /usr/html/
      mv /netboot/var/www/back /netboot/var/www/html
   else
   echo " "
   fi
echo "Not Allowed - Disable Code goes here"
else
echo "all is good for now $count"
fi
exit 0