GNU/Linux >> Znalost Linux >  >> Ubuntu

spouštěcí skript utorrent / spouštění utorrentu při spouštění – Ubuntu 14.04 / 14.10

Po vytvoření návodu na instalaci utorrentu na Ubuntu 14.04 dostávám spoustu žádostí jak spustit utorrent při bootu, kdokoli používá utorrent na Linuxu, jako by měl spouštěcí skript pro utorrent, který pomáhá spouštět utorrent při startu systému.

Následující skript se skládá ze dvou různých skriptů spojených dohromady.

1. Hlavní skript převzal z GitHubu díky Vortexu .

2. Změny v init skriptech převzaty z rtorrentu díky labad .

PS :Nechci ani měnit obsah, pokud má někdo pocit, že to porušuje nějaká pravidla; klidně to okomentujte a nechte ho odstranit.

Krok 1:Vytvořte soubor s názvem utorrent.

$ sudo  nano utorrent

Krok 2:Vložte následující obsah.

Poznámka: Upravit žlutě označenou jednou závisí na instalaci uTorrent .

#!/bin/sh
### BEGIN INIT INFO
# Provides:          rtorrent_autostart
# Required-Start:    $local_fs $remote_fs $network $syslog $netdaemons
# Required-Stop:     $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: rtorrent script using screen(1)
# Description:       rtorrent script using screen(1) to keep torrents working without the user logging in
### END INIT INFO
#
#
# Original source: http://forum.utorrent.com/viewtopic.php?id=88044
#
# uTorrent start stop service script
#
# copy to /etc/init.d
# run "update-rc.d utorrent defaults" to install
# run "update-rc.d utorrent remove" to remove
#
#
# version 2 improvments by:
# @author FanFan Huang ([email protected])
#
#
UTORRENT_PATH=/opt/utorrent-server-alpha-v3_3/ #where you extracted your utserver executable
LOGFILE=/opt/utorrent-server-alpha-v3_3/utorrent.log #must be a writable directory
USER=raj #any user account you can create the utorrent user if you like
GROUP=users
NICE=15
SCRIPTNAME=/etc/init.d/utorrent #must match this file name

DESC="uTorrent Server for Linux"
CHDIR=$UTORRENT_PATH
NAME=utserver
UT_SETTINGS=$UTORRENT_PATH
UT_LOG=$LOGFILE

DAEMON_ARGS="-settingspath ${UT_SETTINGS} -logfile ${UT_LOG}"
DAEMON=$CHDIR/$NAME
PIDFILE=/var/run/utorrent.pid
STOP_TIMEOUT=5
INIT_VERBOSE=yes

FAILURE=false

# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

#
# Function that starts the daemon/service
#
do_start()
{
FAILURE=false
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
# 3 if port bind failed
start-stop-daemon --start --nicelevel $NICE --quiet --make-pidfile --pidfile $PIDFILE --chuid $USER:$GROUP --chdir $CHDIR --background --exec $DAEMON --test > /dev/null
if [ "$?" = "1" ]; then
return 1
fi
start-stop-daemon --start --nicelevel $NICE --quiet --make-pidfile --pidfile $PIDFILE --chuid $USER:$GROUP --chdir $CHDIR --background --exec $DAEMON -- $DAEMON_ARGS
if [ "$?" != "0" ]; then
return 2
fi
#bind validation
while [ ! -e $LOGFILE ]; do
sleep 1 #Wait for file to be generated
done

######################## DISABLED ENABLE THIS SECTION IF YOU HAVE IPv6 HANGS WITH NO IPv6 Support ################
# while [ ! -n "$(cat $LOGFILE|grep 'IPv6 is installed')" ]; do
# #wait until utorrent has finished bootup (IPv6 MESSAGE is the last message)#
# sleep 1
# done

RESULT=$(cat $LOGFILE|grep 'bind failed')
if [ -n "$RESULT" ]; then
return 3
fi
return 0
}

#
# Function that stops the daemon/service
#
do_stop()
{
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
RETVAL="$?"
if [ "$RETVAL" = 2 ]; then
return 2
fi
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
RETVAL="$?"
if [ "$RETVAL" = 2 ]; then
return 2
fi
#block process until server is completed shutting down fully
while [ -n "$(pidof "$NAME")" ]; do
sleep 1
done
# Many daemons don't delete their pidfiles when they exit.
rm -f $PIDFILE
rm -f $LOGFILE #we don't want to keep our logfile
return "$RETVAL"
}

