MV saltare file danneggiati
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- darkstaring
- Linux 3.x
- Messaggi: 657
- Iscritto il: mer 13 ott 2010, 13:55
- Nome Cognome: Francesco Achenza
- Desktop: KDE
- Distribuzione: Arch Linux
- Contatta:
MV saltare file danneggiati
Seraaa...
Ho un' harddisk con partizione ntfs danneggiata... ho provato ad eseguire chkdsk da windows e ntfsfix con linux.. ma non riesco a riparare il filesystem...
Ora vorrei salvare tutti i file non danneggiati su un'altro disco ma se eseguo solo "mv -R" quando trovo un file danneggiato l' hd si blocca e la copia non và più avanti..
Esiste un parametro da dare a mv che salti i file danneggiati?? sul man non ho trovato niente..
Altri consigli???
Grazie
Ho un' harddisk con partizione ntfs danneggiata... ho provato ad eseguire chkdsk da windows e ntfsfix con linux.. ma non riesco a riparare il filesystem...
Ora vorrei salvare tutti i file non danneggiati su un'altro disco ma se eseguo solo "mv -R" quando trovo un file danneggiato l' hd si blocca e la copia non và più avanti..
Esiste un parametro da dare a mv che salti i file danneggiati?? sul man non ho trovato niente..
Altri consigli???
Grazie
- useless
- Staff
- Messaggi: 3896
- Iscritto il: dom 12 ott 2003, 0:00
- Località: A place where the streets have no name
- Contatta:
Re: MV saltare file danneggiati
Prova a usare cp invece che mv! Nel caso peggiore puoi farti un'immagine del disco con dd_rescue.
- darkstaring
- Linux 3.x
- Messaggi: 657
- Iscritto il: mer 13 ott 2010, 13:55
- Nome Cognome: Francesco Achenza
- Desktop: KDE
- Distribuzione: Arch Linux
- Contatta:
Re: MV saltare file danneggiati
Eviterei di far la copia di tutta la partizione..l'hard disk è dà 500Gb e i files da copiare sono pochissimi, con dd copierei anche i settori che non fanno parte di un file?
io preferirei copiare o spostare i files presenti e non i settori, magari mantenendo la struttura delle directory...
la cosa ideale sarebbe qualcosa del tipo ignora se il file è danneggiato.. ho cercato con mv,cp, rsync ma sembra non ci sia un'opzione che lo permetta.
è possibile fare un controllo di integrità del file prima di copiarlo?
io preferirei copiare o spostare i files presenti e non i settori, magari mantenendo la struttura delle directory...
la cosa ideale sarebbe qualcosa del tipo ignora se il file è danneggiato.. ho cercato con mv,cp, rsync ma sembra non ci sia un'opzione che lo permetta.
è possibile fare un controllo di integrità del file prima di copiarlo?
- useless
- Staff
- Messaggi: 3896
- Iscritto il: dom 12 ott 2003, 0:00
- Località: A place where the streets have no name
- Contatta:
Re: MV saltare file danneggiati
Con dd/dd_rescue copieresti il block device, quindi tutto tutto tutto, ma a mio avviso è la soluzione migliore, così poi recuperi i dati con comodo e senza timore che il disco muoia da un momento all'altro.
Mi sembra che cp non si interrompa se durante la copia di un file si verifica un errore, ma non sono sicuro. Se i file da copiare sono pochissimi puoi fare trial-and-error a mano .
Per fare un controllo di integrità puoi provare qualcosa del genere:
Ma non è detto che funzioni, probabilmente dipende dal tipo di errore che si verifica, e non sono troppo sicuro che crei bene le sottodirectory. Questo dovresti lanciarlo tramite find all'interno della directory da salvare, tipo:
Ma chi lo sa se funzionerà? Insomma, prendilo più che altro come spunto su cui lavorare .
In ogni caso, ti consiglio di montare il disco morto in readonly (-o ro)!!!
Edit: Ripensandoci, ecco una versione un po' più furba dello script, usala a tuo rischio e pericolo:
Mi sembra che cp non si interrompa se durante la copia di un file si verifica un errore, ma non sono sicuro. Se i file da copiare sono pochissimi puoi fare trial-and-error a mano .
Per fare un controllo di integrità puoi provare qualcosa del genere:
Codice: Seleziona tutto
#!/bin/sh
if cat "$1" > /dev/null
then
mkdir -p "$(dirname "$1")" # Non sono troppo sicuro di questo!
exec cp "$1" "$2"
else
echo "File $1 illeggibile"
exit 1
fi
Codice: Seleziona tutto
find "/mnt/discomorto" -type f -exec script.sh "{}" /mnt/dovecopiareifilebuoni \;
In ogni caso, ti consiglio di montare il disco morto in readonly (-o ro)!!!
Edit: Ripensandoci, ecco una versione un po' più furba dello script, usala a tuo rischio e pericolo:
Codice: Seleziona tutto
#!/bin/sh
mkdir -p "$(dirname "$1")" # Non sono troppo sicuro di questo!
if ! cp "$1" "$2"
then
echo "File $1 illeggibile"
rm "$2/$(dirname "$1")" # Funzionerà???
exit 1
fi
- ZeroUno
- Staff
- Messaggi: 5441
- Iscritto il: ven 2 giu 2006, 14:52
- Nome Cognome: Matteo Rossini
- Slackware: current
- Kernel: slack-current
- Desktop: ktown-latest
- Distribuzione: 01000000-current
- Località: Roma / Castelli
- Contatta:
Re: MV saltare file danneggiati
find /mnt/discomorto -type d -exec mkdir -p "{}" \;
find /mnt/discomorto -type f -exec mv -v "{}" "/mnt/dovecopiareifilebuoni/{}" \; > fileok.log 2>filebad.log
oppure
find /mnt/discomorto -type d -exec mkdir -p "{}" \;
find /mnt/discomorto -type f -ls -exec dd if="{}" of="/mnt/dovecopiareifilebuoni/{}" conv=noerror \; >mv.log 2>&1
nel secondo caso se il file è danneggiato lui lo copia lo stesso mettendo degli zeri al posto dei settori danneggiati.
Ma, in entrambi i casi, aspettati tempi mooolto lunghi sui file che si trovano sui settori danneggiati.
se vuoi una barra di avanzamento sul singolo file usa bar
find /mnt/discomorto -type f -ls -exec bar -if "{}" -of "/mnt/dovecopiareifilebuoni/{}" --display-bar \;
quest'ultimo a differenza di dd non gestisce gli errori alla dd ma almeno sai a che velocità ti sta copiando.
nota: tutte le soluzioni NON sono testate!!!
find /mnt/discomorto -type f -exec mv -v "{}" "/mnt/dovecopiareifilebuoni/{}" \; > fileok.log 2>filebad.log
oppure
find /mnt/discomorto -type d -exec mkdir -p "{}" \;
find /mnt/discomorto -type f -ls -exec dd if="{}" of="/mnt/dovecopiareifilebuoni/{}" conv=noerror \; >mv.log 2>&1
nel secondo caso se il file è danneggiato lui lo copia lo stesso mettendo degli zeri al posto dei settori danneggiati.
Ma, in entrambi i casi, aspettati tempi mooolto lunghi sui file che si trovano sui settori danneggiati.
se vuoi una barra di avanzamento sul singolo file usa bar
find /mnt/discomorto -type f -ls -exec bar -if "{}" -of "/mnt/dovecopiareifilebuoni/{}" --display-bar \;
quest'ultimo a differenza di dd non gestisce gli errori alla dd ma almeno sai a che velocità ti sta copiando.
nota: tutte le soluzioni NON sono testate!!!
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg
Codice: Seleziona tutto
1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111
- useless
- Staff
- Messaggi: 3896
- Iscritto il: dom 12 ott 2003, 0:00
- Località: A place where the streets have no name
- Contatta:
Re: MV saltare file danneggiati
Ottima idea! Alla fine è come il mio script ma decisamente più comodo. Se sostituisci dd_rescue a dd, con opportuni valori di -B e -b puoi anche cavartela (relativamente) in fretta.ZeroUno ha scritto: find /mnt/discomorto -type d -exec mkdir -p "{}" \;
find /mnt/discomorto -type f -ls -exec dd if="{}" of="/mnt/dovecopiareifilebuoni/{}" conv=noerror \; >mv.log 2>&1