Proxmox - mettre à jour les conteneurs éteints

Environnement

L'environnement est fourni à titre indicatif afin d'identifier d'éventuelles divergences de résultats en cas d'utilisation du script dans un environnement proche mais néanmoins différent.

  • Proxmox 8

Description

Ce script met à jour les conteneurs de type Debian.

Script

#!/bin/bash
# stopped_ct_update.sh
# Démarre et mets à jour les conteneurs éteints

# Lister tous les conteneurs arrêtés et mettre leur VMID dans un tableau

declare -a running_ct=( `pct list | grep stopped | cut -c 1-3` )

# Pour chaque conteneur présent dans le tableau, les démarrer, effectuer les mises à jour et les arrêter

for ct in "${running_ct[@]}";
do
        echo ""
        echo "############################################################"
        echo "conteneur" $ct && pct start $ct && pct exec $ct -- bash -c 'hostname -f'
        echo "############################################################"
        echo ""
        sleep 3
        pct exec $ct -- bash -c 'dpkg --configure -a'
        pct exec $ct -- bash -c 'apt update --fix-missing'
        pct exec $ct -- bash -c 'apt install -f'
        pct exec $ct -- bash -c 'apt update'
        pct exec $ct -- bash -c 'apt dist-upgrade -y'
        pct exec $ct -- bash -c 'apt clean'
        pct exec $ct -- bash -c 'apt autoremove -y'
        pct exec $ct -- bash -c 'apt autoclean -y'
        sleep 3
        pct stop $ct
done