It seems my ddclient is not anymore running as a service, no matter what I do.
I installed it using apt-get install ddclient and configured it in the same way like it was on raspbmc.
But the service is not starting, so if my router would reconnect obtaining a new ip from my ISP, my dyn dns service will not be notified by my pi.
My config looks like this: /etc/ddclient.conf
> # Configuration file for ddclient generated by debconf
> #
> # /etc/ddclient.conf
> protocol=dyndns2
> use=web, web=checkip.dyndns.com, web-skip='IP Address'
> server=dynupdate.no-ip.com
> login=xxxx
> password='xxxx'
> xxxx.info
/etc/init.d/ddclient:
#! /bin/sh
#
# init script for the dynamic DNS service update utility: ddclient
### BEGIN INIT INFO
# Provides: ddclient
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Update dynamic domain name service entries
### END INIT INFO
# Author: Torsten Landschoff <torsten@debian.org>
PATH=/sbin:/bin:/usr/sbin:/usr/bin
NAME="ddclient"
DAEMON=/usr/sbin/$NAME
PERL=/usr/bin/perl
DESC="Dynamic DNS service update utility"
# Don't run if not installed
test -f $DAEMON || exit 0
# Evaluate the config for the Debian scripts
#run_daemon=false
#daemon_interval=300
if [ -r /etc/default/ddclient ]; then
. /etc/default/ddclient
fi
PIDFILE=/var/run/$NAME.pid
OPTIONS="-daemon $daemon_interval -syslog -pid $PIDFILE"
# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh
# Define LSB log_* functions.
. /lib/lsb/init-functions
#
# Function that starts the daemon/service
#
do_start()
{
if [ "$run_daemon" != "true" ]; then
return 0
fi
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
start-stop-daemon --test --start --quiet \
--pidfile $PIDFILE --exec $PERL --startas $DAEMON \
>/dev/null \
|| return 1
start-stop-daemon --start \
--pidfile $PIDFILE --exec $PERL --startas $DAEMON \
-- $OPTIONS \
|| return 2
}
#
# Function that stops the daemon/service
#
do_stop()
{
if [ "$run_daemon" != "true" ]; then
return 0
fi
# 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 --retry=TERM/30/KILL/5 \
--pidfile $PIDFILE --exec $PERL
return "$?"
}
case "$1" in
start)
if [ "$run_daemon" != "true" ]; then
log_warning_msg "To run ddclient as a daemon, please set run_daemon to 'true' in /etc/default/ddclient "
log_end_msg 0
exit 0
fi
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
if [ "$run_daemon" != "true" ]; then
log_warning_msg "To run ddclient as a daemon, please set run_daemon to 'true' in /etc/default/ddclient "
log_end_msg 0
exit 0
fi
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
status)
echo -n "Status of $DESC: "
if [ ! -r "$PIDFILE" ]; then
echo "$NAME is not running."
exit 3
fi
if read pid < "$PIDFILE" && ps -p "$pid" > /dev/null 2>&1; then
echo "$NAME is running."
exit 0
else
echo "$NAME is not running but $PIDFILE exists."
exit 1
fi
;;
restart|force-reload)
if [ $run_daemon != "true" ]; then
log_warning_msg "To run ddclient as a daemon, please set run_daemon to 'true' in /etc/default/ddclient "
log_end_msg 0
exit 0
fi
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
N=/etc/init.d/$NAME
# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
log_success_msg "Usage: $N {start|stop|restart|force-reload}"
exit 1
;;
esac
exit 0
If I run ddclient manually in terminal, it updates my ip and gives a successfully message.
but won’t update it automatically because is not able to run as a service.
if I try to start it I get this:
#/etc/init.d/ddclient start
[ ok ] Starting ddclient (via systemctl): ddclient.service.
if I’m checking the status of the service, I get this:
#service ddclient status
â ddclient.service - LSB: Update dynamic domain name service entries
Loaded: loaded (/etc/init.d/ddclient)
Active: active (exited) since Thu 1970-01-01 00:00:07 UTC; 45 years 1 months ago
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
What can be the issue here ?
btw I run the update.rd ddclient defaults.