#!/bin/sh # URL вашего основного скрипта (залейте на GitHub/свой сервер) SCRIPT_URL="https://gitea.vchikalkin.dev/admin/keenetic-configs/raw/branch/master/scripts/update-files.sh" SCRIPT_PATH="/opt/etc/update_files.sh" TMP_SCRIPT="/opt/tmp/update_files.sh.tmp" LOG="/opt/var/log/update_files.log" # Создаем необходимые директории mkdir -p /opt/tmp /opt/var/log # Проверяем существование лог-файла и создаем его если нужно touch "$LOG" TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S') # Скачиваем свежую версию скрипта wget -q -O "$TMP_SCRIPT" "$SCRIPT_URL" 2>/dev/null if [ $? -ne 0 ] || [ ! -s "$TMP_SCRIPT" ]; then echo "$TIMESTAMP [LAUNCHER] Не удалось скачать скрипт, запускаю локальный" >> "$LOG" rm -f "$TMP_SCRIPT" else # Сравниваем хеши if [ -f "$SCRIPT_PATH" ]; then OLD_SUM=$(md5sum "$SCRIPT_PATH" 2>/dev/null | cut -d' ' -f1) else OLD_SUM="" fi NEW_SUM=$(md5sum "$TMP_SCRIPT" | cut -d' ' -f1) if [ "$OLD_SUM" != "$NEW_SUM" ]; then # Копируем новый скрипт cp "$TMP_SCRIPT" "$SCRIPT_PATH" chmod +x "$SCRIPT_PATH" echo "$TIMESTAMP [LAUNCHER] Скрипт обновлён" >> "$LOG" else echo "$TIMESTAMP [LAUNCHER] Скрипт не изменился" >> "$LOG" fi rm -f "$TMP_SCRIPT" fi # Запускаем основной скрипт if [ -x "$SCRIPT_PATH" ]; then echo "$TIMESTAMP [LAUNCHER] Запуск основного скрипта" >> "$LOG" exec "$SCRIPT_PATH" else echo "$TIMESTAMP [LAUNCHER] Скрипт не найден!" >> "$LOG" fi