www.elektronik.si
Ukaz CP in I/O error

www.elektronik.si -> Linux, unix razprave

Avtor: Peter123Kraj: Lj. PrispevekObjavljeno: Ned Jan 13, 2013 3:40 pm    Naslov sporočila:  Ukaz CP in I/O error
----------------------------------------------------------------------------
Rad bi skopiral veliko količino datotek iz CDja v neko mapo na HD.
Teh CDjev je veliko. Ker so CDji stari so tudi določene datoteke neberljive.
Če zaženem:
cp *.mp3 /MP3
mi iz neberljivih datotek naredi neke majhne file, ki so neuporabni.

Z uporabo:
cp -v *.mp3 /MP3
jih pa ravno tako naredi, razlike v rezultatu ni.

-v sem razumel kot da v primeru da je napaka preskoči datoteko, dobre razlage za sintakso -v nisem našel na netu.

Ima kdo že rešitev ali je imel podoben problem?

Linux Mint 13...

Hvala.

Avtor: dumr666Kraj: Ljubljana PrispevekObjavljeno: Ned Jan 13, 2013 4:31 pm    Naslov sporočila:  
----------------------------------------------------------------------------
vpiši man cp če boš kaj pametnega našel

Avtor: Peter123Kraj: Lj. PrispevekObjavljeno: Ned Jan 13, 2013 4:51 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Hja glede na tole:
http://www.freebsd.org/cgi/man.cgi?query=cp

Pomeni -v samo da piše še neke podatke, ki jih pa jaz ne vidim.

Še kaka ideja?

Avtor: mobwapKraj: Doma PrispevekObjavljeno: Ned Jan 13, 2013 5:47 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Uporabi "rsync -c" --checksum oziroma poglej man rsync.

cp -v pomeni samo verbose izpis.

Avtor: Peter123Kraj: Lj. PrispevekObjavljeno: Ned Jan 13, 2013 8:05 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Mislim da to ni to:
rsync -c *.mp3 /MP3
pa se nič ne naredi nič erora nič rezultata.

Avtor: mobwapKraj: Doma PrispevekObjavljeno: Ned Jan 13, 2013 8:34 pm    Naslov sporočila:  
----------------------------------------------------------------------------
oooopa, počasi, rsync je malo bolj kompleksno orodje in sem napisal da poglej man rsyinc.

No da vsaj malo razložim kaj je narobe. Nisi dodal stikal ki povejo kaj bi rad naredil.

V tvojem primeru bi to moralo delovati
Koda:

rsync -avc --inplace --include='*/' --include="*.[Mm][Pp][3]" --exclude='*' --prune-empty-dirs ./ /MP3

-avc :arhiviraj verbose checksum
--inplace : direktno kopiraj brez tmp
--include='*/' :vse mape
--include="*.[Mm][Pp][3]" :ki vsebuejo .mp3 .Mp3 .MP3 .mP3
--exclude='*' izloči vse ostalo
--prune-empty-dirs :ne kopiraj in ustvarjaj praznih direktorijev
./ :trenutni dir
/MP3 :pot za shranjevanje

Avtor: Peter123Kraj: Lj. PrispevekObjavljeno: Pon Jan 14, 2013 9:30 am    Naslov sporočila:  
----------------------------------------------------------------------------
Očitno sem res podcenil obsežnost funkcije.
Sprobam še danes popoldne če uspem.

Probam razumeti kje dopoveš funkciji naj ne kopira datoteke v primeru če je le ta poškodovana ali ni celotna. Domnevam da je to tule:
-c, --checksum
This forces the sender to checksum all files using a 128-bit MD4 checksum before transfer. The checksum is then explicitly checked on the receiver and any files of the same name which already exist and have the same checksum and size on the receiver are skipped. This option can be quite slow.

Vir: http://linux.about.com/library/cmd/blcmdl1_rsync.htm

Če si zadevo prav razlagam zadeva samo preveri če obstaja identična datoteka v ciljni mapi na podlagi check sume. Ne preveri pa ali je bila datoteka pravilno prebrana???

Hvala za pomoč, linux vedno jemljem po kosih v daljšem časovnem obdobju ampak veliko pozabim vmes.

Avtor: Peter123Kraj: Lj. PrispevekObjavljeno: Pon Jan 14, 2013 7:35 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Pravkar sprobal. Ni prava zadeva.
Po pregledu lahko zaključim da verjetno rutina poizkuša obnovit poškodovane datoteke, kar pa ni zaželeno saj ji v veliki večini ne uspe, želim da poškodovanih sploh ne kopira.

Nekaj izsekov operacije:
rsync: read errors mapping "/media/MP3 No.1/music/(Mr Big) To Be With You.mp3": Input/output error (5)
(Mr Big) Wild World.mp3
...
WARNING: (Mr Big) To Be With You.mp3 failed verification -- update retained (will try again).
...
rsync: read errors mapping "/media/MP3 No.1/music/(Mr Big) To Be With You.mp3": Input/output error (5)
(Mr Big) Wild World.mp3
...
ERROR: (Mr Big) To Be With You.mp3 failed verification -- update retained.
...
sent 843266566 bytes received 4389 bytes 132163.77 bytes/sec
total size is 675061406 speedup is 0.80
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1070) [sender=3.0.9]

Čeprav piše da nekaj datotek ni bilo presnetih so številsko vse, tudi zasedejo isto količino prostora.
In ja omenjeni mp3 ne deluje.

Očitno bom moral poštudirat kako skripto za naprimer cp ukaz??? Sem upal da to že obstaja ali da jo je kdo rabil zase.

Avtor: Peter123Kraj: Lj. PrispevekObjavljeno: Tor Jan 15, 2013 9:21 am    Naslov sporočila:  
----------------------------------------------------------------------------
Če bo kdo potreboval podobno zadevo za Win7 lahko proba tole:
To copy files from a CD-ROM, assuming drive D:\, you'd do something like this:

robocopy D:\ C:\ThisIsTheTargetFolder /MIR /R:1 /W:1

D:\ means the source, which in this example is the D: drive.
C:\ThisIsTheTargetFolder is obvious, but you need to set the correct target path.
/MIR mirrors the folder structure.
/R:1 means retry once for each file. You can change this.
/W:1 means to wait 1 second between retries. You can change this too.

Type robocopy at the command prompt to see more options. You would be interested in the Exclusion List options, which are /XF and /XD. Very powerful stuff.

Vir: http://superuser.com/questions/417391/how-to-copy-files-with-an-option-for-skipping-stuck-files

Stran 1 od 1

Powered by phpBB © 2001,2002 phpBB Group