Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- ##########################################################################
- # pyLoad STARTUP and UPDATE SCRIPT for Synology NAS
- # AUTOSTART pyLoad as DAEMON - UPDATE PROGRAM FILES
- # <./S99pyload info> for more details and help
- ##########################################################################
- PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin
- SYNO=/usr/syno/bin
- DAEMON="python /opt/pyload/pyLoadCore.py --daemon"
- DAEMON_OPTS="--debug"
- STATUS="python /opt/pyload/pyLoadCore.py --status"
- VERSION="python /opt/pyload/pyLoadCore.py -v"
- UPDATE_SRC="https://bitbucket.org/spoob/pyload/get/tip.zip"
- LOG="/volume1/public/.pyload/Logs/log.txt" #your path to the Logfile here!
- SCRN=/opt/etc/init.d/S99pyload
- ##########################################################################
- # COMMANDS START
- ##########################################################################
- start()
- {
- if [ `$STATUS` -gt 3 ]; then
- echo "`$VERSION`: already performing"
- else
- echo "`$VERSION`: try to start"
- echo "`$VERSION`:" `$DAEMON`
- sleep 2
- if [ `$STATUS` -gt 3 ]; then
- echo "`$VERSION`: successfully startet"
- else
- `$DAEMON`
- fi
- fi
- }
- ##########################################################################
- stop()
- {
- if [ `$STATUS` -gt 3 ]; then
- echo "`$VERSION`: try to kill myself"
- kill `$STATUS`; sleep 2
- echo "`$VERSION`: successfully stopped"
- else
- echo "`$VERSION`: already killed"
- fi
- }
- ##########################################################################
- update()
- {
- if [ `$STATUS` -gt 3 ]; then
- stop; sleep 5;
- fi
- echo "UPDATE: updating `$VERSION`"
- echo "`date '+%d.%m.%Y %T'` INFO Updating `$VERSION`" >>$LOG
- cd /opt/
- $SYNO/wget --no-check-certificate -q $UPDATE_SRC
- if [ $? -eq 0 ] ; then
- echo "UPDATE: successfully loaded dev version"
- else
- update
- fi
- unzip -q spoob-pyload*.zip; rm spoob-pyload*.zip
- if [ $? -eq 0 ] ; then
- echo "UPDATE: archive unzipped and removed"; sleep 2
- else
- update
- fi
- $SYNO/rsync -qru /opt/spoob-pyload-*/ /opt/pyload/
- if [ $? -eq 0 ] ; then
- echo "UPDATE: `$VERSION` successfully updated"
- else
- update
- fi
- rm -rf /opt/spoob-pyload-*/
- echo "`date '+%d.%m.%Y %T'` INFO Update complete" >>$LOG
- start
- }
- ##########################################################################
- debug()
- {
- if [ `$STATUS` -gt 3 ]; then
- echo "`$VERSION`: already performing ... restart"
- stop
- sleep 5
- debug
- else
- echo "`$VERSION`: try to start in debug mode + show output"
- echo "`$VERSION`:" `$DAEMON $DAEMON_OPTS`
- sleep 2
- if [ `$STATUS` -gt 3 ]; then
- echo "`$VERSION`: successfully startet in debug mode"
- echo ""
- echo "***** ctrl + c to STOP OUTPUT and return *****"
- echo ""
- tail -f $LOG
- else
- `$DAEMON $DAEMON_OPTS`
- fi
- fi
- }
- ##########################################################################
- info()
- {
- if [ `$STATUS` -gt 3 ];
- then
- echo "`$VERSION`: Process ID is `$STATUS`"
- echo ""
- echo '####################################################################'
- echo '# OPERATIONS'
- echo '# start = start pyLoad (default)'
- echo '# stop = stop pyLoad'
- echo '# restart = stop and start pyLoad'
- echo '# update = update program files'
- echo '# debug = enable debug mode + output'
- echo '# info = print out PID and status of pyLoad'
- echo '# show = print out Logfile while executing'
- echo '####################################################################'
- else
- echo "`$VERSION`: process is NOT active"
- fi
- }
- ##########################################################################
- show()
- {
- start
- while [ `$STATUS` -gt 3 ]; do
- echo ""
- echo "***** ctrl + c to STOP OUTPUT and return *****"
- echo ""
- tail -f $LOG
- done
- }
- ##########################################################################
- case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart)
- stop
- sleep 5
- start
- ;;
- update)
- update
- ;;
- debug)
- debug
- ;;
- info)
- info
- ;;
- show)
- show
- ;;
- *)
- echo "Usage: $SCRN (start|stop|restart|update|debug|info|show)" >&2
- exit 1
- ;;
- esac
- exit 0
- ##########################################################################
- # End of script
- ##########################################################################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement