Ubuntu 14.04へのutorrentのインストールに関するハウツーを作成した後、私に尋ねる多くのリクエストを受け取りました起動時にutorrentを実行する方法、Linuxでutorrentを使用する人は誰でも、システムの起動時にutorrentを起動するのに役立つutorrentの起動スクリプトを持っているようなものです。
次のスクリプトは、2つの異なるスクリプトを組み合わせて構成されています。
1. Vortex のおかげで、メインスクリプトはGitHubから取得されました 。
2. labad のおかげで、初期化スクリプトの変更はrtorrentから取得されました 。
PS :ルールに違反していると誰かが感じた場合でも、コンテンツを変更したくありません。コメントして削除してください。
ステップ1:utorrentというファイルを作成します。
$ sudo nano utorrent
ステップ2:次のコンテンツを貼り付けます。
注: 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
ファイルを保存して閉じます。
手順3:このファイルを実行可能ファイルとしてマークします。
$ sudo chmod 755 utorrent
ステップ4:ファイルを/etc/init.d/にコピー/移動します
sudo cp utorrent /etc/init.d/
ステップ5:initスクリプトディレクトリに移動します。
$ cd /etc/init.d/
ステップ6:次のコマンドを実行して、utorrentスタートアップスクリプトファイルをインストールします。
$ sudo update-rc.d utorrent defaults
ステップ7:次のコマンドを使用してutorrentを開始します。
$ sudo service utorrent start
追加
次のコマンドを使用して、utorrentサービスを停止できます。
$ sudo service utorrent stop
initスクリプトディレクトリで次のコマンドを使用して、utorrentスタートアップスクリプトファイルを削除することもできます。
$ sudo update-rc.d utorrent remove
それで全部です!。ハッピーダウンロード。