2015-09-17 94 views
0

我在每分鐘運行一次的crontab中有一個bash腳本。 在這個bash腳本中,我有一個sql查詢,並檢查數字 如果數字大於預定義數字,那麼我想移動文件並替換文件。 這工作絕對好,問題是,因爲這個腳本每分鐘通過crontab運行,當腳本下次運行時它會覆蓋文件。Bash腳本如果還有一次執行一次cronjob每分鐘

是否有任何邏輯,我可以把這個代碼只運行一次,但讓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 

您的幫助表示讚賞。

回答

0

我已經設法解決這個問題,通過在父級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