Post
Topic
Board Альтернативные криптовалюты
Re: [NXT] Nxt crypto - немного инфы, и самих NXT.
by
scor2k
on 15/01/2016, 07:59:21 UTC
...
А вообще есть ли преимущества запускать демоном? он сам восстанавливается при падении?
...
Преимущество при работе через SSH. Не нужно заморачиваться с nohup.
Сам не восстановится после падения. Для меня неактуально - даже не помню уже когда "падал" последний раз.

Свои 5 копеек добавлю. Раньше делал довольно-серьезный скрипт, частично заимствованный у EMoney, сейчас его существенно урезал в части проверок, но оптимизировал в качестве информирования меня о падениях )

Code:
#!/bin/bash
if [[ "`pidof -x $(basename $0) -o %PPID`" ]]; then exit 0; fi

crypt=nxt
home=$HOME/mon
crypthome=$HOME/nxt
host=localhost:7876
run="java -cp classes:lib/*:conf nxt.Nxt"
db_folder=$crypt"_db/"

log_file="$home/$crypt.log"
logs="$home/logs/"

chain_cached_arc="$home/backup/chain-cached-$crypt.tar"
chain_origin_arc="$home/backup/chain-original-$crypt.tar"

cd $crypthome

if [ ! -f $chain_origin_arc ]; then
    tar -cf $chain_origin_arc $db_folder  2> /dev/null
fi

ALIVE=`ps aux | grep "nxt.Nxt" | grep -v grep | wc -l`

if [ $ALIVE -eq 1 ]; then
    blockchain_status=$(wget -qO- http://$host/$crypt?requestType=getBlockchainStatus)
    typeset -i curr_block_id=$(echo $blockchain_status | grep -oP '"numberOfBlocks":\d+' | awk -F ":" '{print $2}')
    curr_block_num=$(echo $blockchain_status | grep -oP '"lastBlock":"\d+"' | awk -F ":" '{print $2}' | sed 's/"//g' )
    echo "$(date) OK: block $curr_block_id ( $curr_block_num ) " >> $log_file
    tmp=$[$curr_block_id%100]
    if [ $tmp -eq 0 ]; then
        echo "$(date) OK: backup chain" >> $log_file
        tar -cf $chain_cached_arc $db_folder 2> /dev/null
    fi
else
    echo "$(date) ERROR: proces not found! Copy logs" >> $log_file
    FN=`date +"%Y-%m-%d-%H-%M"`
    cp logs/nxt.log $logs/$FN.log
    nohup $run &

    cd $home
    php -f warning.php
fi

полностью можно глянуть на гитхабе: https://github.com/scor2k/CryptoMon-lite

В логах выглядит примерно так:

Code:
Tue Jan 12 06:30:01 GMT 2016 OK: block 612793 ( 1666405140390766448 )
Tue Jan 12 06:35:02 GMT 2016 OK: block 612797 ( 3361072523553913547 )
Tue Jan 12 06:40:01 GMT 2016 ERROR: proces not found! Copy logs
Tue Jan 12 06:45:01 GMT 2016 OK: block 612803 ( 205045269287592854 )
Tue Jan 12 06:50:01 GMT 2016 OK: block 612804 ( 3434522029670778406 )