Files
server-tools/bash/setup_sync.sh

39 lines
2.1 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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}"