<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Аспро: ЛайтШоп [тема: Script tu update debian LXC]</title>
		<link>http://proxmox.su</link>
		<description>Новое в теме Script tu update debian LXC форума Proxmox Виртуальная Среда на сайте Аспро: ЛайтШоп [proxmox.su]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 02 May 2026 13:37:03 +0300</pubDate>
		<item>
			<title>Script tu update debian LXC</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message360635/81800-script-tu-update-debian-lxc">Script tu update debian LXC</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			Нет, но я на это взгляну. Дополнил: Похоже, это Ubuntu Pro, но он работает для всех пакетов и дополнительных установленных программ? Не думаю. <br />
			<i>20.02.2023 12:17:00, BassT.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message360635/81800-script-tu-update-debian-lxc</link>
			<guid>http://proxmox.su/forum/messages/forum63/message360635/81800-script-tu-update-debian-lxc</guid>
			<pubDate>Mon, 20 Feb 2023 12:17:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
		<item>
			<title>Script tu update debian LXC</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message360634/81800-script-tu-update-debian-lxc">Script tu update debian LXC</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			Вы слышали о unattended-upgrades? <br />
			<i>20.02.2023 10:15:00, LnxBil.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message360634/81800-script-tu-update-debian-lxc</link>
			<guid>http://proxmox.su/forum/messages/forum63/message360634/81800-script-tu-update-debian-lxc</guid>
			<pubDate>Mon, 20 Feb 2023 10:15:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
		<item>
			<title>Script tu update debian LXC</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message360633/81800-script-tu-update-debian-lxc">Script tu update debian LXC</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			Посмотрите здесь <noindex><a href="https://github.com/BassT23/Proxmox" target="_blank" rel="nofollow" >https://github.com/BassT23/Proxmox</a></noindex> <br />
			<i>19.02.2023 22:24:00, BassT.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message360633/81800-script-tu-update-debian-lxc</link>
			<guid>http://proxmox.su/forum/messages/forum63/message360633/81800-script-tu-update-debian-lxc</guid>
			<pubDate>Sun, 19 Feb 2023 22:24:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
		<item>
			<title>Script tu update debian LXC</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message360632/81800-script-tu-update-debian-lxc">Script tu update debian LXC</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			Конечно, это работает для всех пакетов, которые можно обновить через APT. Разумеется, это открытый код, и он существует уже десятилетия. <br />
			<i>20.02.2023 12:22:00, LnxBil.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message360632/81800-script-tu-update-debian-lxc</link>
			<guid>http://proxmox.su/forum/messages/forum63/message360632/81800-script-tu-update-debian-lxc</guid>
			<pubDate>Mon, 20 Feb 2023 12:22:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
		<item>
			<title>Script tu update debian LXC</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message360631/81800-script-tu-update-debian-lxc">Script tu update debian LXC</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			Все в порядке. Мой скрипт работает нормально в "interactive" режиме, так что каждый может проверить изменения. С конфигурационным файлом также можно исключать машины из обновления. Он также создает лог-файл, чтобы потом все это проверить. <br />
			<i>20.02.2023 14:22:00, BassT.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message360631/81800-script-tu-update-debian-lxc</link>
			<guid>http://proxmox.su/forum/messages/forum63/message360631/81800-script-tu-update-debian-lxc</guid>
			<pubDate>Mon, 20 Feb 2023 14:22:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
		<item>
			<title>Script tu update debian LXC</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message360630/81800-script-tu-update-debian-lxc">Script tu update debian LXC</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			Но мне лично не нравится использовать его для всех обновлений. Я использую его только для автоматической установки патчей безопасности, чтобы уязвимости исправлялись как можно быстрее. Обычные обновления я хочу делать вручную, чтобы сначала прочитать журналы изменений и сравнить конфигурационные файлы, чтобы убедиться, что обновление ничего не сломает. А потом протестировать службы после обновления, чтобы проверить, все ли работает как задумано. <br />
			<i>20.02.2023 13:38:00, Dunuin.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message360630/81800-script-tu-update-debian-lxc</link>
			<guid>http://proxmox.su/forum/messages/forum63/message360630/81800-script-tu-update-debian-lxc</guid>
			<pubDate>Mon, 20 Feb 2023 13:38:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
		<item>
			<title>Script tu update debian LXC</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message360629/81800-script-tu-update-debian-lxc">Script tu update debian LXC</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			Привет, я просто хотел поделиться скриптом, который я сделал для управления обновлением моего LXC. Сначала немного информации: - Все мои LXC на Debian - Могут быть случаи с ошибками и так далее... Я использую его последние 6 месяцев раз в неделю, и, кажется, ничего не ломалось - Код может быть действительно плохим и его можно значительно оптимизировать. Учитывая это, вот что должен делать скрипт: - Для каждого LXC -- Очищать его -- если он остановлен, спрашивать, хотите ли вы запустить его для процесса обновления -- apt update + визуально показывать ожидающие обновления -- спрашивать, хотите ли вы сделать apt upgrade -- спрашивать, хотите ли вы сделать снимок перед обновлением (никогда не забывайте делать снимок перед обновлением на всякий случай) -- обновлять -- если LXC был остановлен, спрашивать, хотите ли вы снова его остановить -- переходить к следующему LXC. Он записывает все в один общий лог за выполнение скрипта и один лог-файл на каждый LXC за выполнение. Так что вот код: Bash: #!/bin/bash<br /><br />#Putty : включите "Implicit LF in every CR", чтобы было удобно читать на экране<br /><br />ct=$(sudo pct list | awk '/^[0-9]/ {print $1}')<br />dt="$(date '+%d-%m-%Y_%H-%M-%S')"<br />log_file_global="general - $dt.log"<br />log_file_LXC=""<br />GREEN=$'\e[0;32m'<br />NC=$'\e[0m'<br /><br />function log_general() {<br /> &nbsp; &nbsp;echo "${GREEN}$1${NC}"<br /> &nbsp; &nbsp;echo "$(date '+%d-%m-%Y_%H-%M-%S') - $1" &gt;&gt; "$log_file_global"<br />}<br /><br />function log() {<br /> &nbsp; &nbsp;echo "${GREEN}$1${NC}"<br /> &nbsp; &nbsp;echo "$(date '+%d-%m-%Y_%H-%M-%S') - $1" &gt;&gt; "$log_file_LXC"<br />}<br /><br />function execScreenLog () {<br /> &nbsp; &nbsp;eval $1 2&gt;&1 | tee -a "$log_file_LXC"<br />}<br /><br />function execLog() {<br /> &nbsp; &nbsp;eval $1 &gt;&gt; "$log_file_LXC"<br />}<br /><br />function snapshotLXC () {<br /> &nbsp; &nbsp;log "Создание снимка для контейнера: $container"<br /> &nbsp; &nbsp;# Можно было бы проверить свободное место<br /> &nbsp; &nbsp;execScreenLog "pct snapshot $container \"Update_$(date '+%Y%m%d_%H%M%S')\""<br />}<br /><br />function aptUpgrade () {<br /> &nbsp; &nbsp;question "Создать снимок?" "snapshotLXC $container" "log Снимок не создан для контейнера: $container"<br /> &nbsp; &nbsp;execScreenLog "pct exec $container -- bash -c \"apt -q upgrade -y\""<br />}<br /><br />function question () {<br /> &nbsp; &nbsp;log "$1"<br /> &nbsp; &nbsp;select yn in "Да" "Нет"; do<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case $yn in<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Да ) log "Да"; $2; break;;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Нет ) log "Нет"; $3; break;;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;esac<br /> &nbsp; &nbsp;done<br />}<br /><br />function statusLXC () {<br /> &nbsp; &nbsp; &nbsp; &nbsp;execScreenLog "pct status $container | grep -oP '(?&lt;=status: ).*'"<br />}<br /><br />function startLXC() {<br /> &nbsp; &nbsp; &nbsp; &nbsp;execScreenLog "pct start $1"<br /> &nbsp; &nbsp;# Это нужно изменить.<br /> &nbsp; &nbsp;# Проверка статуса LXC недостаточно, потому что LXC "работает" немедленно (даже если сеть не работает в LXC)" ... для моего LXC 5 секунд достаточно, чтобы они ответили<br /> &nbsp; &nbsp;sleep 5<br />}<br /><br />function aptUpdate () {<br /> &nbsp; &nbsp; &nbsp; execScreenLog "pct exec $container -- bash -c \"apt -q update\""<br /> &nbsp; &nbsp;execScreenLog "pct exec $container -- bash -c \"apt -q list --upgradable\""<br />}<br /><br />function stopLXC () {<br /> &nbsp; &nbsp;execScreenLog "pct shutdown $container"<br />}<br /><br /># Начало скрипта<br />printf "\033c"<br />log_general "Начало скрипта"<br /><br />for container in $ct<br />do<br /> &nbsp; &nbsp;wasStopped=0<br /> &nbsp; &nbsp;log_general "Начало обслуживания контейнера: $container"<br /> &nbsp; &nbsp;log_file_LXC="$container - $dt.log"<br /> &nbsp; &nbsp;log "Начало обслуживания контейнера: $container"<br /> &nbsp; &nbsp;log "FsTrim на контейнере: $container"<br /> &nbsp; &nbsp;execScreenLog "pct fstrim $container"<br /> &nbsp; &nbsp;case $(statusLXC $container) in<br /> &nbsp; &nbsp; &nbsp; &nbsp;"running") log "Контейнер работает: $container";;<br /> &nbsp; &nbsp; &nbsp; &nbsp;"stopped")<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;question "Запустить контейнер: $container?" "startLXC $container" "log Контейнер оставлен остановленным: $container"<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;wasStopped=1<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case $(statusLXC $container) in<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"stopped") printf "\033c"; continue;;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;esac;;<br /> &nbsp; &nbsp; &nbsp; &nbsp;*) log "Пользовательский контейнер $container неизвестного статуса"; continue;;<br /> &nbsp; &nbsp;esac<br /> &nbsp; &nbsp;# Найти способ подсчитать количество строк и не спрашивать, если нет ожидающего обновления<br /> &nbsp; &nbsp;aptUpdate<br /> &nbsp; &nbsp; &nbsp; &nbsp;question "Обновить контейнер: $container?" "aptUpgrade" "log Контейнер $container не обновлен"<br /> &nbsp; &nbsp;if [ "$wasStopped" = "1" ]<br /> &nbsp; &nbsp;then<br /> &nbsp; &nbsp; &nbsp; &nbsp;question "Остановить контейнер: $container" "stopLXC $container" "log Контейнер $container оставлен работающим"<br /> &nbsp; &nbsp;fi<br /> &nbsp; &nbsp;# Найти способ спросить о удалении снимка? Например, обновление завершено, вы тестируете свою службу, пока скрипт ждет, а затем вы спрашиваете об удалении снимка<br /> &nbsp; &nbsp;log "Конец обслуживания контейнера: $container"<br /> &nbsp; &nbsp;log_general "Конец обслуживания контейнера: $container"<br /> &nbsp; &nbsp;read -p "Нажмите любую клавишу для продолжения ..."<br /> &nbsp; &nbsp;printf "\033c"<br />done<br /><br />log_general "Скрипт завершен" Эй! Я же говорил, что это... как бы сыровато. Когда-нибудь я попробую сделать что-то подобное, но для виртуальной машины... когда-нибудь. Сначала я думал опубликовать это на git или что-то вроде этого, чтобы люди могли форкать и предлагать оптимизацию, но я совсем не разбираюсь в коде и git, поэтому просто оставлю это здесь. Не стесняйтесь делиться замечаниями о том, что сделано не очень хорошо и так далее, я всегда ищу возможности для улучшения. Хорошего дня! <br />
			<i>20.02.2022 11:12:00, cryonie.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message360629/81800-script-tu-update-debian-lxc</link>
			<guid>http://proxmox.su/forum/messages/forum63/message360629/81800-script-tu-update-debian-lxc</guid>
			<pubDate>Sun, 20 Feb 2022 11:12:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
	</channel>
</rss>
