diff --git a/ChangeLog b/ChangeLog
index ecf973b85d9aa653c0acd174184c01c1840ee480..ce2e6fbbc7b7977342e96b466d04c27791a9d768 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2006-12-19  Per Cederqvist  <ceder@sedesopim.lysator.liu.se>
 
+	Use syslog.  Keep track of the origin of backups.  Removed
+	workaround for manhattan.  Detect crashed servers faster.
+	* backup-one-task: Removed special case for manhattan.  Store the
+	origin of a backup in the origin file, and refuse to back up from
+	a different origin (but tell the administrator how to proceed).
+	Use ServerAliveInterval to speed up detection of a crashed
+	server.  Log a message to syslog when a backup completes.
+
 	Added a top-level script that runs backups repeatedly.
 	* backup-repeatedly: New file.
 
diff --git a/backup-one-task b/backup-one-task
index 734bd8787ef85042b8da33a1079de8a88024007e..d9cdb4188d0fc532078e426500c44fadd13cd64a 100755
--- a/backup-one-task
+++ b/backup-one-task
@@ -63,6 +63,7 @@ rdifflogfile="$base"/rdiff-backup.out
 summaryfile="$base"/backup-summary.txt
 lockdir="$base"/lock
 state="$lysrdiff"/state
+origin="$base"/origin
 
 mkdir -p "$files"
 mkdir "$lockdir" || exit 1
@@ -87,11 +88,27 @@ then
     exit 0
 fi
 
-if [ "$server" = manhattan ]
+if [ ! -f "$origin" ]
 then
+    echo "$server":"$serverpath" > "$origin"
+fi
+
+rm -f "$origin.new"
+echo "$server":"$serverpath" > "$origin.new"
+if ! diff -u "$origin" "$origin.new"
+then
+    echo Skipping backup due to changed origin.  Remove >&2
+    echo "$origin" >&2
+    echo to override. >&2
+
+    # Leave the origin.new file.  Flag this as a failure.
+    touch "$base"/last-failure
+    touch "$statebase"-fail
     rmdir "$lockdir"
+
     exit 0
 fi
+rm "$origin.new"
 
 unset SSH_ASKPASS
 unset SSH_AUTH_SOCK
@@ -128,7 +145,8 @@ touch "$statebase"-attempt
 
 echo -ne "${CLR}${msg}: running rdiff-backup$ETA"
 
-schema="ssh -o BatchMode=yes -a -k -x -i /root/.ssh/backupkey"
+schema="ssh -o BatchMode=yes -o ServerAliveInterval=120"
+schema="$schema -a -k -x -i /root/.ssh/backupkey"
 schema="$schema %s $remoterdiff --server"
 
 rdiff-backup --exclude-other-filesystems --null-separator \
@@ -162,6 +180,7 @@ then
       touch "$base"/last-nowarn-backup
       rm -f "$statebase"-neverwarnfree
       rm -f "$statebase"-warn
+      logger -p local5.info -t LYSrdiff "$lysrdiffpart $category $subcategory: OK"
     else
       echo ${msg}: WARNING: output from rdiff-backup:
       echo
@@ -175,6 +194,7 @@ then
       then
 	touch "$statebase"-neverwarnfree
       fi
+      logger -p local5.info -t LYSrdiff "$lysrdiffpart $category $subcategory: OK with warnings"
     fi
 else
     mv "$base"/backup-attempt-start "$base"/last-failure
@@ -183,6 +203,7 @@ else
     echo
     sed 's/^/  /' "$rdifflogfile"
     echo
+    logger -p local5.info -t LYSrdiff "$lysrdiffpart $category $subcategory: FAIL"
 fi
 
 rmdir "$lockdir"