To content | To menu | To search


du...du hast... (2)

Suite de mes aventures HASTiennes: après la découverte du merveilleux mode async, je me suis rendu compte à la longue que ce n'était pas si async que ça, et que j'avais toujours - mais moins - ces méchants freeze impactant directement les services ftp, web et mail.

Résultat, la mort dans l'âme, je me suis résolu à ressortir le hack immonde que j'avait gribouillé lors de mes premiers essais:

#!/bin/sh

POOL="data"
HASTCTL="/sbin/hastctl"
TIMEOUT=300

starttime=`date +%s`

${HASTCTL} role secondary ${POOL}

while true
do
        timestamp=`date +%s`
        curenttime=`echo "$timestamp - $starttime" | bc`
        if [ $curenttime -gt $TIMEOUT ]
        then
                echo "sync takes too much time. exiting."
                exit 1
        fi

        ${HASTCTL} status ${POOL} | grep complete > /dev/null

        if [ $? == 0 ]
        then
                sleep 2
                ${HASTCTL} role init ${POOL}
                #echo "sync finished."
                exit 0
        fi
done

À mettre en crontab tous les quarts d'heure. c'est sale mais ça rame déjà beaucoup moins.

Billets connexes

Add a comment

Comments can be formatted using a simple wiki syntax.

This post's comments feed