Centos 7 init script...

General support for problems installing or using Deluge
Post Reply
iZeus83
Member
Member
Posts: 10
Joined: Thu Jul 17, 2014 1:35 pm

Centos 7 init script...

Post by iZeus83 »

Hi.

I've searched in many forums, webs, google to find an init script for deluge on Centos. I found one but with no support of web-bui...

Here is the script:

Code: Select all

#!/bin/bash
# chkconfig: 2345 90 90
# description: program_name
### BEGIN INIT INFO
# Provides: deluged
# Required-Start: network
# Required-Stop: network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Start the program
### END INIT INFO

### Fill in these variables ###
### kevin is my user & home directory - replace that with your own ###
### make sure you've got a /var/log/deluge directory created ###

START_CMD="'/usr/bin/python /usr/bin/deluged --config=/home/kevin/.config/deluge' > /var/log/deluge/deluged.log 2>&1 &"
NAME="deluged"
PGREP_STRING="deluged"
PID_FILE="/var/run/deluge/deluged.pid"
USER="kevin"

### Do not edit below this line ###

CUR_USER=`whoami`

killproc() {
  pkill -u $USER -f $PGREP_STRING
}

start_daemon() {
  eval "$*"
}

log_success_msg() {
  echo "$*"
  logger "$_"
}

log_failure_msg() {
  echo "$*"
  logger "$_"
}

check_proc() {
  pgrep -u $USER -f $PGREP_STRING >/dev/null
}

start_script() {
  if [ "${CUR_USER}" != "root" ] ; then
    log_failure_msg "$NAME can only be started as 'root'."
    exit -1
  fi

  check_proc
  if [ $? -eq 0 ]; then
    log_success_msg "$NAME is already running."
    exit 0
  fi

  [ -d /var/run/$NAME ] || (mkdir /var/run/$NAME )

   # make go now
    start_daemon /bin/su $USER -c $START_CMD

  # Sleep for a while to see if anything cries
  sleep 5
  check_proc

  if [ $? -eq 0 ]; then
    log_success_msg "Started $NAME."
  else
    log_failure_msg "Error starting $NAME."
    exit -1
  fi
}

stop_script() {
  if [ "${CUR_USER}" != "root" ] ; then
    log_failure_msg "You do not have permission to stop $NAME."
    exit -1
  fi

  check_proc
  if [ $? -eq 0 ]; then
    killproc -p $PID_FILE >/dev/null

    # Make sure it's dead before we return
    until [ $? -ne 0 ]; do
      sleep 1
      check_proc
    done

    check_proc
    if [ $? -eq 0 ]; then
      log_failure_msg "Error stopping $NAME."
      exit -1
    else
      log_success_msg "Stopped $NAME."
    fi
  else
    log_failure_msg "$NAME is not running or you don't have permission to stop it"
  fi
}

check_status() {
  check_proc
  if [ $? -eq 0 ]; then
    log_success_msg "$NAME is running."
  else
    log_failure_msg "$NAME is stopped."
    exit -1
  fi
}

case "$1" in
  start)
    start_script
    ;;
  stop)
    stop_script
    ;;
  restart)
    stop_script
    start_script
    ;;
  status)
    check_status
    ;;
  *)
    echo "Usage: $0 {start|stop|restart|status}"
    exit 1
esac

exit 0
Please have anyone another script to load deluged and deluge-web at startup througt centos?, thanks...

It would be fine is someone has the script to put in this page too:

http://dev.deluge-torrent.org/wiki/UserGuide/InitScript
Post Reply