Beta Testers Wanted!
I have a working and pretty well tested collection of programs designed
to allow full backup/restore functionality to openQM.
The programs offered here are meant to be used with openQM 2.2.0 which
may be downloaded from http://www.openqm.org/
or for PPC (and Intel) above. The README file is reproduced at the right
and you may download the programs here.
Your testing, suggestions and comments will be welcome. A list of planned
enhancements that I would like to implement as soon as the time is
available:
- Multi-Reel support. The beginnings are at hand, soon I hope to be
able to assign a volume size (1.44mb; 640mb; 4.77gb; etc) and the
system will increment image names (backup01, backup02, etc.). these
images could then be written to appropriate media by a system
program (dd, mkisofs/cdrecord, etc.).
- On the fly compression. MV data is usually mostly text, this could
save large amounts of space.
- Additional programs to recursively call ACCOUNT-SAVE and ACCOUNT-RESTORE
to perform full FILE-SAVE and RESTORE. These should be pretty simple
to implement ... just a matter of making the time.
- Your suggestions are welcome. My goals have been to create a
functional backup and restore system as well as something that will
allow me to import data and accounts from PICK systems. So I am
getting close to fulfilling my own needs.
Many thanks to Martin and
Doug for making this great open
source project possible.
|
A new suite of programs for openQM to facilitate and perform backup and
restore functions. As of 06 August 2005 these programs are functional but
are considered beta software.
To install this package into openqm-2.2.0:
Download the tarball into the qmsys directory (assumed here to be /usr/qmsys):
# cd /usr/qmsys
# wget http://www.blackflute.com/set-device.tgz
Back up SYSCOM/PARSER.H:
# mv SYSCOM/PARSER.H SYSCOM/PARSER.H.bak
Unpack the distribution:
# tar zxvf set-device.tgz
BP/ACCRST
BP/ACCSVE
BP/SETDEV
BP/TAPE
BP/tape.h
SYSCOM/PARSER.H
set-device.dump
README.set-device
#
Log into openQM, load the VOC entries and compile the programs:
# bin/qm
: T-LOAD VOC set-device.dump OVERWRITING
ACCOUNT-RESTORE - 14
ACCOUNT-SAVE - 14
ACCOUNT.RESTORE - 14
SET-DEVICE - 12
SET.DEVICE - 12
T-DET - 12
T-DUMP - 14
T-EOD - 12
T-FWD - 12
T-LOAD - 14
T-RDLBL - 12
T-READ - 12
T-REW - 12
T-STATUS - 12
T-WEOF - 12
: T-LOAD NEWVOC set-device.dump OVERWRITING
ACCOUNT-RESTORE - 14
ACCOUNT-SAVE - 14
ACCOUNT.RESTORE - 14
SET-DEVICE - 12
SET.DEVICE - 12
T-DET - 12
T-DUMP - 14
T-EOD - 12
T-FWD - 12
T-LOAD - 14
T-RDLBL - 12
T-READ - 12
T-REW - 12
T-STATUS - 12
T-WEOF - 12
: BASIC BP ACCRST ACCSVE SETDEV TAPE
{ ... compiler output with some warnings ...}
Now that the new programs are installed, load any messages that might (will) be
missing:
: SET-DEVICE set-device.dump
[7536] Message not found
:T-RDLBL
L 01F4 10:49:40 06 AUG 2005 VOC 01
[7527] Message not found
:T-FWD
[7527] Message not found
[7524] Message not found
:T-RDLBL
[7527] Message not found
[7524] Message not found
:T-RDLBL
L 01F4 10:50:09 06 AUG 2005 MESSAGES 01
[7527] Message not found
:T-LOAD MESSAGES
7520 exists on file.
1 7532 - 15
2 7528 - 15
3 7524 - 12
4 7536 - 13
5 7538 - 13
6 7526 - 23
7 7530 - 15
8 7522 - 21
9 7534 - 15
10 7525 - 15
11 7537 - 64
12 7529 - 15
13 7533 - 15
14 7521 - 61
15 7523 - 23
16 7535 - 28
17 7531 - 15
18 7527 - 15
7504 exists on file.
{ ... }
7515 exists on file.
18 items loaded into MESSAGES
You should now have the current (06 Aug 2005) tape handling, backup and restore
systems installed and running. I think that Martin is keeping the documentation
up to date with the latest releases at: http://www.openqm.com/downloads.htm
under 'Command Reference Guide'. The documentation might be a little out of sync
with this release.
NOTES:
Above, the 'T-LOAD' verb has been shipped with openQM 2.2.0 and can be used
to load the T-DUMP of the new verb definitions into the VOC (and NEWVOC if you
wish them to become part of new accounts).
The versions of T-LOAD and T-DUMP shipped with openQM 2.2.0 require two
arguments: The name of the openQM file being DUMPed or LOADed and the name of
the O/S file that will act as the pseudo tape device.
After loading and compiling the SET-DEVICE suite, these requirements will
change and only the openQM {DICT} file name will be required. The name of the
tape 'device' will be handled by the SET-DEVICE set of programs. If a device
is attached when one of these commands is issued, it is used. If no device is
attached the user is prompted for a name and SET-DEVICE is called.
This is a large improvement in functionality particularly for the T-DUMP and
T-LOAD functions because it allows multiple file DUMPs and LOADs to one 'tape'.
In the previous approach, each time that the command was issued the pseudo
tape would be 'rewound' and would always be set to the beginning of the file
so that doing something like:
: T-DUMP DICT SOMEFILE /home/me/some.dump
: T-DUMP SOMEFILE /home/me/some.dump
: T-DUMP DICT OTHERFILE /home/me/some.dump
: T-DUMP OTHERFILE /home/me/some.dump
Would result in the pseudo tape containing only the data from 'OTHERFILE'. With
the SET-DEVICE suite, one can accomplish what was desired above:
: SET-DEVICE /home/me/some.dump
: T-DUMP DICT SOMEFILE
: T-DUMP SOMEFILE
: T-DUMP DICT OTHERFILE
: T-DUMP OTHERFILE
: T-REW
: T-DET
The SET-DEVICE suite opens (or creates) the pseudo tape file and maintains
pointers that last the life of the login session or until explicitly released
using the 'T-DET' command. In the above example after the dictionary items for
'SOMEFILE' are dumped, the pointer remains at the end of the dictionary dump.
When the data portion is dumped it is placed after the dictionary items and so
on.
This file (/home/me/some.dump) could be taken to another system via ftp, e-mail
or whatever, then loaded into the other system:
: SET-DEVICE /home/you/some.dump
: T-REW
: T-RDLBL
L 01F4 14:23:16 16 JUN 2005 DICT SOMEFILE 01
: CREATE-FILE SOMEFILE
: T-LOAD DICT SOMEFILE
: T-RDLBL
Block size: 500
End of file.
: T-RDLBL
L 01F4 14:23:16 16 JUN 2005 SOMEFILE 01
: T-LOAD SOMEFILE
In the above example, we peeked at the tape label to see what it contained.
With that information we created the new file. Note that the tape does not
rewind but remains at the beginning of the dictionary dump. The dictionary
items are loaded, then T-RDLBL is used again to determine the next contents of
the tape and so on.
The commands available in this suite are:
ACCOUNT-SAVE account_name
Performs an R83/AP/D3 compatible ACCOUNT-SAVE of account_name.
ACCOUNT-RESTORE account_name
Restores from an R83/AP/D3 compatible ACCOUNT-SAVE.
T-DUMP {DICT} file_name
Dumps the contents of a file to pseudo tape image.
T-LOAD {DICT} file_name
Loads from a T-DUMP image.
SET-DEVICE /path/to/pseudo_tape_file
Attaches to or creates and attaches the openQM session to a pseudo tape image.
The user running the openQM process must have read and write permissions on
this file. If simply restoring or loading (and assuming the file exists) then
only read permissions are required.
T-REW
Rewinds the attached pseudo tape to its beginning.
T-RDLBL
Reads the label of pseudo tape.
T-READ
Reads the attached tape image a block at a time. Normal system pagination is in
effect.
T-FWD
Skip to next End Of File (EOF) marker.
T-EOD
Skip forward to End of Recorded Data (EOD).
T-STATUS
Displays status of attached tape including block size, device name, pointer
information, EOF and EOD status.
T-WEOF
Writes EOF marker at current tape position.
T-DET
Detaches currently attached tape.
COMPATIBILITY NOTES:
The pseudo tape images created and read by these programs are referred to as
'R83/AP/D3 Compatible'. There are two caveats to this:
1. Only the 500 byte 'floppy' block size is supported.
2. Not fully R83 compatible in that attribute<8> of FDI's is used to contain
B-Tree index information a la AP and D3. I believe that this is simply
ignored by R83 but have not tested restores to R83 systems.
3. Since openQM 'D' type dictionary items do not exist in R83/AP/D3 systems,
they are converted into 'A' type items on the tape. These should restore
well into a PICK system but the additional functionality available in 'D'
types will of course not be available in PICK. When these are restored into
openQM, they are again converted into 'D' type items. The additional
information is stored in attribute<17> on the tape ... this is 'Extended
Description' in PICK and so should simply show as a comment on these systems.
Please send any complaints, suggestions, bugs or comments to me:
Tom deLombarde <tomd@blackflute.com>
|
|