package_check/sub_scripts/auto_upgrade.sh
2016-12-02 23:15:51 +01:00

27 lines
1.1 KiB
Bash
Executable file

#!/bin/bash
# Ce script n'a vocation qu'a être dans un cron. De préférence une fois par jour ou par semaine.
# Récupère le dossier du script
if [ "${0:0:1}" == "/" ]; then script_dir="$(dirname "$0")"; else script_dir="$(echo $PWD/$(dirname "$0" | cut -d '.' -f2) | sed 's@/$@@')"; fi
echo ""
date
# Vérifie que Package check n'est pas déjà utilisé.
timeout=7200 # Durée d'attente maximale
inittime=$(date +%s) # Enregistre l'heure de début d'attente
while test -e "$script_dir/../pcheck.lock"; do # Vérifie la présence du lock de Package check
sleep 60 # Attend la fin de l'exécution de Package check.
echo -n "."
if [ $(( $(date +%s) - $inittime )) -ge $timeout ] # Vérifie la durée d'attente
then # Si la durée dépasse le timeout fixé, force l'arrêt.
inittime=0 # Indique l'arrêt forcé du script
echo "Temps d'attente maximal dépassé, la mise à jour est annulée."
break
fi
done
echo ""
if [ "$inittime" -ne 0 ]; then # Continue seulement si le timeout n'est pas dépassé.
"$script_dir/lxc_upgrade.sh" # Exécute le script d'upgrade de Package check
fi