【问题标题】:Bash script if else execute once cronjob every minuteBash 脚本 if else 每分钟执行一次 cronjob
【发布时间】:2015-09-17 14:36:37
【问题描述】:

我在 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

感谢您的帮助。

【问题讨论】:

    标签: bash cron


    【解决方案1】:

    我已设法通过在父 if 中创建另一个 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-29
      • 2012-08-26
      • 1970-01-01
      • 2016-11-21
      • 2011-07-20
      • 2014-03-25
      相关资源
      最近更新 更多