From 6a51de62d6ed74f98648732c75d2ccc8151627f0 Mon Sep 17 00:00:00 2001 From: Yohan_Charbi Date: Mon, 11 Feb 2019 22:22:59 +0100 Subject: [PATCH] Ajout des fichiers LXC --- ifup | 8 ++++++++ lxc-maj.sh | 34 ++++++++++++++++++++++++++++++++++ lxc-start.sh | 25 +++++++++++++++++++++++++ lxc-stop.sh | 28 ++++++++++++++++++++++++++++ 4 files changed, 95 insertions(+) create mode 100755 ifup create mode 100755 lxc-maj.sh create mode 100755 lxc-start.sh create mode 100755 lxc-stop.sh diff --git a/ifup b/ifup new file mode 100755 index 0000000..76f9777 --- /dev/null +++ b/ifup @@ -0,0 +1,8 @@ +#!/bin/bash +ovsCommut=`grep -e "^# LXC br ID" /var/lib/lxc/$1/config | cut -f 6 -d ' '` +TAG=`grep -e "^# LXC tag ID" /var/lib/lxc/$1/config | cut -f 6 -d ' '` + +ip link set $5 mtu 9000 +ip link set $5 master $ovsCommut +bridge vlan del dev $5 vid 1 PVID untagged master +bridge vlan add dev $5 vid $TAG pvid untagged master diff --git a/lxc-maj.sh b/lxc-maj.sh new file mode 100755 index 0000000..e603e7c --- /dev/null +++ b/lxc-maj.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# Nom : lxc-maj.sh +# Fonction : Mettre à jour tout les conteneurs +# Auteur initial: Vivek Gite , under GPL v2+ +# ------------------------------------------------------- + +# Obtenir la liste des conteneurs +vms="$(lxc-ls --active)" + +# Mettre à jour tout les conteneurs de la liste +maj_lxc(){ + local vm="$1" + echo -e "\\033[1;34m*** [VM: $vm [$(hostname) @ $(date)] ] ***" + echo -e "\\033[1;32m-----------------------------------------------------------------" + tput sgr0 + /usr/bin/lxc-attach -n "$vm" apt -- -q update + /usr/bin/lxc-attach -n "$vm" apt -- -q -y upgrade + echo 'Lancement de la commande "apt autoremove".' + /usr/bin/lxc-attach -n "$vm" apt -- -qq -y autoremove + /usr/bin/lxc-attach -n "$vm" apt-get -- -qq -y clean + /usr/bin/lxc-attach -n "$vm" apt-get -- -qq -y autoclean + # Pour RHEL/CentOS/Fedora Linux, remplacez les commandes lxc-attach précédentes par celle-ci : + # lxc-attach -n "$vm" yum -y update + echo -e "\\033[1;32m-----------------------------------------------------------------" + tput sgr0 +} + +# Exécuter la mise à jour +for v in $vms +do + maj_lxc "$v" +done + +#Source : https://www.cyberciti.biz/faq/how-to-update-debian-or-ubuntu-linux-containers-lxc/ diff --git a/lxc-start.sh b/lxc-start.sh new file mode 100755 index 0000000..58e1575 --- /dev/null +++ b/lxc-start.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# lxc-start.sh +# Fonction: Démarrer tout les conteneurs +# Auteur initial: Vivek Gite , under GPL v2+ +# ------------------------------------------------------- + +# Obtenir la liste des conteneurs +vms="$(lxc-ls)" + +# Démarrer tout les conteneurs de la liste +start_lxc(){ + local vm="$1" + echo -e "\\033[1;34m*** [VM: $vm [$(hostname) @ $(date)] ] ***" + echo -e "\\033[1;32m-----------------------------------------------------------------" + tput sgr0 + /usr/bin/lxc-start -n "$vm" -d + echo -e "\\033[1;32m-----------------------------------------------------------------" + tput sgr0 +} + +# Exécuter l'allumage +for v in $vms +do + start_lxc "$v" +done diff --git a/lxc-stop.sh b/lxc-stop.sh new file mode 100755 index 0000000..531a52b --- /dev/null +++ b/lxc-stop.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# lxc-start.sh +# Fonction: Éteindre tout les conteneurs +# Auteur initial: Vivek Gite , under GPL v2+ +# ------------------------------------------------------- + +# Obtenir la liste des conteneurs +vms="$(lxc-ls --active)" + +# Éteindre tout les conteneurs de la liste +stop_lxc(){ + local vm="$1" + echo -e "\\033[1;34m*** [VM: $vm [$(hostname) @ $(date)] ] ***" + echo -e "\\033[1;32m-----------------------------------------------------------------" + tput sgr0 + echo "Arrêt de $v." + /usr/bin/lxc-attach -n "$vm" init 0 + # Pour RHEL/CentOS/Fedora Linux, remplacez la commande lxc-attach précédente par celle-ci : + # lxc-attach -n "$vm" poweroff + echo -e "\\033[1;32m-----------------------------------------------------------------" + tput sgr0 +} + +# Exécuter l'extinction +for v in $vms +do + stop_lxc "$v" +done