mirror of
https://github.com/YunoHost/package_check.git
synced 2024-09-03 20:06:20 +02:00
44 lines
1.5 KiB
Bash
Executable file
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
|