Anders Ingemann gist felülvizsgálása 12 years ago. Revízióhoz ugrás
1 file changed, 4 insertions, 4 deletions
debian-init.sh
| @@ -13,11 +13,11 @@ | |||
| 13 | 13 | # Documentation available at | |
| 14 | 14 | # http://refspecs.linuxfoundation.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/iniscrptfunc.html | |
| 15 | 15 | # Debian provides some extra functions though | |
| 16 | - | source /lib/lsb/init-functions | |
| 16 | + | . /lib/lsb/init-functions | |
| 17 | 17 | ||
| 18 | 18 | ||
| 19 | 19 | DAEMON_NAME="generic-prog" | |
| 20 | - | DAEMON_USER="${DAEMON_NAME}" | |
| 20 | + | DAEMON_USER="generic-prog-user" | |
| 21 | 21 | DAEMON_PATH="/usr/local/bin/generic-prog" | |
| 22 | 22 | DAEMON_OPTS="-c /etc/generic-prog.conf" | |
| 23 | 23 | DAEMON_PWD="${PWD}" | |
| @@ -26,7 +26,7 @@ DAEMON_PID="/var/run/${DAEMON_NAME}.pid" | |||
| 26 | 26 | DAEMON_NICE=0 | |
| 27 | 27 | DAEMON_LOG='/var/log/generic-prog' | |
| 28 | 28 | ||
| 29 | - | [ -r "/etc/default/${DAEMON_NAME}" ] && source "/etc/default/${DAEMON_NAME}" | |
| 29 | + | [ -r "/etc/default/${DAEMON_NAME}" ] && . "/etc/default/${DAEMON_NAME}" | |
| 30 | 30 | ||
| 31 | 31 | do_start() { | |
| 32 | 32 | local result | |
| @@ -107,4 +107,4 @@ stop) do_stop; exit $? ;; | |||
| 107 | 107 | restart) do_restart; exit $? ;; | |
| 108 | 108 | status) do_status; exit $? ;; | |
| 109 | 109 | *) do_usage; exit 1 ;; | |
| 110 | - | esac | |
| 110 | + | esac | |
Anders Ingemann gist felülvizsgálása 12 years ago. Revízióhoz ugrás
1 file changed, 5 insertions, 1 deletion
debian-init.sh
| @@ -24,6 +24,7 @@ DAEMON_PWD="${PWD}" | |||
| 24 | 24 | DAEMON_DESC=$(get_lsb_header_val $0 "Short-Description") | |
| 25 | 25 | DAEMON_PID="/var/run/${DAEMON_NAME}.pid" | |
| 26 | 26 | DAEMON_NICE=0 | |
| 27 | + | DAEMON_LOG='/var/log/generic-prog' | |
| 27 | 28 | ||
| 28 | 29 | [ -r "/etc/default/${DAEMON_NAME}" ] && source "/etc/default/${DAEMON_NAME}" | |
| 29 | 30 | ||
| @@ -36,6 +37,9 @@ do_start() { | |||
| 36 | 37 | result=0 | |
| 37 | 38 | else | |
| 38 | 39 | log_daemon_msg "Starting ${DAEMON_DESC}" "${DAEMON_NAME}" | |
| 40 | + | touch "${DAEMON_LOG}" | |
| 41 | + | chown $DAEMON_USER "${DAEMON_LOG}" | |
| 42 | + | chmod u+rw "${DAEMON_LOG}" | |
| 39 | 43 | if [ -z "${DAEMON_USER}" ]; then | |
| 40 | 44 | start-stop-daemon --start --quiet --oknodo --background \ | |
| 41 | 45 | --nicelevel $DAEMON_NICE \ | |
| @@ -103,4 +107,4 @@ stop) do_stop; exit $? ;; | |||
| 103 | 107 | restart) do_restart; exit $? ;; | |
| 104 | 108 | status) do_status; exit $? ;; | |
| 105 | 109 | *) do_usage; exit 1 ;; | |
| 106 | - | esac | |
| 110 | + | esac | |
Anders Ingemann gist felülvizsgálása 12 years ago. Revízióhoz ugrás
1 file changed, 41 insertions, 26 deletions
debian-init.sh
| @@ -1,18 +1,18 @@ | |||
| 1 | - | #!/bin/bash -e | |
| 1 | + | #!/bin/sh | |
| 2 | 2 | ### BEGIN INIT INFO | |
| 3 | 3 | # Provides: generic-prog | |
| 4 | 4 | # Required-Start: $local_fs $remote_fs $network | |
| 5 | 5 | # Required-Stop: $local_fs $remote_fs $network | |
| 6 | 6 | # Default-Start: 2 3 4 5 | |
| 7 | 7 | # Default-Stop: 0 1 6 | |
| 8 | - | # Short-Description: Generic Prog | |
| 9 | - | # Description: Generic Prog is a generic program to do generic things with | |
| 8 | + | # Short-Description: Generic Program | |
| 9 | + | # Description: Generic Program is a generic program to do generic things with | |
| 10 | 10 | ### END INIT INFO | |
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | 13 | # Documentation available at | |
| 14 | 14 | # http://refspecs.linuxfoundation.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/iniscrptfunc.html | |
| 15 | - | # Debian provides some extra function though | |
| 15 | + | # Debian provides some extra functions though | |
| 16 | 16 | source /lib/lsb/init-functions | |
| 17 | 17 | ||
| 18 | 18 | ||
| @@ -21,41 +21,56 @@ DAEMON_USER="${DAEMON_NAME}" | |||
| 21 | 21 | DAEMON_PATH="/usr/local/bin/generic-prog" | |
| 22 | 22 | DAEMON_OPTS="-c /etc/generic-prog.conf" | |
| 23 | 23 | DAEMON_PWD="${PWD}" | |
| 24 | - | ||
| 25 | - | STARTUP_MSG="Starting generic-prog daemon" | |
| 26 | - | SHUTDOWN_MSG="Stopping generic-prog daemon" | |
| 27 | - | ||
| 24 | + | DAEMON_DESC=$(get_lsb_header_val $0 "Short-Description") | |
| 28 | 25 | DAEMON_PID="/var/run/${DAEMON_NAME}.pid" | |
| 29 | 26 | DAEMON_NICE=0 | |
| 30 | 27 | ||
| 31 | 28 | [ -r "/etc/default/${DAEMON_NAME}" ] && source "/etc/default/${DAEMON_NAME}" | |
| 32 | 29 | ||
| 33 | - | ||
| 34 | 30 | do_start() { | |
| 35 | 31 | local result | |
| 36 | - | log_daemon_msg "${STARTUP_MSG}" "${DAEMON_NAME}" | |
| 37 | - | if [ -z "${DAEMON_USER}" ]; then | |
| 38 | - | start_daemon -n $DAEMON_NICE -p "${DAEMON_PID}" "${DAEMON_PATH}" $DAEMON_OPTS | |
| 39 | - | result=$? | |
| 32 | + | ||
| 33 | + | pidofproc -p "${DAEMON_PID}" "${DAEMON_PATH}" > /dev/null | |
| 34 | + | if [ $? -eq 0 ]; then | |
| 35 | + | log_warning_msg "${DAEMON_NAME} is already started" | |
| 36 | + | result=0 | |
| 40 | 37 | else | |
| 41 | - | start-stop-daemon --start --quiet --oknodo --background \ | |
| 42 | - | --nicelevel $DAEMON_NICE \ | |
| 43 | - | --chdir "${DAEMON_PWD}" \ | |
| 44 | - | --pidfile "${DAEMON_PID}" --make-pidfile \ | |
| 45 | - | --chuid "${DAEMON_USER}" \ | |
| 46 | - | --exec "${DAEMON_PATH}" -- $DAEMON_OPTS | |
| 47 | - | result=$? | |
| 38 | + | log_daemon_msg "Starting ${DAEMON_DESC}" "${DAEMON_NAME}" | |
| 39 | + | if [ -z "${DAEMON_USER}" ]; then | |
| 40 | + | start-stop-daemon --start --quiet --oknodo --background \ | |
| 41 | + | --nicelevel $DAEMON_NICE \ | |
| 42 | + | --chdir "${DAEMON_PWD}" \ | |
| 43 | + | --pidfile "${DAEMON_PID}" --make-pidfile \ | |
| 44 | + | --exec "${DAEMON_PATH}" -- $DAEMON_OPTS | |
| 45 | + | result=$? | |
| 46 | + | else | |
| 47 | + | start-stop-daemon --start --quiet --oknodo --background \ | |
| 48 | + | --nicelevel $DAEMON_NICE \ | |
| 49 | + | --chdir "${DAEMON_PWD}" \ | |
| 50 | + | --pidfile "${DAEMON_PID}" --make-pidfile \ | |
| 51 | + | --chuid "${DAEMON_USER}" \ | |
| 52 | + | --exec "${DAEMON_PATH}" -- $DAEMON_OPTS | |
| 53 | + | result=$? | |
| 54 | + | fi | |
| 55 | + | log_end_msg $result | |
| 48 | 56 | fi | |
| 49 | - | log_end_msg $result | |
| 50 | 57 | return $result | |
| 51 | 58 | } | |
| 52 | 59 | ||
| 53 | 60 | do_stop() { | |
| 54 | 61 | local result | |
| 55 | - | log_daemon_msg "${SHUTDOWN_MSG}" "${DAEMON_NAME}" | |
| 56 | - | killproc -p "${DAEMON_PID}" "${DAEMON_PATH}" | |
| 57 | - | result=$? | |
| 58 | - | log_end_msg $result | |
| 62 | + | ||
| 63 | + | pidofproc -p "${DAEMON_PID}" "${DAEMON_PATH}" > /dev/null | |
| 64 | + | if [ $? -ne 0 ]; then | |
| 65 | + | log_warning_msg "${DAEMON_NAME} is not started" | |
| 66 | + | result=0 | |
| 67 | + | else | |
| 68 | + | log_daemon_msg "Stopping ${DAEMON_DESC}" "${DAEMON_NAME}" | |
| 69 | + | killproc -p "${DAEMON_PID}" "${DAEMON_PATH}" | |
| 70 | + | result=$? | |
| 71 | + | log_end_msg $result | |
| 72 | + | rm "${DAEMON_PID}" | |
| 73 | + | fi | |
| 59 | 74 | return $result | |
| 60 | 75 | } | |
| 61 | 76 | ||
| @@ -63,7 +78,7 @@ do_restart() { | |||
| 63 | 78 | local result | |
| 64 | 79 | do_stop | |
| 65 | 80 | result=$? | |
| 66 | - | if [ $result = 0]; then | |
| 81 | + | if [ $result = 0 ]; then | |
| 67 | 82 | do_start | |
| 68 | 83 | result=$? | |
| 69 | 84 | fi | |
Anders Ingemann gist felülvizsgálása 13 years ago. Revízióhoz ugrás
1 file changed, 1 insertion, 2 deletions
debian-init.sh
| @@ -37,7 +37,6 @@ do_start() { | |||
| 37 | 37 | if [ -z "${DAEMON_USER}" ]; then | |
| 38 | 38 | start_daemon -n $DAEMON_NICE -p "${DAEMON_PID}" "${DAEMON_PATH}" $DAEMON_OPTS | |
| 39 | 39 | result=$? | |
| 40 | - | log_end_msg $result | |
| 41 | 40 | else | |
| 42 | 41 | start-stop-daemon --start --quiet --oknodo --background \ | |
| 43 | 42 | --nicelevel $DAEMON_NICE \ | |
| @@ -46,8 +45,8 @@ do_start() { | |||
| 46 | 45 | --chuid "${DAEMON_USER}" \ | |
| 47 | 46 | --exec "${DAEMON_PATH}" -- $DAEMON_OPTS | |
| 48 | 47 | result=$? | |
| 49 | - | log_end_msg $result | |
| 50 | 48 | fi | |
| 49 | + | log_end_msg $result | |
| 51 | 50 | return $result | |
| 52 | 51 | } | |
| 53 | 52 | ||
Anders Ingemann gist felülvizsgálása 13 years ago. Revízióhoz ugrás
1 file changed, 1 deletion
debian-init.sh
| @@ -26,7 +26,6 @@ STARTUP_MSG="Starting generic-prog daemon" | |||
| 26 | 26 | SHUTDOWN_MSG="Stopping generic-prog daemon" | |
| 27 | 27 | ||
| 28 | 28 | DAEMON_PID="/var/run/${DAEMON_NAME}.pid" | |
| 29 | - | DAEMON_LOG="/var/log/${DAEMON_NAME}.log" | |
| 30 | 29 | DAEMON_NICE=0 | |
| 31 | 30 | ||
| 32 | 31 | [ -r "/etc/default/${DAEMON_NAME}" ] && source "/etc/default/${DAEMON_NAME}" | |
Anders Ingemann gist felülvizsgálása 13 years ago. Revízióhoz ugrás
1 file changed, 1 insertion
debian-init.sh
| @@ -44,6 +44,7 @@ do_start() { | |||
| 44 | 44 | --nicelevel $DAEMON_NICE \ | |
| 45 | 45 | --chdir "${DAEMON_PWD}" \ | |
| 46 | 46 | --pidfile "${DAEMON_PID}" --make-pidfile \ | |
| 47 | + | --chuid "${DAEMON_USER}" \ | |
| 47 | 48 | --exec "${DAEMON_PATH}" -- $DAEMON_OPTS | |
| 48 | 49 | result=$? | |
| 49 | 50 | log_end_msg $result | |
Anders Ingemann gist felülvizsgálása 13 years ago. Revízióhoz ugrás
1 file changed, 5 insertions, 20 deletions
debian-init.sh
| @@ -84,24 +84,9 @@ do_usage() { | |||
| 84 | 84 | } | |
| 85 | 85 | ||
| 86 | 86 | case "$1" in | |
| 87 | - | start) | |
| 88 | - | do_start | |
| 89 | - | exit "$?" | |
| 90 | - | ;; | |
| 91 | - | stop) | |
| 92 | - | do_stop | |
| 93 | - | exit "$?" | |
| 94 | - | ;; | |
| 95 | - | restart) | |
| 96 | - | do_restart | |
| 97 | - | exit "$?" | |
| 98 | - | ;; | |
| 99 | - | status) | |
| 100 | - | do_status | |
| 101 | - | exit "$?" | |
| 102 | - | ;; | |
| 103 | - | *) | |
| 104 | - | do_usage | |
| 105 | - | exit 1 | |
| 106 | - | ;; | |
| 87 | + | start) do_start; exit $? ;; | |
| 88 | + | stop) do_stop; exit $? ;; | |
| 89 | + | restart) do_restart; exit $? ;; | |
| 90 | + | status) do_status; exit $? ;; | |
| 91 | + | *) do_usage; exit 1 ;; | |
| 107 | 92 | esac | |
Anders Ingemann gist felülvizsgálása 13 years ago. Revízióhoz ugrás
1 file changed, 107 insertions
debian-init.sh(fájl létrehozva)
| @@ -0,0 +1,107 @@ | |||
| 1 | + | #!/bin/bash -e | |
| 2 | + | ### BEGIN INIT INFO | |
| 3 | + | # Provides: generic-prog | |
| 4 | + | # Required-Start: $local_fs $remote_fs $network | |
| 5 | + | # Required-Stop: $local_fs $remote_fs $network | |
| 6 | + | # Default-Start: 2 3 4 5 | |
| 7 | + | # Default-Stop: 0 1 6 | |
| 8 | + | # Short-Description: Generic Prog | |
| 9 | + | # Description: Generic Prog is a generic program to do generic things with | |
| 10 | + | ### END INIT INFO | |
| 11 | + | ||
| 12 | + | ||
| 13 | + | # Documentation available at | |
| 14 | + | # http://refspecs.linuxfoundation.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/iniscrptfunc.html | |
| 15 | + | # Debian provides some extra function though | |
| 16 | + | source /lib/lsb/init-functions | |
| 17 | + | ||
| 18 | + | ||
| 19 | + | DAEMON_NAME="generic-prog" | |
| 20 | + | DAEMON_USER="${DAEMON_NAME}" | |
| 21 | + | DAEMON_PATH="/usr/local/bin/generic-prog" | |
| 22 | + | DAEMON_OPTS="-c /etc/generic-prog.conf" | |
| 23 | + | DAEMON_PWD="${PWD}" | |
| 24 | + | ||
| 25 | + | STARTUP_MSG="Starting generic-prog daemon" | |
| 26 | + | SHUTDOWN_MSG="Stopping generic-prog daemon" | |
| 27 | + | ||
| 28 | + | DAEMON_PID="/var/run/${DAEMON_NAME}.pid" | |
| 29 | + | DAEMON_LOG="/var/log/${DAEMON_NAME}.log" | |
| 30 | + | DAEMON_NICE=0 | |
| 31 | + | ||
| 32 | + | [ -r "/etc/default/${DAEMON_NAME}" ] && source "/etc/default/${DAEMON_NAME}" | |
| 33 | + | ||
| 34 | + | ||
| 35 | + | do_start() { | |
| 36 | + | local result | |
| 37 | + | log_daemon_msg "${STARTUP_MSG}" "${DAEMON_NAME}" | |
| 38 | + | if [ -z "${DAEMON_USER}" ]; then | |
| 39 | + | start_daemon -n $DAEMON_NICE -p "${DAEMON_PID}" "${DAEMON_PATH}" $DAEMON_OPTS | |
| 40 | + | result=$? | |
| 41 | + | log_end_msg $result | |
| 42 | + | else | |
| 43 | + | start-stop-daemon --start --quiet --oknodo --background \ | |
| 44 | + | --nicelevel $DAEMON_NICE \ | |
| 45 | + | --chdir "${DAEMON_PWD}" \ | |
| 46 | + | --pidfile "${DAEMON_PID}" --make-pidfile \ | |
| 47 | + | --exec "${DAEMON_PATH}" -- $DAEMON_OPTS | |
| 48 | + | result=$? | |
| 49 | + | log_end_msg $result | |
| 50 | + | fi | |
| 51 | + | return $result | |
| 52 | + | } | |
| 53 | + | ||
| 54 | + | do_stop() { | |
| 55 | + | local result | |
| 56 | + | log_daemon_msg "${SHUTDOWN_MSG}" "${DAEMON_NAME}" | |
| 57 | + | killproc -p "${DAEMON_PID}" "${DAEMON_PATH}" | |
| 58 | + | result=$? | |
| 59 | + | log_end_msg $result | |
| 60 | + | return $result | |
| 61 | + | } | |
| 62 | + | ||
| 63 | + | do_restart() { | |
| 64 | + | local result | |
| 65 | + | do_stop | |
| 66 | + | result=$? | |
| 67 | + | if [ $result = 0]; then | |
| 68 | + | do_start | |
| 69 | + | result=$? | |
| 70 | + | fi | |
| 71 | + | return $result | |
| 72 | + | } | |
| 73 | + | ||
| 74 | + | do_status() { | |
| 75 | + | local result | |
| 76 | + | status_of_proc -p "${DAEMON_PID}" "${DAEMON_PATH}" "${DAEMON_NAME}" | |
| 77 | + | result=$? | |
| 78 | + | return $result | |
| 79 | + | } | |
| 80 | + | ||
| 81 | + | do_usage() { | |
| 82 | + | echo $"Usage: $0 {start | stop | restart | status}" | |
| 83 | + | exit 1 | |
| 84 | + | } | |
| 85 | + | ||
| 86 | + | case "$1" in | |
| 87 | + | start) | |
| 88 | + | do_start | |
| 89 | + | exit "$?" | |
| 90 | + | ;; | |
| 91 | + | stop) | |
| 92 | + | do_stop | |
| 93 | + | exit "$?" | |
| 94 | + | ;; | |
| 95 | + | restart) | |
| 96 | + | do_restart | |
| 97 | + | exit "$?" | |
| 98 | + | ;; | |
| 99 | + | status) | |
| 100 | + | do_status | |
| 101 | + | exit "$?" | |
| 102 | + | ;; | |
| 103 | + | *) | |
| 104 | + | do_usage | |
| 105 | + | exit 1 | |
| 106 | + | ;; | |
| 107 | + | esac | |