#!/usr/bin/env bash set -euo pipefail for i in $(lxc list --format csv -c n); do lxc snapshot "$i" if lxc exec "$i" -- which apt >/dev/null 2>&1; then echo "Upgrading Debian/Ubuntu $i" lxc exec "$i" -- apt update lxc exec "$i" -- apt upgrade -y fi if lxc exec "$i" -- which pacman >/dev/null 2>&1; then echo "Upgrading ArchLinux $i" lxc exec "$i" -- sudo -u benpro yay -Sc --noconfirm lxc exec "$i" -- sudo -u benpro yay -Syu --noconfirm fi if lxc exec "$i" -- which apk >/dev/null 2>&1; then echo "Upgrading Alpine $i" lxc exec "$i" -- apk update lxc exec "$i" -- apk add --upgrade apk-tools lxc exec "$i" -- apk upgrade fi lxc exec "$i" -- sync lxc exec "$i" -- reboot done