Premetto che ho postato qui perche' l'inconveniente l'ho incontrato configurando i backup di un server, mi scuso se la sezione e' sbagliata.
Come dicevo si tratta di un server Ubuntu 6.06 per il quale ho realizzato al meglio delle mie capacita' uno script per il backup.
Il dispositivo scelto per ospitare le copie di sicurezza e' un Western Digital My Book World Edition II connesso direttamente alla LAN dell'ufficio: il proprietario mi ha vietato di agire sul dispositivo stesso (per non perdere la garanzia) al fine di attivare il protocollo NFS, quindi non mi e' rimasto altro che ricorrere a Samba.
Riesco a montare correttamente l'hdd sul server ed iniziare la sincronizzazione delle cartelle, solo che dopo un po' si inceppa tutto.
La mole di dati da processare che risiede nel server e' di 128GB, suddivisi in 5 directory principali.
Ho provato due strade nel mio script: richiamare in sequenza rsync per ciascuna di queste cartelle (pensando di agevolare e ottimizzare la procedura) e richiamare una volta solo rsync agendo sulla cartella contenitore delle precedenti.
Nel primo caso, mentre lo script e' in funzione, il comando "ps aux" mi elenca 3 istanze distinte del programma rsync tutte relative alla prima cartella. Se io le termino con il comando "kill" compaiono subito altre 3 istanze di rsync relative alla seconda cartella e cosi' discorrendo fino all'ultima, terminate le quali lo script non risulta piu' essere attivo.
Specifico questo perche' lasciandolo lavorare quando torno trovo sempre le 3 istanze di rsync attive in quel momento in stato dormiente o in pausa, ovvero sono contrassegnate dal valore "S" nella colonna STAT di "ps aux". Ecco perche' le termino assistendo all'attivazione delle altre 3 e via discorrendo.
Qualcosa pero' e' stato sincronizzato, solo poi si inceppa tutto.
Nel secondo caso invece una volta terminato le uniche 3 istanze di rsync tutto si ferma, perche' anche in questo caso le 3 istanze di rsync le trovo in pausa.
In entrambi i casi l'exit status di rsync e' il 30, ovvero
http://samba.anu.edu.au/ftp/rsync/rsync.html
la mia domanda e': perche'?30
Timeout in data send/receive
Ho allora lanciato direttamente da shell rsync facendolo agire sulla directory decisamente meno grossa in termini di dati delle 5 citate in precedenza, circa 2GB, proprio alla maniera del primo caso.
Ho usato le medesime opzioni per rsync inserite nello script dopo aver montato a mano l'hdd (lo script prevede mount ed umount al termine della sincronizzazione) ovvero:
Codice: Seleziona tutto
rsync -rlptDv --progress $SOURCE/dir_1/ $DEST/dir_1Inoltre non posso usare l'opzione "-a (archive mode; equals -rlptgoD (no -H,-A,-X))" perche' mi restituisce un errore di tipo "chown" quando deve riportare proprietario e gruppo dei file in quanto li ho specificati nel comando "mount" tramite le opzioni uid= e gid=.
Morale della favola tutto perfetto, sincronizzazione completata correttamente.
Forte di questo risultato allora ho lanciato il medesimo comando per la cartella due, decisamente piu' grossa: 50GB.
Ha funzionato bene per un po' facendomi vedere a video il progresso parziale dei vari file e poi... di brutto... si e' interrotto cosi':
Codice: Seleziona tutto
[...]
rsync: writefd_unbuffered failed to write 4 bytes: phase "unknown" [sender]: Broken pipe (32)
rsync: connection unexpectedly closed (1741375 bytes received so far) [generator]
rsync error: error in rsync protocol data stream (code 12) at io.c(434)
rsync: connection unexpectedly closed (1254482 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(434)
$Grazie davvero a tutti,
wodan
EDIT: questa la versione di rsync presente sul server
Codice: Seleziona tutto
rsync version 2.6.6 protocol versione 29
