package_check/sub_scripts/start.sh
2016-10-20 00:33:56 +02:00

44 lines
1.5 KiB
Bash
Executable file

#!/bin/bash
# Teste différents aspect du conteneur pour chercher d'éventuelles erreurs.
# Et tente de réparer si possible...
# 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
PLAGE_IP=$(cat "$script_dir/lxc_build.sh" | grep PLAGE_IP= | cut -d '"' -f2)
ARG_SSH="-t"
LXC_NAME=$(cat "$script_dir/lxc_build.sh" | grep LXC_NAME= | cut -d '=' -f2)
STOP_CONTAINER () {
echo "Arrêt du conteneur $LXC_NAME"
sudo lxc-stop -n $LXC_NAME
}
START_NETWORK () {
echo "Initialisation du réseau pour le conteneur."
sudo ifup lxc-pchecker --interfaces=/etc/network/interfaces.d/lxc-pchecker
# Activation des règles iptables
sudo iptables -A FORWARD -i lxc-pchecker -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o lxc-pchecker -j ACCEPT
sudo iptables -t nat -A POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE
}
STOP_NETWORK () {
echo "Arrêt du réseau pour le conteneur."
sudo iptables -D FORWARD -i lxc-pchecker -o eth0 -j ACCEPT > /dev/null 2>&1
sudo iptables -D FORWARD -i eth0 -o lxc-pchecker -j ACCEPT > /dev/null 2>&1
sudo iptables -t nat -D POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE > /dev/null 2>&1
sudo ifdown --force lxc-pchecker > /dev/null 2>&1
}
START_CONTAINER () {
sudo lxc-start -n $LXC_NAME -d > /dev/null 2>&1 # Démarre le conteneur
sudo lxc-wait -n $LXC_NAME -s 'RUNNING' -t 60 # Attend pendant 60s maximum que le conteneur démarre
}
STOP_CONTAINER
STOP_NETWORK
START_NETWORK
START_CONTAINER