I have this script:
#!/bin/sh
data=$(date +%Y_%m_%d_%H_%M)
#data_rolling=$(date +%Y_%m_%d_%H_%M)
rolling_restart_01=$(cat rolling_restart_01.txt)
rolling_restart_02=$(cat rolling_restart_02.txt)
rolling_restart_03=$(cat rolling_restart_03.txt)
rolling_restart_01_script=$(cat rolling_restart_01.txt)
rolling_restart_02_script=$(cat rolling_restart_02.txt)
rolling_restart_03_script=$(cat rolling_restart_03.txt)
#Restart nodo 01
if [[ ($rolling_restart_01 == "OK") || ($rolling_restart_01_script == "OK") ]]; then
    echo 'RUNNING' > rolling_restart_01.txt
    echo 'Status for node 01 is: ' >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
    rolling_restart_01_script="RUNNING"
    echo $rolling_restart_01_script
    rolling_restart_01=$(cat rolling_restart_01.txt)
    echo $rolling_restart_01
fi
if [[ ($rolling_restart_01 == "RUNNING") || ($rolling_restart_01_script == "RUNNING") ]]; then
    #stato_nodi_vertica_file_01=$(cat stato_nodi_vertica_file_01.txt)
    echo 'ROLLING RESTART 01 = RUNNING' >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
    if [[ $(/opt/vertica/bin/admintools -t list_allnodes | grep 'RECOVERING\|DOWN') ]]; then
        date >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
        echo 'Node 01 not initialized'  >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
    else 
        echo 'UP' > rolling_restart_01.txt
        echo 'Node 01 status is: ' >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
        rolling_restart_01_script="UP"
        echo $rolling_restart_01_script >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
        rolling_restart_01=$(cat rolling_restart_01.txt)
        echo $rolling_restart_01 >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
        echo "" >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
    fi
fi
if [[ ($rolling_restart_01 == "UP") || ($rolling_restart_01_script == "UP") ]]; then
    echo 'ROLLING RESTART 01 = UP' >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
    echo "" >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
    echo "Node 01 restart: OK " >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
    /opt/vertica/bin/admintools -t list_allnodes >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
    echo 'UP' > rolling_restart_01.txt
    echo 'NODE 01 STATUS: ' >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
    rolling_restart_01_script="UP"
    echo $rolling_restart_01_script >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
    rolling_restart_01=$(cat rolling_restart_01.txt)
    echo $rolling_restart_01 >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
    echo "" >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
    #Restart nodo 02
    if [[ ($rolling_restart_02 == "OK") || ($rolling_restart_02_script == "OK") ]]; then
        echo "NODE 02 RESTART" >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
        echo 'RUNNING' > rolling_restart_02.txt
        echo 'Node 02 status is: ' >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
        rolling_restart_02_script="RUNNING"
        echo $rolling_restart_02_script >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
        rolling_restart_02=$(cat rolling_restart_02.txt)
        echo $rolling_restart_02 >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
        echo "" >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
    fi
    if [[ ($rolling_restart_02 == "RUNNING") || ($rolling_restart_02_script == "RUNNING") ]]; then
        #stato_nodi_vertica_file_02=$(cat stato_nodi_vertica_file_02.txt)
        echo 'ROLLING RESTART 02 = RUNNING' >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
        if [[ $(/opt/vertica/bin/admintools -t list_allnodes | grep 'RECOVERING\|DOWN') ]]; then
            date >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
            echo 'Node 02 not initialized'  >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
        else 
            echo 'UP' > rolling_restart_02.txt
            echo 'Node 02 status is: ' >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
            rolling_restart_02_script="UP"
            echo $rolling_restart_02_script >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
            rolling_restart_02=$(cat rolling_restart_02.txt)
            echo $rolling_restart_02 >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
            echo "" >> /home/dbadmin/rolling_restart_vertica/log/rolling_restart_vertica_$data
        fi
    fi
fi
the 3 files contains the following results:
- rolling_restart_01.txt > UP
- rolling_restart_02.txt > RUNNING
- rolling_restart_03.txt > OK
if I run the script manually it goes in this if:
if [[ ($rolling_restart_02 == "RUNNING") || ($rolling_restart_02_script == "RUNNING") ]]; then
while if I run from crontab it stops here:
if [[ ($rolling_restart_01 == "UP") || ($rolling_restart_01_script == "UP") ]]; then
Anybody knows why?
I think that the problem could be the if indenting but don't if I'm missing something.
Thanks, Emanuele
