Sophie

Sophie

distrib > Mageia > 7 > i586 > media > core-release > by-pkgid > c806015cfb8b09ded9156630d8372907 > files > 11

backuponcd-0.9.1-18.mga7.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <meta name="generator" content="automaticly generated with debiandoc, wml, perl, tidy (www.w3.org)">

    <title>Backups on CD - Details</title>
    <meta http-equiv="content-type" content="text/html">
    <meta name="author" content="Holger Nassenstein (backups@tuxoncd.de)">
    <meta name="publisher" content="Holger Nassenstein">
    <meta name="copyright" content="Holger Nassenstein">
    <meta name="description" content="This page describes how to generate multi-volume backups on CD-RW. You can download a set of shell scripts which make this very easy.">
    <meta name="Page-Topic" content="Multi-volume Backups On CD, Linux">
    <meta name="KeyWords" content="Backups, CD, Linux, Unix, CD-RW, afio, tar, multi-volume backups, cdrecord, software, hardware, support, help, information, resources, manual, documentation, miniHOWTO, howto, Homepage, download">
    <meta name="Classification" content="Computer, Software, Hardware, Safety, Backups">
    <meta name="page-type" content="Computer, Software, Hardware, Safety, Backups">
    <meta name="robots" content="index, follow">
    <meta name="revisit-after" content="20 days">
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta name="audience" content="Alle, all">
    <link rel="stylesheet" type="text/css" media="screen" href="css_graphics/screen.css">
    <link rel="stylesheet" type="text/css" media="print" href="css_graphics/print.css">
  </head>

  <body bgcolor="#ffffff" text="#000000" link="#ff0000" alink="#0000ff" vlink="#888888">
    <table width="100%">
      <colgroup span="3">
      </colgroup>

      <tr>
        <td width="7%">
        </td>

        <td>
          <img src="css_graphics/imgdot-1x1-red.gif" width="100%" height="1" alt="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
          <br>

          <table>
            <colgroup span="5">
            </colgroup>

            <tr>
              <td>
<script type="text/javascript" language="JavaScript">
<!-- Hiding the code
function ro_imgNormal(imgName) {
    if (document.images) {
        document[imgName].src = eval(imgName + "_n.src");
        self.status = '';
    }
}
function ro_imgOver(imgName, descript) {
    if (document.images) {
        document[imgName].src = eval(imgName + "_o.src");
        self.status = descript;
    }
}
// done hiding -->
</script>
                 
<script type="text/javascript" language="JavaScript">
<!-- Hiding the code
if (document.images) {
    ro_img_unknown1_n = new Image();
    ro_img_unknown1_n.src = "css_graphics/previous.gif";
    ro_img_unknown1_o = new Image();
    ro_img_unknown1_o.src = "css_graphics/previous_hl.gif";
}
// done hiding -->
</script>
                 <a href="ch-quick.html" onmouseover="ro_imgOver(&#39;ro_img_unknown1&#39;, &#39;previous&#39;); return true" onmouseout="ro_imgNormal(&#39;ro_img_unknown1&#39;); return true"><img name="ro_img_unknown1" src="css_graphics/previous.gif" alt="previous" width="86" height="27" border="0"></a>
              </td>

              <td>
<script type="text/javascript" language="JavaScript">
<!-- Hiding the code
if (document.images) {
    ro_img_unknown2_n = new Image();
    ro_img_unknown2_n.src = "css_graphics/abstract.gif";
    ro_img_unknown2_o = new Image();
    ro_img_unknown2_o.src = "css_graphics/abstract_hl.gif";
}
// done hiding -->
</script>
                 <a href="index.html#abstract" onmouseover="ro_imgOver(&#39;ro_img_unknown2&#39;, &#39;Abstract&#39;); return true" onmouseout="ro_imgNormal(&#39;ro_img_unknown2&#39;); return true"><img name="ro_img_unknown2" src="css_graphics/abstract.gif" alt="Abstract" width="85" height="24" border="0"></a>
              </td>

              <td>
<script type="text/javascript" language="JavaScript">
<!-- Hiding the code
if (document.images) {
    ro_img_unknown3_n = new Image();
    ro_img_unknown3_n.src = "css_graphics/copyright_notice.gif";
    ro_img_unknown3_o = new Image();
    ro_img_unknown3_o.src = "css_graphics/copyright_notice_hl.gif";
}
// done hiding -->
</script>
                 <a href="index.html#copyright" onmouseover="ro_imgOver(&#39;ro_img_unknown3&#39;, &#39;Copyright&#39;); return true" onmouseout="ro_imgNormal(&#39;ro_img_unknown3&#39;); return true"><img name="ro_img_unknown3" src="css_graphics/copyright_notice.gif" alt="Copyright" width="154" height="28" border="0"></a>
              </td>

              <td>
<script type="text/javascript" language="JavaScript">
<!-- Hiding the code
if (document.images) {
    ro_img_unknown4_n = new Image();
    ro_img_unknown4_n.src = "css_graphics/contents.gif";
    ro_img_unknown4_o = new Image();
    ro_img_unknown4_o.src = "css_graphics/contents_hl.gif";
}
// done hiding -->
</script>
                 <a href="index.html#contents" onmouseover="ro_imgOver(&#39;ro_img_unknown4&#39;, &#39;Contents&#39;); return true" onmouseout="ro_imgNormal(&#39;ro_img_unknown4&#39;); return true"><img name="ro_img_unknown4" src="css_graphics/contents.gif" alt="Contents" width="87" height="25" border="0"></a>
              </td>

              <td>
<script type="text/javascript" language="JavaScript">
<!-- Hiding the code
if (document.images) {
    ro_img_unknown5_n = new Image();
    ro_img_unknown5_n.src = "css_graphics/next.gif";
    ro_img_unknown5_o = new Image();
    ro_img_unknown5_o.src = "css_graphics/next_hl.gif";
}
// done hiding -->
</script>
                 <a href="ch-settings.html" onmouseover="ro_imgOver(&#39;ro_img_unknown5&#39;, &#39;next&#39;); return true" onmouseout="ro_imgNormal(&#39;ro_img_unknown5&#39;); return true"><img name="ro_img_unknown5" src="css_graphics/next.gif" alt="next" width="48" height="23" border="0"></a>
              </td>
            </tr>
          </table>
          <img src="css_graphics/imgdot-1x1-red.gif" width="100%" height="1" alt="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
          <br>
           

          <div class="center">
            <table class="h1" border="0" cellspacing="0" cellpadding="5" width="90%">
              <tr>
                <td class="h1">&nbsp;&nbsp;Backups on CD
                <br>
                 Chapter 3 Details</td>
              </tr>
            </table>
          </div>
          <img src="css_graphics/imgdot-1x1-red.gif" width="100%" height="1" alt="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
          <br>
           

          <h2><a name="s3.1">3.1 The Burning Process</a></h2>

          <p>I think the easiest way to learn about this is to have a look on the source.</p>

          <p>If you don&#39;t understand how it works please don&#39;t email me. Learn more about sh, tar, baseutils and cdrecord.</p>

          <p>Assume that tar is invoked as followed:</p>

          <table width="90%">
            <tr>
              <td class="pre">
<pre>
     mkfifo fifo
     tar -cpvz -X $excludelist --file=fifo * &amp;
</pre>
              </td>
            </tr>
          </table>

          <br>
          <br>
           <img src="css_graphics/imgdot-1x1-red.gif" width="100%" height="1" alt="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
          <br>
           

          <h2><a name="s3.2">3.2 <code>toast.sh $params fifo</code></a></h2>

          <table width="90%">
            <tr>
              <td class="pre">
<pre>
     if test &quot;$1&quot;; then
     # &gt; 0?
       source $1
     else
       exit 1
     fi
     
     mkdir $toast_dir
     let count=tracks
     
     for i in {0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9}; do
       dd of=$archive.$i bs=1k count=$(expr $tracksize \* 1024)
         wait
       if ! test -s &quot;$archive.$i&quot; &amp;&amp; ! test -e &quot;$toast_dir/$arch_name.*&quot;; then
         # file existists but has length of null bytes: finished
         rm $archive.$i
         $ejectcmd &gt; /dev/null 2&gt;&amp;1
         break
       else
         if test $(expr $i % $count) -eq 0; then
           if test $(expr $i) -gt 0; then
             $ejectcmd &gt; /dev/null 2&gt;&amp;1
             echo -e &quot;\a\nPlease change the disk. Insert volume $(expr $i / $count + 1) and press any key to continue.&quot; &gt; /dev/tty
             read ans &lt; /dev/tty
           fi
           let count=tracks
           if test -e &quot;$toast_dir/$arch_name.*&quot;; then
           # Last CD &#39;lost&#39; one Track
             let count-=1
           fi
           volid=&quot;-V $volume_name$(expr $i / $count + 1)&quot;
           vol=&quot;-volset $(expr $i / $count + 1)&quot;
           touch $toast_dir/&quot;$volume_name$(expr $i / $count + 1)&quot;
           blank=&quot;-blank=fast&quot;
           multiinfo=&quot;&quot;
         else
           volid=&quot;&quot;
           vol=&quot;&quot;
           blank=&quot;&quot;
           let rec=1
           while test $rec -ne 0; do
             multiinfo=&quot;-C $(cdrecord $dev -msinfo) -M $rawdevice&quot; 2&gt;&gt; $logfile
             rec=$?
           done
         fi
     
         mv $archive.$i $toast_dir
         if test $(expr $(ls -s $toast_dir/$arch_name.$i | awk &#39;{ print $1 }&#39;) / 1024) -lt $tracksize; then
           touch $toast_dir/$end_mark
         fi
     
         mkimg=&quot;mkisofs -r -J&quot;
         tsize=&quot;$($mkimg -q -print-size $toast_dir 2&gt;&amp;1 | tail -n 1 | awk &#39;{print $NF}&#39;)&quot;s
         ( nice -n -10 $mkimg -L $vol $volid $multiinfo $toast_dir | cdrecord -v $dev $devdepend $blank -multi tsize=$tsize - &amp;&amp; rm $toast_dir/* ) 2&gt;&gt; $logfile &amp;
       fi
     done
</pre>
              </td>
            </tr>
          </table>

          <br>
          <br>
           <img src="css_graphics/imgdot-1x1-red.gif" width="100%" height="1" alt="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
          <br>

          <table>
            <colgroup span="5">
            </colgroup>

            <tr>
              <td>
<script type="text/javascript" language="JavaScript">
<!-- Hiding the code
if (document.images) {
    ro_img_unknown6_n = new Image();
    ro_img_unknown6_n.src = "css_graphics/previous.gif";
    ro_img_unknown6_o = new Image();
    ro_img_unknown6_o.src = "css_graphics/previous_hl.gif";
}
// done hiding -->
</script>
                 <a href="ch-quick.html" onmouseover="ro_imgOver(&#39;ro_img_unknown6&#39;, &#39;previous&#39;); return true" onmouseout="ro_imgNormal(&#39;ro_img_unknown6&#39;); return true"><img name="ro_img_unknown6" src="css_graphics/previous.gif" alt="previous" width="86" height="27" border="0"></a>
              </td>

              <td>
<script type="text/javascript" language="JavaScript">
<!-- Hiding the code
if (document.images) {
    ro_img_unknown7_n = new Image();
    ro_img_unknown7_n.src = "css_graphics/abstract.gif";
    ro_img_unknown7_o = new Image();
    ro_img_unknown7_o.src = "css_graphics/abstract_hl.gif";
}
// done hiding -->
</script>
                 <a href="index.html#abstract" onmouseover="ro_imgOver(&#39;ro_img_unknown7&#39;, &#39;Abstract&#39;); return true" onmouseout="ro_imgNormal(&#39;ro_img_unknown7&#39;); return true"><img name="ro_img_unknown7" src="css_graphics/abstract.gif" alt="Abstract" width="85" height="24" border="0"></a>
              </td>

              <td>
<script type="text/javascript" language="JavaScript">
<!-- Hiding the code
if (document.images) {
    ro_img_unknown8_n = new Image();
    ro_img_unknown8_n.src = "css_graphics/copyright_notice.gif";
    ro_img_unknown8_o = new Image();
    ro_img_unknown8_o.src = "css_graphics/copyright_notice_hl.gif";
}
// done hiding -->
</script>
                 <a href="index.html#copyright" onmouseover="ro_imgOver(&#39;ro_img_unknown8&#39;, &#39;Copyright&#39;); return true" onmouseout="ro_imgNormal(&#39;ro_img_unknown8&#39;); return true"><img name="ro_img_unknown8" src="css_graphics/copyright_notice.gif" alt="Copyright" width="154" height="28" border="0"></a>
              </td>

              <td>
<script type="text/javascript" language="JavaScript">
<!-- Hiding the code
if (document.images) {
    ro_img_unknown9_n = new Image();
    ro_img_unknown9_n.src = "css_graphics/contents.gif";
    ro_img_unknown9_o = new Image();
    ro_img_unknown9_o.src = "css_graphics/contents_hl.gif";
}
// done hiding -->
</script>
                 <a href="index.html#contents" onmouseover="ro_imgOver(&#39;ro_img_unknown9&#39;, &#39;Contents&#39;); return true" onmouseout="ro_imgNormal(&#39;ro_img_unknown9&#39;); return true"><img name="ro_img_unknown9" src="css_graphics/contents.gif" alt="Contents" width="87" height="25" border="0"></a>
              </td>

              <td>
<script type="text/javascript" language="JavaScript">
<!-- Hiding the code
if (document.images) {
    ro_img_unknown10_n = new Image();
    ro_img_unknown10_n.src = "css_graphics/next.gif";
    ro_img_unknown10_o = new Image();
    ro_img_unknown10_o.src = "css_graphics/next_hl.gif";
}
// done hiding -->
</script>
                 <a href="ch-settings.html" onmouseover="ro_imgOver(&#39;ro_img_unknown10&#39;, &#39;next&#39;); return true" onmouseout="ro_imgNormal(&#39;ro_img_unknown10&#39;); return true"><img name="ro_img_unknown10" src="css_graphics/next.gif" alt="next" width="48" height="23" border="0"></a>
              </td>
            </tr>
          </table>
          <img src="css_graphics/imgdot-1x1-red.gif" width="100%" height="1" alt="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
          <br>
           Backups on CD
          <br>
           

          <table width="100%">
            <tr>
              <td>
                <address>
                  17 April 2000
                  <br>
                   Holger Nassenstein <code><a href="mailto:backups@tuxoncd.de">backups@tuxoncd.de</a></code>
                </address>
              </td>

              <td align="right"><a href="http://www.anybrowser.org/"><img src="css_graphics/biga.gif" border="0" alt="ANY Browser Campaign: http://www.anybrowser.org/" width="88" height="31"></a></td>
            </tr>
          </table>
        </td>

        <td width="7%">
        </td>
      </tr>
    </table>
  </body>
</html>