keenetic-configs/scripts/update-script.sh
2026-03-17 15:27:46 +03:00

51 lines
1.8 KiB
Bash
Raw 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/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