Jump to content
  • 0

Как правильно настроить логирование в Entware?


nukdokplex

Question

Доброго времени суток, я захотел установить Syncthing relay server (strelaysrv). Opkg-пакета такого нет, но благо есть собранный вариант под mipsle(mipsel). Он работает прекрасно, одна проблема, нужно было его оформить как сервис. Скопировал и переиначил init-скрипт от dropbear под эти цели:

#!/bin/sh

PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin

PIDFILE="/opt/var/run/strelaysrv.pid"
SRV="/opt/usr/bin/strelaysrv"

status()
{
        [ -f $PIDFILE ] && [ -d /proc/`cat $PIDFILE` ]
}

start()
{
        $SRV -keys=/opt/etc/certs/syncthing \
                -listen=:22067 \
                -provided-by=NukDokPlex \
                -protocol=tcp4 \
                -global-rate=10000000 \
                -token=secret \
                -pools="" > /tmp/log/strelaysrv.log 2>&1 &
        pid=$!
        echo $pid > $PIDFILE
}

stop()
{
        kill `cat $PIDFILE`
}
case "$1" in
        start)
                if status
                then
                        echo strelaysrv already running
                else
                        start
                fi
                ;;
        stop)
                if status
                then
                        stop
                else
                        echo strelaysrv is not running
                fi
                ;;
        status)
                if status
                then
                        echo strelaysrv already running
                else
                        echo strelaysrv is not running
                fi
                ;;

        restart)
                stop
                sleep 3
                start
                ;;
        *)
                echo "Usage: $0 {start|stop|restart|status}"
                ;;
esac

Вопрос заключается в следующем. Логи strelaysrv пишутся в stdout я полагаю, т.е. в консоль, если просто запустить бинарник. Куда будет правильнее записывать логи этого сервиса и как это сделать правильнее? Я бы хотел чтобы логи этого сервиса были доступны из веб-панели Keenetic.

Также, если у вас есть идеи для модернизации этого init-скрипта - я буду рад!

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0
8 часов назад, nukdokplex сказал:

Также, если у вас есть идеи для модернизации этого init-скрипта - я буду рад!

 

#!/bin/sh

ENABLED=yes
PROCS=/opt/home/Syncrelay/strelaysrv
ARGS="-keys=/opt/etc/syncrelay -provided-by='syncthing relay server'"
PREARGS=""
DESC=$PROCS
PATH=/opt/sbin:/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

. /opt/etc/init.d/rc.func

Если strelaysrv положить в /opt/sbin то строка "PROCS=/opt/home/Syncrelay/strelaysrv" поменяет вид на "PROCS="

~ # ps | grep relay
  565 root      707m S    /opt/home/Syncrelay/strelaysrv -keys=/opt/etc/syncrelay -provided-by='syncthing relay server'
~ # 
~ # lsof -p 565
COMMAND   PID USER   FD      TYPE DEVICE SIZE/OFF    NODE NAME
strelaysr 565 root  cwd       DIR    8,3     1024  446475 /opt/etc/init.d
strelaysr 565 root  rtd       DIR   31,7      227    2002 /
strelaysr 565 root  txt       REG    8,3 13217875 1177696 /opt/home/Syncrelay/strelaysrv
strelaysr 565 root    0r      CHR    1,3      0t0    1228 /dev/null
strelaysr 565 root    1w      CHR    1,3      0t0    1228 /dev/null
strelaysr 565 root    2w      CHR    1,3      0t0    1228 /dev/null
strelaysr 565 root    3u     IPv6 957346      0t0     TCP *:22070 (LISTEN)
strelaysr 565 root    4u  a_inode    0,9        0    1025 [eventpoll:3,5,7,8]
strelaysr 565 root    5r     FIFO    0,8      0t0  957342 pipe
strelaysr 565 root    6w     FIFO    0,8      0t0  957342 pipe
strelaysr 565 root    7u     IPv6 959842      0t0     TCP *:22067 (LISTEN)
strelaysr 565 root    8u     IPv4 962075      0t0     TCP хххххххххх.ru:57330->ххх.ххх.ххх.ххх:https (ESTABLISHED)

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...