L'errore rsync
read errors mapping ....: Input/output error (5)
indica l'impossibilità di rsync di leggere o scrivere un file. Le cause più probabili di questo errore sono i difetti del disco, nell'SRC o nella directory TGT. Altre possibilità, tuttavia, includono autorizzazioni insufficienti, blocco dei file da parte di programmi antivirus e maybe
altre cause.
Il primo passo verso una diagnosi è provare a copiare i file manualmente. Ciò potrebbe funzionare se, ad esempio, l'origine dell'errore era un difetto del disco nella directory TGT; ripetendo l'operazione in un secondo momento, si scriverà in una sezione diversa del disco, e il problema potrebbe essere svanito.
In alternativa, potresti scoprire di non poter accedere al file nella directory SRC. In questo caso ti suggerisco di utilizzare una qualsiasi delle utilità di controllo del disco disponibili per la tua distribuzione.
Privilegi insufficienti, antivirus, sono più facili da diagnosticare.
Infine, se hai un settore danneggiato nella tua directory SRC, puoi escluderlo dalle future esecuzioni di rsync tramite
rsync -av --exclude='/home/my_name/directory_with_corrupt_files/*'
Ho avuto un problema simile, avevo un dispositivo con fusibile montato tramite USB, che si disconnetteva frequentemente, causando errori IO. Il mio backup non potrebbe mai terminare perché gli errori IO inizierebbero a metà di rsync e, nonostante l'esecuzione ripetuta di rsync, a un certo punto la sincronizzazione non progredirebbe oltre l'aggiornamento dei file esistenti.
La mia soluzione era usare
--ignore-existing
opzione. In questo modo potrei eseguire la sincronizzazione in un ciclo fino a vedere uno stato di uscita 0.
Naturalmente, in questo caso non mi importava degli aggiornamenti ai file esistenti.