Главная » Виртуализация - виртуальные машины и контейнеры » Контейнеры LXD » Скрипт для обновления всех активных контейнеров LXD

📑 Скрипт для обновления всех активных контейнеров LXD

lxd logo

Когда на сервере много LXD контейнеров, обновление системы на них создает определенные проблемы. Для этого существует скрипт, который обновляет (update/upgrade) все запущенные контейнеры:

#!/bin/bash
# Run apt update/upgrade on all LXD containers
 
 
running="$(lxc list -c ns | awk '!/NAME/{ if ( $4 == "RUNNING" ) print $2}')"
 
for container in $running
do
echo "Updating Ubuntu LXD Container "$container"..."
lxc exec $container -- /bin/bash -c "apt -qq update"
lxc exec $container -- /bin/bash -c "apt -qq -y full-upgrade"
lxc exec $container -- /bin/bash -c "apt -qq -y autoremove --purge"
lxc exec $container -- /bin/bash -c "apt -qq -y clean"
done

Скрипт набираем любым редактором текста, например nano:

nano  lxd-apt-update.sh

Делаем его исполняемым:

chmod +x lxd-apt-update.sh

Далее можно сделать, чтобы скрипт lxd-apt-update.sh запускался ежедневно, еженедельно и т.д. Для этого его нужно скопировать в соответствующую папку в /etc/ — cron.daily, cron.weekly или cron.monthly:

sudo cp  lxd-apt-update.sh /etc/cron.daily/lxd-apt-update.sh

Скрипт взят отсюда.

При перепечатке просьба вставлять активные ссылки на oslogic.ru
Copyright oslogic.ru © 2021 . All Rights Reserved.