Advertisement
Guest User

Untitled

a guest
Aug 17th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.89 KB | None | 0 0
  1. #!/bin/bash
  2. #
  3. # ddclient      This shell script takes care of starting and stopping
  4. #               ddclient.
  5. #
  6. # chkconfig: 2345 65 35
  7. # description: ddclient provides support for updating dynamic DNS services.
  8.  
  9. CONF=/etc/ddclient/ddclient.conf
  10. program=ddclient
  11.  
  12. [ -f $CONF ] || exit 0
  13.  
  14. system=unknown
  15. if [ -f /etc/fedora-release ]; then
  16.     system=fedora
  17. elif [ -f /etc/redhat-release ]; then
  18.     system=redhat
  19. elif [ -f /etc/debian_version ]; then
  20.     system=debian
  21. fi
  22.  
  23. PID=''
  24. if [ "$system" = "fedora" ] || [ "$system" = "redhat" ]; then
  25.     . /etc/init.d/functions
  26.     PID=`pidofproc $program`
  27. else
  28.     PID=`ps -aef | grep "$program - sleep" | grep -v grep | awk '{print $2}'`
  29. fi
  30.  
  31. PATH=/usr/sbin:/usr/local/sbin:${PATH}
  32. export PATH
  33.  
  34. # See how we were called.
  35. case "$1" in
  36.   start)
  37.     # Start daemon.
  38.     DELAY=`grep -v '^\s*#' $CONF | grep -i -m 1 "daemon" | awk -F '=' '{print $2}'`
  39.     if [ -z "$DELAY" ] ; then
  40.         DELAY="-daemon 300"
  41.     else
  42.         DELAY=''
  43.     fi
  44.     echo -n "Starting ddclient: "
  45.     if [ "$system" = "fedora" ] || [ "$system" = "redhat" ]; then
  46.         daemon $program $DELAY
  47.     else
  48.         ddclient $DELAY
  49.     fi
  50.     echo    
  51.     ;;
  52.   stop)
  53.     # Stop daemon.
  54.     echo -n "Shutting down ddclient: "
  55.     if [ -n "$PID" ] ; then
  56.         if [ "$system" = "fedora" ] || [ "$system" = "redhat" ]; then
  57.             killproc $program
  58.         else
  59.             kill $PID
  60.         fi
  61.     else
  62.         echo "ddclient is not running"
  63.     fi
  64.     echo
  65.     ;;
  66.   restart)
  67.     $0 stop
  68.     $0 start
  69.     ;;
  70.   status)
  71.     if [ "$system" = "fedora" ] || [ "$system" = "redhat" ]; then
  72.         status $program
  73.     else
  74.         if test "$PID"
  75.         then
  76.             for p in $PID
  77.             do
  78.                 echo "$program (pid $p) is running"
  79.             done
  80.         else
  81.             echo "$program is stopped"
  82.         fi
  83.     fi
  84.     ;;
  85.   *)
  86.     echo "Usage: ddclient {start|stop|restart|status}"
  87.     exit 1
  88. esac
  89.  
  90. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement