From f7b3866b6af1614dd6a3965a007721c209cc941b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=A5=D1=80?= =?UTF-8?q?=D0=B0=D0=BC=D0=BE=D0=B2?= Date: Sun, 12 Oct 2025 12:20:47 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82=D0=B0?= =?UTF-8?q?=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- update.sh | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 update.sh diff --git a/update.sh b/update.sh new file mode 100644 index 0000000..5ea6159 --- /dev/null +++ b/update.sh @@ -0,0 +1,77 @@ +#!/bin/bash + +# Скрипт для обновления бота из git-репозитория +# Запускается на сервере в директории /opt/LGBot + +echo "🔄 Обновление LGBot..." +echo "================================" + +# Проверяем, находимся ли мы в git-репозитории +if [ ! -d ".git" ]; then + echo "❌ Ошибка: это не git-репозиторий" + exit 1 +fi + +# Показываем текущую ветку +CURRENT_BRANCH=$(git branch --show-current) +echo "📍 Текущая ветка: $CURRENT_BRANCH" + +# Проверяем наличие изменений +echo "" +echo "📊 Статус репозитория:" +git status --short + +# Получаем изменения из удаленного репозитория +echo "" +echo "📥 Получение изменений из репозитория..." +git fetch origin + +# Проверяем, есть ли обновления +LOCAL=$(git rev-parse HEAD) +REMOTE=$(git rev-parse origin/$CURRENT_BRANCH) + +if [ "$LOCAL" = "$REMOTE" ]; then + echo "✅ Бот уже обновлен до последней версии" + echo "" + echo "Последний коммит:" + git log -1 --pretty=format:"%h - %s (%ar)" --abbrev-commit + exit 0 +fi + +# Показываем, какие коммиты будут применены +echo "" +echo "📝 Новые коммиты:" +git log HEAD..origin/$CURRENT_BRANCH --pretty=format:"%h - %s (%ar)" --abbrev-commit + +# Обновляем код +echo "" +echo "⬇️ Применение обновлений..." +git pull origin $CURRENT_BRANCH + +if [ $? -ne 0 ]; then + echo "❌ Ошибка при обновлении из git" + exit 1 +fi + +echo "✅ Код успешно обновлен" + +# Перезапускаем бота +echo "" +echo "🔄 Перезапуск бота..." +systemctl restart LGBot.service + +if [ $? -eq 0 ]; then + echo "✅ Бот успешно перезапущен" + + # Ждем 2 секунды и проверяем статус + sleep 2 + echo "" + echo "📊 Статус службы:" + systemctl status LGBot.service --no-pager -l | head -10 +else + echo "❌ Ошибка при перезапуске бота" + exit 1 +fi + +echo "" +echo "🎉 Обновление завершено!" \ No newline at end of file