MakeCD_DirList
==============
PURPOSE
Ever tried to backup a complete partition or directory on a
(re)writeable CD? You got no errors during ISO image creation? You
are a lucky one, because ...
... I got problems. I am using (soft) links on my partitions and
MakeCD terminates the ISO image creation if it detects a link. The
only thing I can do is building a file list without the link
entries. Thats the main purpose of this program.
You might say 'thats no real backup, because the links are
missing!'. Yes, you are right. Unfortunately this isn't the only
problem: Files listed in file lists got no protection bits, no
timestamps for directories and no file comments in the resulting
ISO image (refer to the documentation of MakeCD if you can't
believe it). When e.g. making a backup from your YAM emails, you
will loose your mail status flags that are stored in file comments
(my AsimCDFS doesn't retrieve them).
So I invented a separate file which is finally a AmigaDOS script
that sets the protection bits, updates the timestamps and writes
file comments. This script file is stored in the main directory you
will backup.
You will also be warned if there are read protected files, because
MakeCD will not be able to read these files for backup. Its your
turn to change the read protection for yourself.
HISTORY
v1.0:
- First Release
INSTALL
Simply unpack the archive to anywhere you want. I prefer to copy
the executable to C:.
REQUIREMENTS
- OS 3.0
- MakeCD if you intend to backup the listed files to CD
USAGE
The template is
STARTDIRECTORY=DIR/A,PREFIX=PRE,PROGRESSBAR=BAR/S
You always have to provide the directory from where you want to
build up the file list. The parameter PREFIX allowes making a
subdirectory in your ISO image to avoid mixing several file lists
in one ISO image. The PREFIX parameter must have a trailing '/'
(which will not be checked at the moment)! Finally the PROGRESSBAR
switch turns on a simple directory level progress bar.
The file list will be written to STDOUT, mainly your Shell window.
Thus you must redirect the output to a file if MakeCD should use
it. The progress bar and the final report is written to STDERR.
The additional script, created by MakeCD_DirList, will be written
in the directory specified by DIR with the filename
".amiga_makecd_update".
The generated script can contain the usual SETDATE, PROTECT,
FILENOTE and MAKELINK commands. It depends on the files and
directories:
SETDATE
set only for directories, because MakeCD handles file entries
correctly
PROTECT
always set for directories and only set for files if other
flags as RWED are used
FILENOTE
always set for files and directories
MAKELINK
always set for each found link. Broken links are stored too,
but they were commented out by ';'. To search for them,
simply use SEARCH with the keyword ";MAKELINK".
If you intend to backup the CD data to another directory, you
simply need to copy the full data to that directory and call the
script .amiga_makecd_update in this directory. Thats all.
EXAMPLE
I want to backup my YAM directory to CD:
MakeCD_DirList YAM: YAM/ >ram:YAM_directory
This would scan YAM: and its subdirectories. The 'YAM/' is the
prefix for the resulting ISO image, that means every scanned entry
is located in a directory called YAM on CD. Finally the file list
for MakeCD is redirected to ram:YAM_directory.
After processing the above example would return in the Shell
window:
45 dirs (2 empty),
3509 files (0 read protected, 95421168 bytes),
1 good and 0 bad links processed (0 unknown).
The file ".amiga_makecd_update" in the directory YAM: now contains
for example:
SETDATE "log" 01-Dez-99 19:55:56
SETDATE "Draft" 25-Dez-99 16:06:06
SETDATE "Icons_PL" 10-Jul-99 13:19:02
FILENOTE "Icons_PL/YAMPLIcons.readme" "YAM Prolite Icons"
SETDATE "Catalogs" 11-Jun-99 16:52:01
SETDATE "Catalogs/deutsch" 10-Jul-99 13:10:56
SETDATE "Icons_NI" 10-Jul-99 13:20:19
MAKELINK "Icons" "INTERNET:Programme/YAM/Icons_NI" SOFT
SETDATE "Icons_MWB" 25-Apr-99 12:30:38
FILENOTE "Icons_MWB/status_group" "Mario Cattaneo <cattaneo@CoLi.Uni-SB.DE>"
...
SETDATE "news" 25-Apr-99 12:31:38
SETDATE "misc" 25-Dez-99 19:12:26
PROTECT "misc/look4mail.sh" srwed
PROTECT "misc/correctAddress.sh" srwd
PROTECT "misc/viewLhA.sh" srwd
SETDATE "temp" 27-Dez-99 10:23:19
The resulting file list file ram:YAM_directory contains for
example:
INTERNET:Programme/YAM/log/YAM-Dec1999.log::YAM/log/YAM-Dec1999.log
INTERNET:Programme/YAM/log/YAM-Jan1999.log::YAM/log/YAM-Jan1999.log
INTERNET:Programme/YAM/log/YAM-Feb1999.log::YAM/log/YAM-Feb1999.log
...
INTERNET:Programme/YAM/.folders::YAM/.folders
INTERNET:Programme/YAM/YAM20P6.lha::YAM/YAM20P6.lha
INTERNET:Programme/YAM/YAM20P7.lha::YAM/YAM20P7.lha
INTERNET:Programme/YAM/arexx_commands.txt.info::YAM/arexx_commands.txt.info
INTERNET:Programme/YAM/temp::YAM/temp
This file is used for MakeCD to generate the ISO image.
Remember: You have to make read protected files readable for
MakeCD, because MakeCD doesn't change anything on files and
directories. Avoid backupping image files MakeCD generates, because
they are in use by MakeCD and can't be read by it for ISO image
creation.
If you want to copy the CD contents to another directory some years
later, you simply need to copy the CD directory to destination
with:
copy CD0:YAM SOMEWHERE: clone
After that change to the destination directory
cd SOMEWHERE:
and then call
execute .amiga_makecd_update
Finished.
BUGS
At the moment there is none I believe and bug reports are always
welcome.
DISCLAIMER
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
MISC
Suggestions and bug reports are welcome. I am going to improve the
little tool with some more preferences like deny lists (directories
that should not be backuped) and so on. Be patient.
I have added the source to the archive. Feel free to use the code
unless my copyright notice always is attached to.
CONTACT
Ralph Reuchlein <aminet@rripley.de>
[updated 30-May-2020 because neither address nor email was valid]
|