Cosa succede se rsnapshot / rdiff-backup viene interrotto nel mezzo di un trasferimento?

20

La domanda dice tutto:

Cosa succede se rsnapshot o rdiff-backup vengono interrotti nel mezzo di un trasferimento?

So che rsnapshot tenta di creare un'istantanea completa del sistema in rotazione, e rdiff-backup crea un backup differenziale, che sarà basato sui file precedentemente salvati.

Quindi: cosa succede se viene interrotto nel mezzo?

Il risultato è uno "snapshot incompleto"?

Le altre istantanee che dipendono da questa saranno danneggiate? (Sicuramente no, ma ...?)

    
posta emf 13.10.2010 - 05:07
fonte

2 risposte

22

La mia comprensione è che ...

rdiff-backup rileverà l'incremento incompleto la prossima volta che viene eseguito. Cancellerà l'incremento incompleto in modo che il percorso di backup sia lo stesso come se il tentativo di backup interrotto non fosse mai stato avviato.

rsnapshot è un po 'più complicato perché la sua routine è più graduale e varia a seconda dell'uso delle opzioni sync_first e use_lazy_deletes .

  • Se utilizzi sync_first e rsnapshot sync vengono interrotti, puoi semplicemente eseguire nuovamente rsnapshot sync per raddrizzare le cose. Se invece esegui accidentalmente rsnapshot <backup level> a questo punto, l'ultimo punto di backup rimarrà incompleto e verrà trasportato attraverso le rotazioni.
  • Se non utilizzi sync_first , sei semplicemente bloccato con un punto di backup incompleto che è un ibrido di vecchie e nuove versioni di file. A meno che non si inverta manualmente la rotazione di ciascun punto di backup, il punto di backup incompleto sarà trasportato attraverso le rotazioni.
  • In entrambi i casi, l'esecuzione di rsnapshot <backup level> causerà la perdita del punto di backup meno recente, a meno che non sia abilitato use_lazy_deletes .

Tieni presente che sync_first e use_lazy_deletes hanno il costo di utilizzare più spazio su disco.

Un promemoria / dichiarazione di non responsabilità: questo dovrebbe essere ovvio, ma non fidarsi ciecamente dei consigli degli altri su Internet. Se si prevede di utilizzare rdiff-backup o rsnapshot per qualcosa mission-critical , leggere ogni parola del manuale e testare, testare, testare tutto te stesso!

    
risposta data ændrük 15.10.2010 - 05:28
fonte
1

Questo mi è appena successo. la mia unità esterna è diventata piena a metà del backup incrementale di rsnapshot:

rsync: write failed on "<path>": No space left on device (28) 

Ora mi piacerebbe condividere un paio di cose che ho imparato da questo. vale a dire riparare e limitare considerevolmente le possibilità che un tale caso mi morda;)

Ripristina il backup interrotto di Rsnapshot

Conosco due modi per eseguire il rollback in modo sicuro.

manualmente

  1. Elimina l'ultima directory (ad esempio daily.0)
  2. Rinomina directory consecutive (daily.1 - & gt; daily.0, ...); possibile script 1
  3. Esegui il backup come al solito (di nuovo).

automaticamente

rsnapshot non ha pause / stop e riprende le funzionalità (eccetto per il limitato " saltato a causa del piano di rollback " 2 ), quindi dobbiamo usare un wrapper per gestire queste funzionalità.

rsnapshot-once 3 di Philipp C. Heckel è un wrapper per rsnapshot in PHP che:

  • funziona senza modificare la conf di rsnapshot
  • assicurati che le attività giornaliere, settimanali e mensili vengano eseguite solo una volta nel rispettivo periodo di tempo, tramite cron (utile per i laptop)
  • rollback del backup fallito (controlla se l'ultimo backup è stato completato, se non l'ultima directory è stata cancellata e le directory consecutive sono state ridenominate ad esempio daily1. - & gt; daily.0, ...)

Usandolo per un anno sono un utente felice: ho modificato il openbase_dir di php.ini per il mio bisogno di backup e voilà, giorno fortunato ^ _ ^ Più agevole e più sicuro della mia precedente soluzione basata su rsnapshot.

Nota: slm mi ha collegato qui da una domanda doppia: destinazione di Rsnapshot completa - come rieseguire in sicurezza?

    
risposta data tuk0z 17.02.2015 - 16:22
fonte

Leggi altre domande sui tag