#!/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}"