Advertisement
Binomico

pyLoad Startup Script II

Mar 30th, 2011
1,542
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 5.23 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. ##########################################################################
  4. # pyLoad STARTUP and UPDATE SCRIPT for Synology NAS
  5. # AUTOSTART pyLoad as DAEMON - UPDATE PROGRAM FILES
  6. # <./S99pyload info>  for  more  details  and  help
  7. ##########################################################################
  8.  
  9. PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin
  10. SYNO=/usr/syno/bin
  11. DAEMON="python /opt/pyload/pyLoadCore.py --daemon"
  12. DAEMON_OPTS="--debug"
  13. STATUS="python /opt/pyload/pyLoadCore.py --status"
  14. VERSION="python /opt/pyload/pyLoadCore.py -v"
  15. UPDATE_SRC="https://bitbucket.org/spoob/pyload/get/tip.zip"
  16. LOG="/volume1/public/.pyload/Logs/log.txt" #your path to the Logfile here!
  17. SCRN=/opt/etc/init.d/S99pyload
  18.  
  19. ##########################################################################
  20. # COMMANDS START
  21. ##########################################################################
  22.  
  23. start()
  24. {
  25.      if [ `$STATUS` -gt 3 ]; then
  26.           echo "`$VERSION`: already performing"
  27.      else
  28.           echo "`$VERSION`: try to start"
  29.           echo "`$VERSION`:" `$DAEMON`
  30.           sleep 2
  31.                if [ `$STATUS` -gt 3 ]; then
  32.                    echo "`$VERSION`: successfully startet"
  33.                else
  34.                   `$DAEMON`
  35.                fi
  36.      fi
  37. }
  38.  
  39. ##########################################################################
  40.  
  41. stop()
  42. {
  43.     if [ `$STATUS` -gt 3 ]; then
  44.           echo "`$VERSION`: try to kill myself"
  45.           kill `$STATUS`; sleep 2
  46.           echo "`$VERSION`: successfully stopped"
  47.     else
  48.           echo "`$VERSION`: already killed"
  49.     fi
  50. }
  51.  
  52. ##########################################################################
  53.  
  54. update()
  55. {
  56.    if [ `$STATUS` -gt 3 ]; then
  57.         stop; sleep 5;
  58.    fi
  59.         echo "UPDATE: updating `$VERSION`"
  60.         echo "`date '+%d.%m.%Y %T'` INFO      Updating `$VERSION`" >>$LOG
  61.         cd /opt/
  62.         $SYNO/wget --no-check-certificate -q $UPDATE_SRC
  63.               if [ $? -eq 0 ] ; then
  64.                  echo "UPDATE: successfully loaded dev version"
  65.               else
  66.                  update
  67.               fi
  68.               unzip -q spoob-pyload*.zip; rm spoob-pyload*.zip
  69.               if [ $? -eq 0 ] ; then
  70.                  echo "UPDATE: archive unzipped and removed"; sleep 2
  71.               else
  72.                  update
  73.               fi
  74.                  $SYNO/rsync -qru /opt/spoob-pyload-*/ /opt/pyload/
  75.               if [ $? -eq 0 ] ; then
  76.                   echo "UPDATE: `$VERSION` successfully updated"
  77.               else
  78.                   update
  79.               fi
  80.                   rm -rf /opt/spoob-pyload-*/
  81.                   echo "`date '+%d.%m.%Y %T'` INFO      Update complete" >>$LOG
  82.               start
  83. }
  84.  
  85. ##########################################################################
  86.  
  87. debug()
  88. {
  89.     if [ `$STATUS` -gt 3 ]; then
  90.         echo "`$VERSION`: already performing ... restart"
  91.         stop
  92.         sleep 5
  93.         debug
  94.     else
  95.         echo "`$VERSION`: try to start in debug mode + show output"
  96.         echo "`$VERSION`:" `$DAEMON $DAEMON_OPTS`
  97.         sleep 2
  98.         if [ `$STATUS` -gt 3 ]; then
  99.                echo "`$VERSION`: successfully startet in debug mode"
  100.                echo ""
  101.                echo "***** ctrl + c to STOP OUTPUT and return *****"
  102.                echo ""
  103.                tail -f $LOG
  104.         else
  105.                `$DAEMON $DAEMON_OPTS`
  106.         fi
  107.     fi
  108. }
  109.  
  110. ##########################################################################
  111.  
  112. info()
  113. {
  114.      if [ `$STATUS` -gt 3 ];
  115.      then
  116.           echo "`$VERSION`: Process ID is `$STATUS`"
  117.           echo ""
  118. echo '####################################################################'
  119. echo '# OPERATIONS'
  120. echo '# start   = start pyLoad (default)'
  121. echo '# stop    = stop pyLoad'
  122. echo '# restart = stop and start pyLoad'
  123. echo '# update  = update program files'
  124. echo '# debug   = enable debug mode + output'
  125. echo '# info    = print out PID and status of pyLoad'
  126. echo '# show    = print out Logfile while executing'
  127. echo '####################################################################'
  128.  
  129.      else
  130.            echo "`$VERSION`: process is NOT active"
  131.      fi
  132. }
  133.  
  134. ##########################################################################
  135.  
  136. show()
  137. {
  138.      start
  139.      while [ `$STATUS` -gt 3 ]; do
  140.         echo ""
  141.         echo "***** ctrl + c to STOP OUTPUT and return *****"
  142.         echo ""
  143.         tail -f $LOG
  144.      done
  145. }
  146.  
  147. ##########################################################################
  148.  
  149. case "$1" in
  150.       start)
  151.               start
  152.               ;;
  153.       stop)
  154.               stop
  155.               ;;
  156.       restart)
  157.               stop
  158.               sleep 5
  159.               start
  160.               ;;
  161.       update)
  162.               update
  163.               ;;
  164.       debug)
  165.               debug
  166.               ;;
  167.       info)
  168.               info
  169.               ;;
  170.       show)
  171.               show
  172.               ;;
  173.       *)
  174.               echo "Usage: $SCRN (start|stop|restart|update|debug|info|show)" >&2
  175.               exit 1
  176.               ;;
  177. esac
  178.  
  179.  
  180. exit 0
  181. ##########################################################################
  182. # End of script
  183. ##########################################################################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement