Chyba při zálohování s rdiff-backup

Chyba při zálohování s rdiff-backup
« kdy: 04. 09. 2017, 09:38:31 »
Ahoj,
rdiff-backup mi vyhodil tuto chybu:
Kód: [Vybrat]
Previous backup seems to have failed, regressing destination now.
Exception 'CRC check failed 0xd254c440 != 0x57f339eeL' raised of class '<type 'exceptions.IOError'>':
  File "/usr/lib/python2.7/dist-packages/rdiff_backup/robust.py", line 32, in check_common_error
    try: return function(*args)
  File "/usr/lib/python2.7/dist-packages/rdiff_backup/restore.py", line 462, in get_fp
    current_fp = self.get_first_fp()
  File "/usr/lib/python2.7/dist-packages/rdiff_backup/restore.py", line 499, in get_first_fp
    rpath.copyfileobj(fp, current_fp)
  File "/usr/lib/python2.7/dist-packages/rdiff_backup/rpath.py", line 62, in copyfileobj
    inbuf = inputfp.read(blocksize)
  File "/usr/lib/python2.7/gzip.py", line 268, in read
    self._read(readsize)
  File "/usr/lib/python2.7/gzip.py", line 332, in _read
    self._read_eof()
  File "/usr/lib/python2.7/gzip.py", line 354, in _read_eof
    hex(self.crc)))

Traceback (most recent call last):
  File "/usr/bin/rdiff-backup", line 30, in <module>
    rdiff_backup.Main.error_check_Main(sys.argv[1:])
  File "/usr/lib/python2.7/dist-packages/rdiff_backup/Main.py", line 304, in error_check_Main
    try: Main(arglist)
  File "/usr/lib/python2.7/dist-packages/rdiff_backup/Main.py", line 324, in Main
    take_action(rps)
  File "/usr/lib/python2.7/dist-packages/rdiff_backup/Main.py", line 280, in take_action
    elif action == "backup": Backup(rps[0], rps[1])
  File "/usr/lib/python2.7/dist-packages/rdiff_backup/Main.py", line 337, in Backup
    backup_final_init(rpout)
  File "/usr/lib/python2.7/dist-packages/rdiff_backup/Main.py", line 501, in backup_final_init
    checkdest_if_necessary(rpout)
  File "/usr/lib/python2.7/dist-packages/rdiff_backup/Main.py", line 920, in checkdest_if_necessary
    dest_rp.conn.regress.Regress(dest_rp)
  File "/usr/lib/python2.7/dist-packages/rdiff_backup/regress.py", line 71, in Regress
    for rf in iterate_meta_rfs(mirror_rp, inc_rpath): ITR(rf.index, rf)
  File "/usr/lib/python2.7/dist-packages/rdiff_backup/rorpiter.py", line 281, in __call__
    last_branch.fast_process(*args)
  File "/usr/lib/python2.7/dist-packages/rdiff_backup/regress.py", line 268, in fast_process
    if rf.metadata_rorp.isreg(): self.restore_orig_regfile(rf)
  File "/usr/lib/python2.7/dist-packages/rdiff_backup/regress.py", line 290, in restore_orig_regfile
    tf.write_from_fileobj(rf.get_restore_fp())
  File "/usr/lib/python2.7/dist-packages/rdiff_backup/restore.py", line 488, in get_restore_fp
    return robust.check_common_error(error_handler, get_fp)
  File "/usr/lib/python2.7/dist-packages/rdiff_backup/robust.py", line 32, in check_common_error
    try: return function(*args)
  File "/usr/lib/python2.7/dist-packages/rdiff_backup/restore.py", line 462, in get_fp
    current_fp = self.get_first_fp()
  File "/usr/lib/python2.7/dist-packages/rdiff_backup/restore.py", line 499, in get_first_fp
    rpath.copyfileobj(fp, current_fp)
  File "/usr/lib/python2.7/dist-packages/rdiff_backup/rpath.py", line 62, in copyfileobj
    inbuf = inputfp.read(blocksize)
  File "/usr/lib/python2.7/gzip.py", line 268, in read
    self._read(readsize)
  File "/usr/lib/python2.7/gzip.py", line 332, in _read
    self._read_eof()
  File "/usr/lib/python2.7/gzip.py", line 354, in _read_eof
    hex(self.crc)))
