Wed 23 Jul 2008 08:40:25 AM UTC, original submission:
Situation:
2 OVH servers on Debian Etch, with rdiff-backup 1.1.5-4 installed from official deb repo.
A cron task launch a bash script at 5:00 am which start this sequence :
rdiff-backup --remove-older-than ${nb_increments}B ${destinationPath}
rdiff-backup --exclude-other-filesystems --exclude "${DEST_BASE}/*" --preserve-numerical-ids --print-statistics --remote-schema "ssh -p ${destSSHPort} -i ${KEYS} %s rdiff-backup --server --restrict-read-only ${sourcePath}" ${REMOTE_USER}@${servFQDNorIP}::${sourcePath} ${destinationPath}
with variable replacement, of course.
Backup script duplicate rdiff stdout and stderr in a log file by piping to "tee -a".
Each server backup the other. There is multiple partitions to backup and I launch an rdiff per partition, with different cron entry. In one way, it works perfectly (no error for 3 months, daily backup) for every backup.
In the other way, there is on ONE backup that crashes quasi-systematicaly when the script is launched by cron BUT it works systematicaly when the SAME script is launched manually in a root console.
When the crash occurs the entire shell script is destroyed (there is other commands and an echo just after the rdiff-backup call that aren't executed).
I have tried to launch the script by hand (./script.sh in a root console) after adding a '-v9' option in the script, and for the first time, rdiff-backup has crashed when launched manually.
The first error visible in the log is :
Sending back exception [Errno 11] Resource temporarily unavailable of type exceptions.IOError:
File "/var/lib/python-support/python2.4/rdiff_backup/connection.py", line 335, in answer_request
result = apply(eval(request.function_string), argument_list)
There is full log attached.
An additional information : the partition incriminated is local ext3, without other mount points (no NFS and so on). This partition is the biggest to backup, around 25GiB and the backup take more than 45 min in general.
An idea may be : if ssh connexion isn't used for a long period (when build filelist ?) maybe sshd destroy it.
|