Назад | Перейти на главную страницу

Сбой резервного копирования (ранее нормально) (rdiff-backup)

Это сводит меня с ума, так как раньше выполнялось полное и счастливое резервное копирование.

Cron:

/usr/bin/rdiff-backup --exclude /var/yp --exclude /var/tux --exclude /var/tmp 
--exclude /var/www/usage --exclude /var/www/quarantine --exclude /var/www/coursebup
--exclude /var/www/manual --exclude /var/www/icons --exclude /var/www/error
--exclude /var/www/cgi-bin --exclude /var/spool --exclude /var/run 
--exclude /var/racoon --exclude /var/preserve --exclude /var/opt --exclude /var/nis 
--exclude /var/net-snmp --exclude /var/mail --exclude /var/lost+found --exclude /var/log 
--exclude /var/lock --exclude /var/local --exclude /var/lib --exclude /var/gdm 
--exclude /var/games --exclude /var/empty --exclude /var/db --exclude /var/clamav 
--exclude /var/cache --exclude /var/account --exclude /usr --exclude /tmp 
--exclude /sys --exclude /srv --exclude /selinux --exclude /sbin --exclude /root 
--exclude /proc --exclude /opt --exclude /net --exclude /mnt --exclude /misc 
--exclude /media --exclude /lost+found --exclude /lib64 --exclude /lib 
--exclude /home --exclude /etc --exclude /dev --exclude /boot 
--exclude /bin nameof-backup::/ /backups/destination

Журнал ошибок:

Found interrupted initial backup. Removing...
Exception '[Errno 28] No space left on device' raised of class 'exceptions.IOError':
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/Main.py", line 304, in error_check_Main
    try: Main(arglist)
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/Main.py", line 324, in Main
    take_action(rps)
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/Main.py", line 280, in take_action
    elif action == "backup": Backup(rps[0], rps[1])
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/Main.py", line 346, in Backup
    backup.Mirror(rpin, rpout)
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/backup.py", line 38, in Mirror
    DestS.patch(dest_rpath, source_diffiter)
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/backup.py", line 230, in patch
    for diff in rorpiter.FillInIter(source_diffiter, dest_rpath):
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/rorpiter.py", line 177, in FillInIter
    for rp in rpiter:
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/iterfile.py", line 382, in next
    while not type: type, data = self._get()
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/iterfile.py", line 414, in _get
    if not self.buf: self.buf += self.file.read()
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/connection.py", line 518, in read
    return self.connection.VirtualFile.readfromid(self.id, length)
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/connection.py", line 450, in __call__
    return apply(self.connection.reval, (self.name,) + args)
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/connection.py", line 370, in reval
    if isinstance(result, Exception): raise result

Traceback (most recent call last):
  File "/usr/bin/rdiff-backup", line 30, in ?
    rdiff_backup.Main.error_check_Main(sys.argv[1:])
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/Main.py", line 304, in error_check_Main
    try: Main(arglist)
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/Main.py", line 324, in Main
    take_action(rps)
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/Main.py", line 280, in take_action
    elif action == "backup": Backup(rps[0], rps[1])
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/Main.py", line 346, in Backup
    backup.Mirror(rpin, rpout)
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/backup.py", line 38, in Mirror
    DestS.patch(dest_rpath, source_diffiter)
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/backup.py", line 230, in patch
    for diff in rorpiter.FillInIter(source_diffiter, dest_rpath):
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/rorpiter.py", line 177, in FillInIter
    for rp in rpiter:
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/iterfile.py", line 382, in next
    while not type: type, data = self._get()
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/iterfile.py", line 414, in _get
    if not self.buf: self.buf += self.file.read()
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/connection.py", line 518, in read
    return self.connection.VirtualFile.readfromid(self.id, length)
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/connection.py", line 450, in __call__
    return apply(self.connection.reval, (self.name,) + args)
  File "/usr/lib64/python2.4/site-packages/rdiff_backup/connection.py", line 370, in reval
    if isinstance(result, Exception): raise result

IOError: [Errno 28] No space left on device
Fatal Error: Lost connection to the remote system

Идеи? Кто угодно?

У вас закончилось место на диске:

[Errno 28] No space left on device

rdiff любит занимать место во временной папке (особенно во время восстановления, но, возможно, и во время резервного копирования). просто беги

df -h

несколько раз во время резервного копирования (как на клиенте, так и на сервере) и посмотрите, на каком устройстве у вас закончилось место. если это временная папка, используйте параметры --remote-tempdir и --tempdir, чтобы указать место с большим количеством места.