#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
#
# If the daemon can reload its configuration without
# restarting (for example, when it is sent a SIGHUP),
# then implement that here.
#
start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
return 0
}

msg_start() {
case "$1" in
0|1)
if [ "$VERBOSE" != no ]; then
log_end_msg 0
fi
;;
2)
if [ "$VERBOSE" != no ]; then
log_end_msg 1
fi
;;
3)
if [ "$VERBOSE" != no ]; then
log_daemon_msg "Port bind failure detected uTorrent may have limited functionality please change the bind port and restart uTorrent"
log_end_msg 1
fi
;;
esac
}

msg_stop() {
case "$1" in
0|1)
if [ "$VERBOSE" != no ]; then
log_end_msg 0
fi
;;
*)
if [ "$VERBOSE" != no ]; then
log_daemon_msg "Failed to stop service exit status $STATUS"
log_end_msg 1
fi
esac
}

case "$1" in
start)
if [ "$VERBOSE" != no ]; then
log_daemon_msg "Starting $DESC"
fi
do_start
msg_start "$?"
;;
stop)
if [ "$VERBOSE" != no ]; then
log_daemon_msg "Stopping $DESC"
fi
do_stop
msg_stop "$?"
;;
status)
if [ -e "$PIDFILE" ]; then
PID=" PID:($(cat $PIDFILE))"
else
PID=""
fi
status_of_proc "$DAEMON" "uTorrent$PID"
if [ "$?" != "0" ]; then
exit $?
fi
;;
restart|force-reload)
#
# If the "reload" option is implemented then remove the
# 'force-reload' alias
#
log_daemon_msg "Restarting $DESC"
do_stop
STATUS="$?"
if [ "$STATUS" -ne 0 ] && [ "$STATUS" -ne 1 ]; then
log_daemon_msg "Could not stop exit status $STATUS"
log_end_msg 1
exit 1
fi
do_start
STATUS="$?"
case "$STATUS" in
0)
log_end_msg 0
;;
*)
log_daemon_msg "Restart failed start exist status $STATUS"
log_end_msg 1
esac
;;
log)
if [ -e "$LOGFILE" ]; then
LOG=$(cat $LOGFILE)
echo "$LOG"
else
echo "uTorrent is not running no active log file"
fi
;;

*)
echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload|log}" >&2
exit 3
;;
esac

Uložte a zavřete soubor.

Krok 3:Označte tento soubor jako spustitelný.

$ sudo chmod 755 utorrent

Krok 4:Zkopírujte / přesuňte soubor do /etc/init.d/

sudo cp utorrent /etc/init.d/

Krok 5:Přejděte do adresáře init skriptu.

$ cd /etc/init.d/

Krok 6:Spuštěním následujícího příkazu nainstalujte soubor spouštěcího skriptu utorrent.

$ sudo update-rc.d utorrent defaults

Krok 7:Spusťte utorrent pomocí následujícího příkazu.

$ sudo service utorrent start

Doplňky

Službu utorrent lze zastavit pomocí následujícího příkazu.

$ sudo service utorrent stop

Soubor spouštěcího skriptu utorrent můžete také odstranit pomocí následujícího příkazu v adresáři init script.

$ sudo update-rc.d utorrent remove

To je vše!. Šťastné stahování.


Ubuntu
  1. Žádný zvuk při spuštění v Ubuntu 11.10?

  2. Spustit SQL Server na Ubuntu?

  3. Catalyst 15.7:Mohl by běžet na Ubuntu 15.04?

  1. Nainstalujte uTorrent na Ubuntu 16.04

  2. Ubuntu – Jak nechat Pam_exec spustit skript jako aktuální uživatel?

  3. Jak spustit skript??

  1. Ubuntu – Proč se kontejner Docker nespustí při spuštění se skriptem Upstart na Ubuntu 12.04?

  2. Ubuntu – Vynucení spuštění příkazu při odhlášení?

  3. Je možné spustit Ubuntu na Nexus 7?