From 8affd849635199d3ede4e9bb6fab40f6f748a063 Mon Sep 17 00:00:00 2001 From: Alex Date: Mon, 13 Apr 2026 23:37:01 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=20?= =?UTF-8?q?=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D0=B0=D0=B2=D1=82=D0=BE=D0=BC=D0=B0=D1=82=D0=B8=D1=87=D0=B5?= =?UTF-8?q?=D1=81=D0=BA=D0=BE=D0=B9=20=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=BA=D0=B8=20=D1=81=D0=B8=D0=BD=D1=85=D1=80=D0=BE=D0=BD?= =?UTF-8?q?=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bash/setup_sync.sh | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 bash/setup_sync.sh diff --git a/bash/setup_sync.sh b/bash/setup_sync.sh new file mode 100644 index 0000000..eb3b821 --- /dev/null +++ b/bash/setup_sync.sh @@ -0,0 +1,39 @@ +#!/bin/bash +# ============================================================================== +# Скрипт: setup_sync.sh +# Описание: Автоматически настраивает ежечасное скачивание репозитория server-tools +# ============================================================================== + +set -e +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' + +echo -e "${GREEN}=== Настройка автоматической синхронизации скриптов ===${NC}" + +# Проверяем, запущен ли скрипт с правами суперпользователя (root) +if [ "$EUID" -ne 0 ]; then + echo -e "${YELLOW}Пожалуйста, запустите эту команду через sudo или от имени root.${NC}" + exit 1 +fi + +# Ссылка на наш скрипт синхронизации +SYNC_SCRIPT_URL="https://gitlab.alex2py.ru/uristalex/server-tools/raw/branch/main/auto-update/sync_scripts.sh" + +# Команда, которая будет выполняться каждый час (0 минут каждого часа) +CRON_JOB="0 * * * * bash <(curl -sSL $SYNC_SCRIPT_URL) > /var/log/sync_scripts.log 2>&1" + +# Проверяем, нет ли уже такой задачи в cron, чтобы избежать дублей +if crontab -l 2>/dev/null | grep -q "$SYNC_SCRIPT_URL"; then + echo -e "${YELLOW}Задача уже настроена в планировщике (cron). Пропускаю...${NC}" +else + # Добавляем задачу в cron + (crontab -l 2>/dev/null; echo "$CRON_JOB") | crontab - + echo -e "${GREEN}[+] Задача успешно добавлена в cron. Обновление будет идти каждый час.${NC}" +fi + +echo -e "\n${GREEN}=== Выполняю первую синхронизацию прямо сейчас ===${NC}" +# Запускаем скрипт синхронизации по ссылке +bash <(curl -sSL "$SYNC_SCRIPT_URL") + +echo -e "\n${GREEN}Настройка полностью завершена! Скрипты лежат в /opt/server-tools${NC}" \ No newline at end of file