IOError: CRC check failed 0xd254c440 != 0x57f339eeL
Už se mi to stalo podruhé, poprvé se zaplnil cílový disk a teď jsem zkoušel, jak se rdiff-backup zachová, když bude zálohovaná stanice s Win7 připojená přes autofs - cifs nedostupná, po dvou dnech běhu jsem rdiff-backup ukončil.
Poprvé mi pomohlo až kompletní smazání dosavadních záloh a začít znovu od začátku, což je krajní a v podstatě nepoužitelné řešení :(
Měl jsem za to, že se rdiff-backup po nekorektně dokončené záloze vrátí k poslední dokončené.
Je nějaký způsob jak to opravit?
Děkuji za pomoc
« Poslední změna: 04. 09. 2017, 09:56:39 od Petr Krčmář »


JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:chyba při zálohování s rdiff-backup
« Odpověď #1 kdy: 04. 09. 2017, 09:51:33 »
K predchozi zaloze by se vratit mel a me se k ni tusim vraci. Ale vzhledem k tomu, ze v tom vypisu je "exceptions.IOError", tak asi nemuze. Treba vam blbne disk/radic anebo jestli to je USB, tak treba blbne to. Me se to obcas stava na jednom stroji - disk se proste odpoji.

me vakérav

Re:Chyba při zálohování s rdiff-backup
« Odpověď #2 kdy: 04. 09. 2017, 10:24:39 »
Řešení nemám, ale jen bych chtěl vyjádřit soustrast s používáním rdiff-backup. Podobných divných chyb je tam celá řada. Sám jsem ho používal na různé účely a tak jednou za půl roku, za rok se stala podobná chyba (ne přímo tahle, ale podobné). Zejména když člověk přeruší zálohu (třeba protože vidí, že zálohuje něco, co nechce), je riziko maléru skoro 50 na 50. Řešení jsem pokaždé hledal, ale neexistovalo (kromě „smaž všechny zálohy a začni znovu“). Software už je to neudržovaný a kvůli tomuhle dost o nervy.

Nakonec jsem skončil s tím, že zálohuju na btrfs a přírůstky dělám snapshotama. Jediná nevýhoda oproti rdiff-backup je ta, že to má nekomprimované přírůstky, ale většinou u těch přírůstků stejně není moc komprimovat, takže mě to tak nepálí (btrfs sám o sobě komprimovaný je). Naopak výhod to má celou řadu, od bezproblémového běhu, po velice snadné procházení záloh včetně selektivního promazávání i jednoho souboru, i jedné zálohy uprostřed apod.

Rdiff-backup už nikdy více! (sorry za zaplevelování vlákna)

Re:Chyba při zálohování s rdiff-backup
« Odpověď #3 kdy: 04. 09. 2017, 10:32:16 »
Řešení nemám, ale jen bych chtěl vyjádřit soustrast s používáním rdiff-backup. Podobných divných chyb je tam celá řada. Sám jsem ho používal na různé účely a tak jednou za půl roku, za rok se stala podobná chyba (ne přímo tahle, ale podobné). Zejména když člověk přeruší zálohu (třeba protože vidí, že zálohuje něco, co nechce), je riziko maléru skoro 50 na 50. Řešení jsem pokaždé hledal, ale neexistovalo (kromě „smaž všechny zálohy a začni znovu“). Software už je to neudržovaný a kvůli tomuhle dost o nervy.

Nakonec jsem skončil s tím, že zálohuju na btrfs a přírůstky dělám snapshotama. Jediná nevýhoda oproti rdiff-backup je ta, že to má nekomprimované přírůstky, ale většinou u těch přírůstků stejně není moc komprimovat, takže mě to tak nepálí (btrfs sám o sobě komprimovaný je). Naopak výhod to má celou řadu, od bezproblémového běhu, po velice snadné procházení záloh včetně selektivního promazávání i jednoho souboru, i jedné zálohy uprostřed apod.

Rdiff-backup už nikdy více! (sorry za zaplevelování vlákna)
Naopak, děkuji za názor. Tyhle "nešvary" mi drásají nervy a přináší neklid, možná je na čase se zamyslet nad jiným směrem ;)

