Menu

CD and DVD archives with Par2

profdredd
2006-12-24
2013-05-23
  • profdredd

    profdredd - 2006-12-24

    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.

     
    • Nobody/Anonymous

      Have you try DVdisaster?  They are pretty about that, free and cross-OS.

      http://dvdisaster.net/en/index10.php

       
    • Nobody/Anonymous

      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.

       
  • Anonymous

    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

    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%

     

Log in to post a comment.