[SOLVED] rsync --delete e i/o error
Inviato: gio 16 ott 2014, 11:10
ho messo in loop un rsync --delete tra un filesystem e un altro in modo da tenere costantemente allineato il secondo.
Il filesystem è molto grande e contiene molti file ed anche alcune directory con molti file.
Credo che il disco di origine abbia qualche problema (e andrà sostituito) così di tanto in tanto durante l'rsync mi da i/o error il che non è un grande problema per ora perchè al secondo rsync copia correttamente il file.
Mi è successo però che ha ottenuto un i/o error durante lo scan di una directory così ha pensato che questa directory non esistesse più nel disco di origine e quindi è andato a rimuoverla anche nel disco di destinazione. Sfortunatamente era una directory molto massiccia così ora me la deve ricopiare tutta.
Dato il precedente per un po' terrò il filesystem in sync senza il --delete, ci penserò più in là a pulire.
Ma gli si può dire a --delete o in generale che se trova i/o error eviti di considerare quella directory/file come inesistente ma che la ignori o effettui un retry?
Grazie
Matteo
edit: in verità dal man sembra che questo sia il comportamento predefinito a meno che non venga messo --ignore-errors, allora perchè me l'ha cancellati?
edit2: mi sono riririririletto il man. A questo punto mi sa che il --ignore-errors ce lo avevo messo pensando che servisse a evitare problemi di copia! non vedo altri motivi per cui siano stati cancellati. purtroppo non ho più la history e l'ho fatto diversi mesi fa.
edit3: ho la conferma che avevo fatto la cavolata: "IO error encountered -- skipping file deletion"; si è presentato poco fa
Il filesystem è molto grande e contiene molti file ed anche alcune directory con molti file.
Credo che il disco di origine abbia qualche problema (e andrà sostituito) così di tanto in tanto durante l'rsync mi da i/o error il che non è un grande problema per ora perchè al secondo rsync copia correttamente il file.
Mi è successo però che ha ottenuto un i/o error durante lo scan di una directory così ha pensato che questa directory non esistesse più nel disco di origine e quindi è andato a rimuoverla anche nel disco di destinazione. Sfortunatamente era una directory molto massiccia così ora me la deve ricopiare tutta.
Dato il precedente per un po' terrò il filesystem in sync senza il --delete, ci penserò più in là a pulire.
Ma gli si può dire a --delete o in generale che se trova i/o error eviti di considerare quella directory/file come inesistente ma che la ignori o effettui un retry?
Grazie
Matteo
edit: in verità dal man sembra che questo sia il comportamento predefinito a meno che non venga messo --ignore-errors, allora perchè me l'ha cancellati?
edit2: mi sono riririririletto il man. A questo punto mi sa che il --ignore-errors ce lo avevo messo pensando che servisse a evitare problemi di copia! non vedo altri motivi per cui siano stati cancellati. purtroppo non ho più la history e l'ho fatto diversi mesi fa.
edit3: ho la conferma che avevo fatto la cavolata: "IO error encountered -- skipping file deletion"; si è presentato poco fa