December 20, 2020

Исправление /etc/init.d/zesp32

В данный момент используется https://raw.githubusercontent.com/openlumi/xiaomi-gateway-openwrt/master/files/zesp32.init

Исправленная версия с починенной перезагрузкой (Shutdown в WebUI работать не будет, но сервис будет перезапускаться в случае падения).

#!/bin/sh /etc/rc.common

START=99
USE_PROCD=1

start_service()
{
	procd_open_instance
	procd_set_param command /usr/bin/npm start --prefix /opt/app

	## add this
	procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-0}
	procd_set_param pidfile /var/run/zesp32.pid
	## /add this

	procd_set_param stdout 1
	procd_set_param stderr 1
	procd_close_instance
}

После этого запуск zesp (cd /opt/app и ./start.sh & ) в /etc/rc.local нужно убрать и завершить работу zesp

killall start.sh
killall node

Включить обратно

/etc/init.d/zesp32 enable
/etc/init.d/zesp32 start

Теперь логи доступны через команду logread

logread -f просмотр лога в реальном времени