All pastes #1488050 Raw Edit

rtorrent.sh

public shellscript v1 · immutable
#1488050 ·published 2009-07-08 11:46 UTC
rendered paste body
##!/bin/bash# ## A simple RTorrent initscript for debian-based distros## Distributed as-is, no warranties## Comments, ideas etc - mail me - ivan4groznij [at] gmail [dot] com## Based upon http://mehulved.wordpress.com/2008/07/16/start-rtorrent-using-init-scripts/## Requires GNU Screen## This script does not perform any checks, i.e. wether the user exists, is screen installed etc# ## The user to run rtorrent as#RTUSER=dean# ## Paths to different binaries#RTORRENT=/usr/bin/rtorrent#KILL=/bin/kill#SCREEN=/usr/bin/screen# ## PIDfile path#PIDFILE=/var/run/rtorrent.pid# #start_rt()#{#    echo -n "Starting rtorrent... "#    start-stop-daemon --start --background --pidfile $PIDFILE --make-pidfile --chuid $RTUSER --exec $SCREEN -- -DmUS torrent $RTORRENT#    if [ $? -eq 0 ]; then#        echo "success!"#        echo "To interact with the torrent client, you will need to reattach the screen session with following command:"#        echo "    screen -r torrent"#    else#        echo "fail!"#    fi#}# #stop_rt()#{#    echo -n "Stopping rtorrent... "#    start-stop-daemon --stop --pidfile $PIDFILE#    if [ $? -eq 0 ]; then#        echo "The process stopped successfully"#    else#        echo "The process failed to stop"#    fi#}# #status_rt()#{#    echo -n "Status: "#    PID=`cat $PIDFILE`# #    # Check if the process with the specified PID exists#    # kill -0 will return 0 if the process exists#    $KILL -0 $PID#    if [ $? -eq 0 ]; then#        echo "started"#        return 0#    else#        echo "stopped"#        return 1#    fi# #}# #restart_rt_if_needeed()#{#    # Seems like Rtorrent sometimes crashes. This function#    # restarts rtorrent if it's not running#    status_rt#    if [ $? -ne 0 ]; then#        echo "Rtorrent is not running. Restart needed"#        stop_rt#        start_rt#    else#        echo "Restart is not needed"#    fi#}# #case "$1" in#    start)#        start_rt#    ;;#    stop)#        stop_rt#    ;;#    restart)#        stop_rt#        start_rt#    ;;#    restart_if_needed)#        restart_rt_if_needeed#    ;;#    status)#        status_rt#    ;;#    *)#        echo "Usage: {start|stop|restart|status|restart_if_needed}"#    ;;#esac