home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GEMini Atari
/
GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso
/
files
/
diskutil
/
dbackup
/
dbackup.man
next >
Wrap
Text File
|
1993-08-03
|
15KB
|
291 lines
NAME
dbackup - a backup program for people with removable hard disks
SYNOPSIS
dbackup [options] [source] [destination]
dbackup [-fhktvy] [-[o|x] <suffixes>] [source] <destination>
dbackup [-l <format>] [-fhvy] [-[o|x] <suffixes>] [source]
dbackup [-a <utility> <line>] [-r <size>] [-efhkvy] [source] <destination>
dbackup [-[c|s|m]fhvy] [-[o|x] <suffixes>] [source]
dbackup [-b <mode>]
DESCRIPTION
dbackup is a program primarily targetted at people who have relatively
large removable medias. Normally, a backup program is often dedicated for
a specific removable media which, in face of evolution, at some time from
the point of design and creation cannot support a new media. What I'm
particulary refering to is, of course, backup programs relying totally on
floppy disks. Since this was one of the objectives with this project, I
have tried to eliminate any such dependencies and it should work on any
media that I know of. It has been tried with mixes of hard disks,
floppies, and a 10 Mbyte removable floppy disk unit (a Supra FD-10 based
on a Konica mechanism). In respect with this specification, this program
now have many similarites to simple copy statements found in most shells
and command line interpreters, indeed it does work best if called from
such an environment, but it may be used from the GEM desktop without
problems.
As seen above in the synopsis there is 4 versions of the command line,
each of which is a derivate of the first general synopsis. The 4 versions
are shown since, depending upon which options are chosen, some arguments
are required to be specified, most notably the requirement of the {source}
and {destination} arguments wary. It should also be noted that limited
checking is performed on the mixes of options - so care should be taken
not to specify contradictory options.
In the synopsis {source} specify where the directories and files to backup
are located and {destination} specify where files, which match backup
criteria, are to be copied to. If copying is to be done, during a backup
session, a check is always made to ensure that neither of these arguments
are equal as well as throughout the session. This means that {destination}
may be a sub-directory of the {source} directory and that this program
will not hang due to an endless copying loop.
The default mode of this program is incremental backup, ie. only files
which has been written match backup criteria. For this purpose the state
of the "archive" flag is checked upon and if set files are copied. A flag
is also available if a full backup is desired.
OPTIONS
-a <utility> <line>
backup files via an archive utility (see ARCHIVE UTILITIES)
This option also needs two additional arguments, {utility, line}:
utility is the filename of the archive utility to be used
line is the format of the command line
-b <mode>
batch mode, in this mode it tries to find a definition of what is to
be done in this mode in a file called dbackup.inf
(see below for a description on how to make definition)
-c [source]
clear archive flag status on all files without copying files.
It does not need a {destination} argument.
-e
use extended command lines to get higher performance when calling
archive utilities
-h
hold screen after backup, Primarily useful when called from the GEM
desktop.
-f
full backup, ignores the archive flag and copies everything
-k
keep archive flag status on source files
-l <format>
A list is produced of files to backup. The list format is specified
using the compulsory {format} (see LIST FORMAT) argument. The list is
sent to a file in the current working directory, called "dbackup.xxx".
It does not need a {destination} argument.
-m [source]
mark files for backup (ie. set archive flag on all files)
It does not need a {destination} argument.
-o <suffixes>
copy only files which have any of the defined suffixes. The suffixes
to be copied is specified by {suffixes}. If the list is started with a
dot ("."), files which do not have a suffix is also copied. Suffixes
in the list are delimited by dots eg. bak.tmp would copy the files
ending with ".bak" or ".tmp".
-r <size>
This option is only useful when the "-a" option has been specified.
The argument {size} (Kbytes) specifies how large an archive may
become. Any files larger than the specified size will be skipped, so
the algorithms do not try to estimate the compression rate, but are
rather conservative in their assumptions. Also, it assumes that an
archive may be duplicated on the destination drive, so it may be that
you end up with archives 50% smaller if free space on the destination
media is scarce. The algorithm, being conservative, in this way
ensures that no "out of memory" problems occurs and that archives
won't become larger than the specified size, provided that, if for
instance compression is performed, an archived file is not larger than
it was originally. Normally archived files will be significantly
smaller.
-s [source]
This gives you a report on how much memory is needed in order to
perform a backup. It does not need a {destination} argument.
-t
Normally files copied to the destination media will inherit the date &
time stamp from the original. This option overrides this by stamping
files with the date & time when the backup was invoked.
-v
verbose mode, normally progress reporting will overwrite itself, but
with this option it will scroll for every sub-directory found in the
source path as well as inform you of the free internal memory left in
your machine, which is useful if you suspect that an archive utility
is stealing memory which might cause the machine to hang if a large
filesystem is being searched.
-x <suffixes>
This option will exclude suffixes specified by the argument
{suffixes}. If the list is begun with a dot ("."), files which do not
have a suffix will also be excluded. Suffixes in this list are
delimited by dots eg. bak.tmp would exclude files foo.bak and foo.tmp
-y
backup root only, skip sub-directories
LIST FORMAT
The {format} argument used whenever the "-l" option is specified defines
what the list is to be composed by:
a file attributes (4 character number)
d file modify date (6 characters eg. 910730)
f filename (path + node + suffix)
n node (node + suffix excluding path)
p path (path to file)
s size of file (number)
t file modify time (6 characters eg. 235700)
u unix modify time (seconds since 1 Jan 1970)
x default list (same as -f)
ARCHIVE UTILITIES
When using the Archive utility option you have to specify the filename of
the archive utility, with the {utility} argument. You also have to specify
the way dbackup should call the archive utility, which is specified with
the {line} argument. When specifying this tilde "~" is used as a special
formating sequence, which is listed below:
~a<xxx>
expands to the runtime archive name with a suffix defined by {xxx}
eg. "~alzh" would expand to an archive filename with a suffix
".LZH". {xxx} must not contain a leading dot.
~f expands to the files to be backup:ed
~~ expands to a single tilde (~)
Please note that the {line} argument must be a single one which means that
if it contains spaces, the argument must be within quotes.
Arhive filenames names will be in the form:
DBAK????.xxx
where ???? denote a decimal sequence number. The sequence number will
usually starts at 0001 or the next sequence number found in the
corresponding sub-directory on the destination media of the source
sub-directory.
Normally when an archive utility error occurs, dbackup will report that
files have been skipped due to an archive error and the archive flag of
these files will be untouched. If such an error occurs it is necessary to
run dbackup again, or otherwise the backup will not be complete.
Since some archive utilities may introduce errors in a previous archive
when an error occurs when it is trying to add files, I decided that if you
had instructed dbackup to do a FULL BACKUP the sequence number will be
increased between every call to the archive utility. This means that this
problem will not occur during such sessions, but they still can happen if
you're doing INCREMENTAL BACKUP.
Below I list some {line} arguments for some of the common archive
utilities in use:
zoo V2.1: "ah: ~azoo ~f"
lharc V2.01b: "a -a+ ~alzh ~f"
Since ARC doesn't like hidden or system files it is not possible to use
this utility. This problem also exists with some versions of LHarc. I also
recommend users of LHarc V2.01b to restrict sizes of archives to below
800Kbytes or so, because when I was testing this utility with dbackup I
found that LHarc V2.01b suddenly doubled the size of an archive when it
reached the 1Mbyte mark. When using dbackup with "-r720", though, I did
not encounter this problem.
Warning! Please ensure that the partition which your archiver use as a
temporary storage have enough memory free to hold the temporary
files - otherwise the archiver may go nuts!
INFO FILE DESCRIPTION
You can instead of supplying all the options to dbackup make a file called
"dbackup.inf" which defines what to do. It is possible to define any number
of operating modes this way and it is quite a lot easier, especially if
you run dbackup from the desktop or from a chaotic shell, to use dbackup
with such a definition. Modes are invoked by using the command line switch
"-b". Below is a description of what to put in the info file:
Definition: Description:
mode=<name> user-defined name by which you invoke this entry (-b)
opmode=<name> name should be one of the following below:
normal normal mode (copy from source to destination)
(destination directory must be defined)
size report size that a backup will take (-s)
clear clear archive flag (-c)
mark set archive flag on files (-m)
list list files which have the archive flag set (-l)
arc use an archive utility when doing a backup (-a)
(destination, arcutil and arcline must be defined)
source=<dir> defines source directory (can be omitted)
destination=<dir> destination directory (normal and arc opmodes)
arcutil=<name> name of archive utility to use (-a)
arcline=<line> line to send to archive utility (-a)
arcxargs= archive utility can handle extended command lines (-e)
restrict=<size> defines maximum size of archives (-r)
list=<format> list format to use (-l)
fullbackup= backup all files (-f)
keepstatus= do not clear archive flag after backup (-k)
holdscreen= hold screen before exiting (-h)
timefiles= set the time on destination copies (-t)
verbose= verbose mode (-v)
rootonly= backup root only, skip sub-directories (-y)
copyonly=<suffixes> copy only defined suffixes (-o)
skip=<suffixes> skip defined suffixes (-x)
Everything after the definition "mode" describes what to do for that
particular mode until dbackup finds a new "mode" definition (ie. modes are
separated with the "mode" definition).
Please note that a valid definition must have a '=' after its keyword and
that no spaces should come after the '=' if a definition should follow.
Comments can be added after semi-colons (';')
INFO FILE EXAMPLES
Below is an example of a "dbackup.inf" file:
mode=fsize ; get size report for file size backup
opmode=size
source=c:\
fullbackup=
mode=full ; full backup
opmode=normal
source=c:\
destination=h:\c
fullbackup=
mode=phase1
opmode=arc
source=c:\
destination=h:\c
arcutil=c:\bin\zoo.ttp
arcline="ah: ~azoo ~f"
arcxargs=
skip=zoo.zip.arc.lzh.arj.z.bak ; no use trying to compress the compressed
mode=phase2
opmode=normal
source=c:\
destination=h:\c
copyonly=zoo.zip.arc.lzh.arj.z ; now do a normal copy of the compressed
RESTRICTED LICENCE
See the "LICENCE" file for details
BUGS
When using dbackup to copy files it doesn't try to copy as much as
possible to a disk before it asks the user to swap disks, which means that
you probably have to cycle through disks whenever prompted to swap disks.
Users who want to store backups on 720 Kbyte disks are therefore
recommended to use a dedicated floppy disk backup program eg. Turtle.
This problem is not present when using the "-a" option, though.
If you plan to use this program with the "-a" option I recommend that you
use "-x" to exclude all files with suffixes known to indicate compressed
archives ie. ".ARC", ".LZH" etc and with a second pass use the "-o" with
the same list to copy the files. This will speedup the backup process
considerably! Also, when about to do a FULL BACKUP, it is probably best to
"-m" mark source files before backing them up so that if a fatal error
occurs you can simply re-start the process, otherwise it would be rather
difficult to know which files were archived and which were not.
When using the batch mode, the "mode" keyword must be written in lower-case
whereas all other keywords can be mixed upper-/lower-case.
AUTHOR
Andrew Olausson, Gothenburg, Sweden
FIDONET: 2:203/203.2
INTERNET: dxper@dtek.chalmers.se
INTERNET: pa-ola@proxxi.se