Proxmox: uno script per connettersi alla shell dei LXC

| |

Ho diversi container LXC registrati in Proxmox. Di solito, mi assicuro che siano sempre aggiornati e, per farlo, agisco nel 99% dei casi da un terminale che passa direttamente tramite il nodo, sono solito evitare di attivare l’utente root diretto sui LXC.

Mi serviva quindi un “facilitatore“, qualcosa da lanciare una sola volta, che mi permettesse di passare a bussare su tutti loro uno dopo l’altro. Mi sono fatto perciò aiutare da ChatGPT, per risparmiare un po’ di tempo e buttare giù queste poche righe di codice Bash. Ottenuta la lista dei container LXC ospitati da Proxmox (l’output del comando pct list), tengo solo gli ID (la prima colonna) e, per ogni container in esecuzione (determinato dallo stato di running), lancio un lxc-attach che mi permetterà di entrare in console.

Per ogni container potrò poi eseguire le operazioni di manutenzione necessarie. Uscendo dal terminale del container, verrà automaticamente lanciato il comando che mi collegherà al successivo LXC, il tutto fino a quando non terminerò la lista dei LXC disponibili e attivi.

#!/bin/bash

# Ottieni l'output del comando 'pct list'
output=$(pct list)

# Estrai solo gli ID dei container in esecuzione
vmids=$(echo "$output" | awk 'NR>1 && $2=="running" {print $1}')

# Controlla se ci sono container in esecuzione
if [ -z "$vmids" ]; then
    echo "Nessun container in esecuzione trovato."
    exit 1
fi

# Itera sugli ID dei container trovati
for vmid in $vmids; do
    echo "Attach di $vmid"
    # Esegui il comando 'lxc-attach' con una shell specifica
    lxc-attach --name "$vmid" -- /bin/bash
done

Uno script molto banale che avrei potuto scrivere anche io, mi rendo conto, ma perché non approfittare di OpenAI e del suo giocattolo? 🙃
Così facendo, dopo un chmod +x sullo script bash appena salvato (il mio file si chiama molto semplicemente updateLXC.sh), mi basterà eseguirlo da terminale per poter procedere poi con la manutenzione dei vari LXC. Nel caso di quelli basati su Alpine Linux, domani è già programmata la pubblicazione di un articolo che ti proporrà un altro script in grado di aggiornare rapidamente i pacchetti necessari e, in alternativa, un altro metodo per automatizzare ancora di più l’operazione.

Come alternativa a quanto proposto sopra, nel caso fosse per te “troppo home made“, c’è sempre la possibilità di appoggiarsi allo script proposto dalla community di Proxmox VE Helper-Scripts, progetto che adoro e sul quale faccio affidamento ormai da qualche tempo. Nello specifico, ti sto parlando di Proxmox VE LXC Updater, c’è la sua scheda riepilogativa (e la stringa d’esecuzione diretta da terminale, se vuoi) all’indirizzo community-scripts.github.io/ProxmoxVE/scripts?id=update-lxcs.

In caso di dubbi, come al solito, hai l’area commenti a tua disposizione.

#KeepItSimple


Immagine di copertina: proxmoxcentral.com

Correzioni, suggerimenti? Lascia un commento nell'apposita area qui di seguito o contattami privatamente.
Ti è piaciuto l'articolo? Offrimi un caffè! ☕ :-)

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato agli articoli "a bruciapelo"!
Se vuoi leggere le altre pillole fai clic qui.

Condividi l'articolo con i tuoi contatti:
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Commenti
Oldest
Newest Most Voted
Inline Feedbacks
View all comments