Projekt Watchdog 4 Emby

Dyskusja w 'Oh'Linux? Software hacking' rozpoczęta przez użytkownika Silas Mariusz, 18 Maj 2017.

Ładowanie...
Tagi:
  1. Silas Mariusz
    Online

    Silas Mariusz SysOp Administrator

    Dołączył:
    5 Kwiecień 2008
    Wiadomości:
    5 990
    Miejscowość:
    Nowy Sącz
    Local Time:
    17:20
    Oceny:
    +1 333 / 30 / -5
    Followers:
    21
    QNAP:
    TVS-x71
    Ethernet:
    1 GbE
    TVS-x71 1 GbE
    Potrafi Wam się zawiesić Emby?

    O to Watchdog Emby skrypt, który wystarczy umieścić w Cronie, aby automatycznie restartował i uruchamiał Emby w przypadku awarii.
    Aby umieścić go w cronie wystarczy skorzystać z paczki WebCrontab:
    Qnapclub Store: WebCrontab

    Poponowane ustawienie do skryptu?
    upload_2017-5-19_1-18-24.
    FieldValue
    NameQmono-Emby
    DescriptionQmono restart if Emby is not working
    Schedule*/30 * * * * *
    Command/share/CACHEDEV1_DATA/.qpkg/watchdog-emby.sh
    NOTKA: Powyższa ścieżka ma prowadzić do pliku, zawartego w poniższym źródłem z uprawnieniami do uruchomienia.
    chmod +x /sciezka/tj./share/bla/bla/bla/watchdog-emby.sh
    Directory(pusto)
    Enviriontment Variables(pusto)


    Źródło:
    Kod (Bash):
    1. #!/bin/sh
    2.  
    3. # Helper exit
    4. function _exit()
    5. {
    6.     echo -e "$*"
    7.     echo
    8.  
    9.     # interactive shell? then keep user attention on the err msg
    10.     if [[ -t "$fd" ]] || [[ -p /dev/stdin ]]; then
    11.         echo -n "]0; ! ERROR          - - - - -  " ; sleep 1
    12.         echo -n "]0; - - - - -           ERROR ! " ; sleep 1
    13.         echo -n "]0;  - - - - -           ERROR! " ; sleep 1
    14.         echo -n "]0; - - - - -           ERROR ! " ; sleep 1
    15.         echo -n "]0; !ERROR          - - - - -   " ; sleep 1
    16.     fi
    17.  
    18.     exit 1
    19. }
    20.  
    21. # Check if there is Emby enabled
    22. __emby_enable="$(getcfg Emby Enable -f /etc/config/qpkg.conf -u -d error)"
    23. [ "$__emby_enable" = "TRUE" ] || _exit Emby found, but its not enabled. Please enable it first.
    24. __emby_path="$(getcfg Emby Install_Path -f /etc/config/qpkg.conf -d error)"
    25. [ -d "$__emby_path" ] || _exit Emby directory not found. Please reinstall emby.
    26.  
    27. # Check if there is Emby enabled
    28. __Qmono_enable="$(getcfg Qmono Enable -f /etc/config/qpkg.conf -u -d error)"
    29. [ "$__Qmono_enable" = "TRUE" ] || _exit Qmono found, but its not enabled. Please enable it first.
    30. __Qmono_path="$(getcfg Qmono Install_Path -f /etc/config/qpkg.conf -d error)"
    31. [ -d "$__Qmono_path" ] || _exit Qmono directory not found. Please reinstall Qmono.
    32.  
    33.  
    34. # Strip alias
    35. alias strip_esc='sed -r "s/\x1B[\[|\(]([0-9]{1,2}(;[0-9]{1,2})?)?[m|K|A|B|C|E|J|S|Z|H]//g"'
    36.  
    37.  
    38. # Write error log message and exit
    39. # ###########################################################################
    40. _err(){
    41.     local msg_type="err!"
    42.     local write_err="/sbin/log_tool -t2 -u$NAME -p127.0.0.1 -mlocalhost -a"
    43.     local message="$NAME: ${*:-"Unknown Error"}" && $write_err "($msg_type) $(echo $message | strip_esc)"
    44.  
    45.     exit "(${alert}$msg_type${nc}) $message \n"
    46. }
    47.  
    48. # Find Emby process
    49. _p="MediaBrowser.Server.Mono.exe"
    50. ps ax | grep -v grep | grep "${_p}"
    51. RETVAL=$?
    52. #echo $RETVAL
    53.  
    54. if [ "$RETVAL" -ne 0 ]; then
    55.     _err Emby or Qmono seems to be creashed. Trying to restart both services...
    56.     /etc/init.d/Qmono.sh stop
    57.     sync
    58.     sleep 1
    59.     /etc/init.d/Qmono.sh start
    60.     sync
    61.     sleep 1
    62.     /etc/init.d/Emby.sh stop
    63.     sync
    64.     sleep 5
    65.     sync
    66.     /etc/init.d/Emby.sh start
    67.     sync
    68. elif [ "$RETVAL" -eq 0 ]; then
    69.     echo Nothing to be done, works very well
    70. fi
    71.  
    72. exit 0
     
    • Piwo Piwo x 1

Poleć tę stronę