I'd like to use QuickPar, or par2cmdline, to protect archives stored on CD-R and DVD-R media. Is there a tutorial or FAQ describing in detail how to do this?
By "archive" I mean data frozen in permanent storage on optical discs. I don't mean a "backup" where the data also exists on the PC, or other media besides optical disc. In this scenario, I feel the parity recovery capabiltiy provided by Par2 is very valuable.
I've read the documentation for QuickPar, but it only covers Usenet usage. I've also read the tutorials linked from the QuickPar site, but they only cover Usenet usage.
I've read the forums on the QuickPar site, every single message in "Using QuickPar with CDRs and DVDRs". The thread which seems most informative is "QuickPar Media Recovery - My Tests & Techniques", but it doesn't suffice as a tutorial. There doesn't seem to be much agreement about the best way to use Par2 data on optical media.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've been using QuickPar to archive to DVDRW disks for years. I use WinRAR to compress files/folders into fixed volume lengths of 250mb or less with 2% recovery records. Then I use QuickPar on the rar files to create recovery files of 2% redundancy while holding block sizes to under 512kb. Then I burn all the files to DVDRW or DVDR with my favorite burning software. After the burning is finished I verify the files with QuickPar. Copies of the QuickPar recovery files can be stored on separate media if desired. If I do run into any corrupt files, I first use WinRAR to try to repair the bad files. Then I used QuickPar if needed to fix what can't be repaired. I haven't lost a file yet.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2010-06-25
For backing up to DVD's, here's a very cruddy, kludgey batch file I threw together:
::
::
::
::
set /a MediaNumber=9
set SourceDir=E:\Other\Paring\Documentaries
set /a DirSizeMB=0
::MediaSizeMB=(4700,8500,25000,50000)
set /a MediaSizeMB=24780
::set /a MediaSizeMB=4956
set /a BlockSize=4*1048576
::
::
::
::
::
set InitalPath=%CD%
cd /D "%SourceDir%"
::Define Date
FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('echo %CDATE%') DO SET dd=%%B
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('echo %CDATE%') DO SET yyyy=%%B
SET PassingDate=%mm%%dd%%yyyy%
::Determine size of SourceDir in Megabytes
for /f "tokens=*" %%a in ('dir /w %1 ^|c:\windows\system32\findstr "File(s)"') do (set info=%%a )
set info=%info:*File(s)=%
set info=%info:bytes=%
set info=%info: =%
set info=%info:,=%
set /a DirSizeMB=%info:~0,-6%+1
set /a ActualPercent=100+MinRecPercent
set /a TotalSizeDataMB=DirSizeMB*ActualPercent/100
set /a PerMediaDataSize=DirSizeMB/MediaNumber
:: -s%BlockSize% - sets the small size of the blocks. In bytes.
:: -c%RecBlockCount% - sets the recovery block count. Derived from RecBlockCount=(MediaSizeMB-DirSizeMB)/BlockSize
:: -u - sets the recovery file size to be uniform
:: -n%RecBlockCount% - sets the number of recovery files, so one block per file
:: -m1000 - sets the ammount of memory to use in MB
:: -v - sets verbose. Remember to append the output to a logfile! -q for quiet
:: -t0 - checksum serially, but create concurrently - best for slow media like USB, -t+ for fast
:: -d%SourceDir%\%1- should set shortname path info, so no quotes needed - removed since it didnt' work
:: -0 for testing - remove when testing complete.
for /L %%G in (1,1,%MediaNumber%) do (call :callingPar2tbb %%G)
goto :AftercallingPar2tbb
:callingPar2tbb
for /f "tokens=*" %%a in ('dir /w "%SourceDir%\%1" ^|c:\windows\system32\findstr "File(s)"') do (set info=%%a )
set info=%info:*File(s)=%
set info=%info:bytes=%
set info=%info: =%
set info=%info:,=%
set /a _DirSizeMB=%info:~0,-6%+1
set /a BlockSizeKB=%BlockSize%/1024
set /a RecBlockSizeMB=MediaSizeMB-_DirSizeMB
set /a RecBlockCount=RecBlockSizeMB*1000/BlockSizeKB
I'd like to use QuickPar, or par2cmdline, to protect archives stored on CD-R and DVD-R media. Is there a tutorial or FAQ describing in detail how to do this?
By "archive" I mean data frozen in permanent storage on optical discs. I don't mean a "backup" where the data also exists on the PC, or other media besides optical disc. In this scenario, I feel the parity recovery capabiltiy provided by Par2 is very valuable.
I've read the documentation for QuickPar, but it only covers Usenet usage. I've also read the tutorials linked from the QuickPar site, but they only cover Usenet usage.
I've read the forums on the QuickPar site, every single message in "Using QuickPar with CDRs and DVDRs". The thread which seems most informative is "QuickPar Media Recovery - My Tests & Techniques", but it doesn't suffice as a tutorial. There doesn't seem to be much agreement about the best way to use Par2 data on optical media.
Have you try DVdisaster? They are pretty about that, free and cross-OS.
http://dvdisaster.net/en/index10.php
I've been using QuickPar to archive to DVDRW disks for years. I use WinRAR to compress files/folders into fixed volume lengths of 250mb or less with 2% recovery records. Then I use QuickPar on the rar files to create recovery files of 2% redundancy while holding block sizes to under 512kb. Then I burn all the files to DVDRW or DVDR with my favorite burning software. After the burning is finished I verify the files with QuickPar. Copies of the QuickPar recovery files can be stored on separate media if desired. If I do run into any corrupt files, I first use WinRAR to try to repair the bad files. Then I used QuickPar if needed to fix what can't be repaired. I haven't lost a file yet.
For backing up to DVD's, here's a very cruddy, kludgey batch file I threw together:
::
::
::
::
set /a MediaNumber=9
set SourceDir=E:\Other\Paring\Documentaries
set /a DirSizeMB=0
::MediaSizeMB=(4700,8500,25000,50000)
set /a MediaSizeMB=24780
::set /a MediaSizeMB=4956
set /a BlockSize=4*1048576
::
::
::
::
::
set InitalPath=%CD%
cd /D "%SourceDir%"
::Define Date
FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('echo %CDATE%') DO SET dd=%%B
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('echo %CDATE%') DO SET yyyy=%%B
SET PassingDate=%mm%%dd%%yyyy%
::Determine size of SourceDir in Megabytes
for /f "tokens=*" %%a in ('dir /w %1 ^|c:\windows\system32\findstr "File(s)"') do (set info=%%a )
set info=%info:*File(s)=%
set info=%info:bytes=%
set info=%info: =%
set info=%info:,=%
set /a DirSizeMB=%info:~0,-6%+1
set /a ActualPercent=100+MinRecPercent
set /a TotalSizeDataMB=DirSizeMB*ActualPercent/100
set /a PerMediaDataSize=DirSizeMB/MediaNumber
:: -s%BlockSize% - sets the small size of the blocks. In bytes.
:: -c%RecBlockCount% - sets the recovery block count. Derived from RecBlockCount=(MediaSizeMB-DirSizeMB)/BlockSize
:: -u - sets the recovery file size to be uniform
:: -n%RecBlockCount% - sets the number of recovery files, so one block per file
:: -m1000 - sets the ammount of memory to use in MB
:: -v - sets verbose. Remember to append the output to a logfile! -q for quiet
:: -t0 - checksum serially, but create concurrently - best for slow media like USB, -t+ for fast
:: -d%SourceDir%\%1- should set shortname path info, so no quotes needed - removed since it didnt' work
:: -0 for testing - remove when testing complete.
for /L %%G in (1,1,%MediaNumber%) do (call :callingPar2tbb %%G)
goto :AftercallingPar2tbb
:callingPar2tbb
for /f "tokens=*" %%a in ('dir /w "%SourceDir%\%1" ^|c:\windows\system32\findstr "File(s)"') do (set info=%%a )
set info=%info:*File(s)=%
set info=%info:bytes=%
set info=%info: =%
set info=%info:,=%
set /a _DirSizeMB=%info:~0,-6%+1
set /a BlockSizeKB=%BlockSize%/1024
set /a RecBlockSizeMB=MediaSizeMB-_DirSizeMB
set /a RecBlockCount=RecBlockSizeMB*1000/BlockSizeKB
c:\windows\system32\ping 127.0.0.1 > NUL
if RecBlockCount LEQ 0 ((echo %%G: RecBlockCount:%RecBlockCount%, RecBlockSizeMB:%RecBlockSizeMB%, DirSizeMB:%_DirSizeMB%, MediaSizeMB:%MediaSizeMB%, BlockSize:%BlockSize%) & (Goto :END))
start "" /wait /low /min "C:\Program Files\Par2cmd-tbb\par2.exe" c -s%BlockSize% -c%RecBlockCount% -u -n%RecBlockCount% -m1000 -t+ - zzzDVD-%1 "%SourceDir%\%1\*.*" >> "C:\Documents and Settings\jmk-theta\Desktop\ParResults\Par%PassingDate%.txt" 2>&1
c:\windows\system32\ping 127.0.0.1 > NUL
c:\windows\system32\xxcopy.exe "zzzDVD-%1*" "%SourceDir%\%1\" /y0 /mvx /ni /er
ECHO
set /a _DirSize=0
goto :eof
:AftercallingPar2tbb
goto :END
:END
ECHO ---End of Single Dir Run--- >> "C:\Documents and Settings\jmk-theta\Desktop\ParResults\Par%PassingDate%.txt" 2>&1
cd "%SourceDir%\.."
move "%SourceDir%" "%SourceDir% - p"
cd /D %InitalPath%