M

Re:Chyba při zálohování s rdiff-backup
« Odpověď #4 kdy: 04. 09. 2017, 10:37:26 »
já od něj taky utelk - nahradil jsem ho r-snapshotem


nobody(ten pravej)

Re:Chyba při zálohování s rdiff-backup
« Odpověď #5 kdy: 04. 09. 2017, 21:26:38 »
[...] btrfs [...] výhod to má celou řadu, [...] po velice snadné procházení záloh

rdiff-backup lze prochazet snadno zaloho pres rdiff-backup-fs ktery je zpristupni jako virtualni adresare "datum zalohy" pro kazdou ze zaloh:
https://github.com/rbrito/rdiff-backup-fs
pro opravu exportovani pres sambu a dostupnost pro user (ne jen roota) s aplikovanejma patchama:
https://github.com/rbrito/rdiff-backup-fs/issues/11#issuecomment-118565784

promazavat soubory lze teda jen prasarnou, upravou ridicich souboru, ale lze smazat posledni zalohu (ci poslednich nekolik) pomoci:
https://www.timedicer.co.uk/programs/help/rdiff-backup-regress.sh.php

btw: s rdiff-backup + rdiff-backup-fs sem za par let zpet zadne problemy nemel, btrfs oddil se mi naproti tomu rozsypal uz nekolikrat ;)

nobody(ten pravej)

Re:Chyba při zálohování s rdiff-backup
« Odpověď #6 kdy: 04. 09. 2017, 21:33:42 »
já od něj taky utelk - nahradil jsem ho r-snapshotem

nevyhoda r-snapshotu je ze nedela rozdilove, takze kdyz se zmeni par bajtu v 100MB souboru, tak zabira v nove zaloze par bajtu, naproti tomu v rdiff-backup to zabira jen tech par bajtu (+ pidi rezie)

pokud to je nekomu jedno tak ok, ale je dobre si uvedomit ze pri castejch snapshotech u casto menenejch jen zcasti souboru ta celkova zaloha(vsech snapshotu) muze narustat do "brutalnich" velikosti...

rdiff

Re:Chyba při zálohování s rdiff-backup
« Odpověď #7 kdy: 05. 09. 2017, 12:55:24 »
--check-destination-dir ti nefunguje? Rozjebat to tak aby neslo smazat posledni nepovedeny backup se mi nepodarilo za celou dobu existence rdiff-backup, tohle bude rukama.

pavele

Re:Chyba při zálohování s rdiff-backup
« Odpověď #8 kdy: 05. 09. 2017, 18:38:06 »
já od něj taky utelk - nahradil jsem ho r-snapshotem

nevyhoda r-snapshotu je ze nedela rozdilove, takze kdyz se zmeni par bajtu v 100MB souboru, tak zabira v nove zaloze par bajtu, naproti tomu v rdiff-backup to zabira jen tech par bajtu (+ pidi rezie)

pokud to je nekomu jedno tak ok, ale je dobre si uvedomit ze pri castejch snapshotech u casto menenejch jen zcasti souboru ta celkova zaloha(vsech snapshotu) muze narustat do "brutalnich" velikosti...


Chceš tím říct, že když budu zálohovat změněný kvm obraz disku, který má cca 20 GB, bude se po prvním kompletním zálohování tohoto souboru zálohovat pouze změněná bitová část?
Proč to potom nikdo nepoužívá?

nobody(ten pravej)

Re:Chyba při zálohování s rdiff-backup
« Odpověď #9 kdy: 07. 09. 2017, 23:54:46 »
@pavele ano :) viz: napr

koukam ze sem to puvodne napsal spatne, takze EDIT:
nevyhoda r-snapshotu je ze nedela rozdilove, takze kdyz se zmeni par bajtu v 100MB souboru, tak zabira v nove zaloze celou velikost, naproti tomu v rdiff-backup to zabira jen tech par bajtu (+ pidi rezie)