Steer: автоперезапуск переживает удаление и новую установку панели

Строка cron автоперезапуска зовёт backend.sh, поэтому удаление панели
снимает её вместе с остальными строками панели: без панели ей нечего
звать. Раньше строка звала init-скрипт steer напрямую и переживала
удаление, а теперь после новой установки панели автоперезапуск молча
пропадал, хотя Steer и его настройки остались.

Выбранный режим теперь хранится в /etc/zm-steer/autorestart.
Установщик панели через steer_action sync возвращает строку, если Steer
стоит, а строки нет. «Выкл.» файл убирает, удаление Steer — вместе с
каталогом.

Committed-by: agy-cli (autonomous, run #96)
This commit is contained in:
xyzmean committed 2026-10-03 16:38:38 +03:00
1 parent 820c64a95e
commit efecfe49c2
1 file changed
+6 -1
+6 -1
View File
@@ -8555,10 +8555,14 @@ _st_cron_restart() {
stl_restart stl_restart
} }
ST_CRON_KEEP="$ST_DIR/autorestart"
_st_cron_refresh() { _st_cron_refresh() {
local cur local cur
cur="$(_st_cron_get)" cur="$(_st_cron_get)"
[ -n "$cur" ] || return 0 if [ -z "$cur" ]; then
[ -s "$ST_CRON_KEEP" ] && _st_installed && _st_cron_set "$(cat "$ST_CRON_KEEP")" >/dev/null 2>&1
return 0
fi
grep -F "$ST_CRON_TAG" "$CRON_FILE" 2>/dev/null | grep -qF "$ST_CRON_CMD" && return 0 grep -F "$ST_CRON_TAG" "$CRON_FILE" 2>/dev/null | grep -qF "$ST_CRON_CMD" && return 0
_st_cron_set "$cur" >/dev/null 2>&1 _st_cron_set "$cur" >/dev/null 2>&1
return 0 return 0
@@ -8594,6 +8598,7 @@ _st_cron_set() {
touch "$CRON_FILE" touch "$CRON_FILE"
sed -i "\\|$ST_CRON_TAG|d" "$CRON_FILE" sed -i "\\|$ST_CRON_TAG|d" "$CRON_FILE"
[ -n "$spec" ] && echo "$spec $ST_CRON_CMD $ST_CRON_TAG" >> "$CRON_FILE" [ -n "$spec" ] && echo "$spec $ST_CRON_CMD $ST_CRON_TAG" >> "$CRON_FILE"
if [ -n "$spec" ] && [ -d "$ST_DIR" ]; then echo "$1" > "$ST_CRON_KEEP"; else rm -f "$ST_CRON_KEEP"; fi
/etc/init.d/cron enable >/dev/null 2>&1 /etc/init.d/cron enable >/dev/null 2>&1
/etc/init.d/cron restart >/dev/null 2>&1 /etc/init.d/cron restart >/dev/null 2>&1
printf '{"ok":true}\n' printf '{"ok":true}\n'