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