Subject: /etc/init.d/rsync start doesn't work - pid file conflict
Package: rsync
Version: 3.0.3-2
Severity: normal

*** Please type your report below this line ***

It looks like rsync and debian's /etc/init.d/rsync both want to use
/var/run/rsync.pid. To work around this, I changed the init script to use rsync-debian.pid instead. I've attached a diff.


Starting rsync daemon: rsyncrsync daemon failed to start failed!
 failed!

/var/log/daemon.log shows:

Sep 22 11:05:37 opteron-prime rsyncd[23158]: rsync: failed to create pid
file /var/run/rsync.pid: File exists (17)
Sep 22 11:05:37 opteron-prime rsyncd[23158]: rsync error: error in file IO
(code 11) at clientserver.c(985) [receiver=3.0.3]


-- System Information:
Debian Release: 5.0.3
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.26-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages rsync depends on:
ii base-files 5lenny4 Debian base system miscellaneous f ii libacl1 2.2.47-2 Access control list shared library
ii  libc6                         2.7-18     GNU C Library: Shared libraries
ii libpopt0 1.14-4 lib for parsing cmdline parameters ii lsb-base 3.2-20 Linux Standard Base 3.2 init scrip

rsync recommends no packages.

Versions of packages rsync suggests:
ii openssh-client 1:5.1p1-5 secure shell client, an rlogin/rsh ii openssh-server 1:5.1p1-5 secure shell server, an rshd repla

-- no debconf information


--
Tom Vier <t...@triadsys.com>
Sysadmin - Support Technician
Triad Systems Engineering, Inc.
--- rsync.dpkg-dist~	2009-09-22 10:56:15.000000000 -0400
+++ rsync	2009-09-22 11:26:45.000000000 -0400
@@ -56,7 +56,7 @@
   start)
 	if "$RSYNC_ENABLE"; then
             log_daemon_msg "Starting rsync daemon" "rsync"
-	    if [ -s /var/run/rsync.pid ] && kill -0 $(cat /var/run/rsync.pid) >/dev/null 2>&1; then
+	    if [ -s /var/run/rsync-debian.pid ] && kill -0 $(cat /var/run/rsync-debian.pid) >/dev/null 2>&1; then
                 log_progress_msg "apparently already running"
                 log_end_msg 0
 		exit 0
@@ -67,13 +67,13 @@
                 exit 1
             fi
             if start-stop-daemon --start --quiet --background \
-                --pidfile /var/run/rsync.pid --make-pidfile \
+                --pidfile /var/run/rsync-debian.pid --make-pidfile \
                 $RSYNC_NICE_PARM --exec /usr/bin/rsync \
                 -- --no-detach --daemon --config "$RSYNC_CONFIG_FILE" $RSYNC_OPTS
             then
                 rc=0
                 sleep 1
-                if ! kill -0 $(cat /var/run/rsync.pid) >/dev/null 2>&1; then
+                if ! kill -0 $(cat /var/run/rsync-debian.pid) >/dev/null 2>&1; then
                     log_failure_msg "rsync daemon failed to start"
                     rc=1
                 fi
@@ -84,7 +84,7 @@
                 log_end_msg 0
             else
                 log_end_msg 1
-                rm -f /var/run/rsync.pid
+                rm -f /var/run/rsync-debian.pid
             fi
         else
             if [ -s "$RSYNC_CONFIG_FILE" ]; then
@@ -94,9 +94,9 @@
 	;;
   stop)
         log_daemon_msg "Stopping rsync daemon" "rsync"
-	start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/rsync.pid
+	start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/rsync-debian.pid
         log_end_msg $?
-	rm -f /var/run/rsync.pid
+	rm -f /var/run/rsync-debian.pid
 	;;
 
   reload|force-reload)
@@ -108,12 +108,12 @@
 	set +e
         if $RSYNC_ENABLE; then
             log_daemon_msg "Restarting rsync daemon" "rsync"
-	    if [ -s /var/run/rsync.pid ] && kill -0 $(cat /var/run/rsync.pid) >/dev/null 2>&1; then
-		start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/rsync.pid || true
+	    if [ -s /var/run/rsync-debian.pid ] && kill -0 $(cat /var/run/rsync-debian.pid) >/dev/null 2>&1; then
+		start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/rsync-debian.pid || true
 		sleep 1
 	    else
                 log_warning_msg "rsync daemon not running, attempting to start."
-	    	rm -f /var/run/rsync.pid
+	    	rm -f /var/run/rsync-debian.pid
 	    fi
             if [ ! -s "$RSYNC_CONFIG_FILE" ]; then
                 log_failure_msg "missing or empty config file $RSYNC_CONFIG_FILE"
@@ -121,13 +121,13 @@
                 exit 1
             fi
             if start-stop-daemon --start --quiet --background \
-                --pidfile /var/run/rsync.pid --make-pidfile \
+                --pidfile /var/run/rsync-debian.pid --make-pidfile \
                 $RSYNC_NICE_PARM --exec /usr/bin/rsync \
                 -- --no-detach --daemon --config "$RSYNC_CONFIG_FILE" $RSYNC_OPTS
             then
                 rc=0
                 sleep 1
-                if ! kill -0 $(cat /var/run/rsync.pid) >/dev/null 2>&1; then
+                if ! kill -0 $(cat /var/run/rsync-debian.pid) >/dev/null 2>&1; then
                     log_failure_msg "rsync daemon failed to start"
                     rc=1
                 fi
@@ -138,7 +138,7 @@
                 log_end_msg 0
             else
                 log_end_msg 1
-                rm -f /var/run/rsync.pid
+                rm -f /var/run/rsync-debian.pid
             fi
         else
             [ "$VERBOSE" != no ] && log_warning_msg "rsync daemon not enabled in /etc/default/rsync, not starting..."

Reply via email to