edward@csvaxa.UUCP (Edward Wilkinson) (02/04/88)
I have written a simple file archiving package which emulates one
running on our Primes. Unfortunately, I wrote it using shell scripts
because at the time it was needed yesterday & using C would have taken
longer. It is *very* slow, is a real mess & is full of security holes.
However, I believe the idea is sound & would like to reimplement it in
C. As usual, I have about 28 other more important things to do so
probably won't get around to it.
Is anyone out ther interested in adopting it? This would really entail
reading, understanding & then completely rewriting it in C! I'd like
to do it myseld but as it currently (almost) goes, my superiors have
thought up better things for me to occupy my time with.
Here is an old document about the system:
----------cut-here-------------cut-here-------------cut-here----------
Proposal For A User Archiving System
======================================
This note gives a brief introduction to the functionality of the
current archiving system on the Prime. It is our intention to use the
Pr1me system as a basis for a similar system on the Vaxen. The new
system will perform in the same way as on the Prime so that both users
and operators will not have to learn a new set of commands.
From The User's Point Of View
-------------------------------
The user currently needs to remember four commands :
Archive file :- used to store a copy of a file in the archiving system.
Get file :- used to recover a file from the archiving system.
Destroy file :- used to destroy the archived copy of a file.
Files -arc :- used to display a list of files archived by the user.
This interface seems unnecessarily complex and is being replaced by a
single command archive as follows :
archive -p replaces archive
archive -g replaces get
archive -d replaces destroy
archive -l replaces files -arc
Description Of Commands
-------------------------
This section explains briefly how each user command works. A later
section will consider archiving from the point of view of the
operators. In the following notation , the last form of syntax is
being phased out.
archive -p filename [ filename ] ...
archive -put filename [ filename ] ...
archive filename [ filename ] ...
This option of the archive command will copy specified files to the
archiving system. Initially , this will be on disk but the files may
later be moved to tape.
archive -g filename [ filename ] ...
archive -get filename [ filename ] ...
get filename [ filename ] ...
This option is used to retrieve a file previously archived. If the
archived copy is still on the archiving disk , it will be retrieved
immediately otherwise it will be recovered later from tape.
archive -d filename [ filename ] ...
archive -destroy filename [ filename ] ...
destroy filename [ filename ] ...
The -destroy option is used to remove a file on the archiving system.
Files in the current directory remain unaffected.
archive -l filename [ filename ] ... [ -all ] [ -dir ]
archive -list filename [ filename ] ... [ -all ] [ -dir ]
files -arc filename [ filename ] ... [ -all ] [ -dir ]
These options are used to list files stored in the archiving system.
The -all option displays all archived files while the -dir option
shows all subdirectories from which files have been archived. This
latter option is useful if a user cannot remember where an archived
file used to be stored but has too many archived files to use the -all
option.
From The Operator's Point Of View
-----------------------------------
There is a special disk pack on the Pr1me called <ARCHIV> which has
a directory for every user who uses the archiving system. All files
archived by a user are stored here. When space runs low , files are
transferred to tape. Each user has at least one tape and possibly
more (actually , only those who use archiving have tapes). Archived
files can be recovered and deleted , and a list of archived files may
be generated. Only files in a user's directory may be archived. Each
user's archiving directory also contains a file of recovery requests
and a lock file when the archiving system is running. An index file is
also present to record archived files and their locations on disk or
tape.
There are just three commands for the operators to use - totape
fromtape and scan_index :
totape [ user ]
When disk space on the archiving volume is running low , totape is
used to move archived files from disk to tape. If a user is specified
all the user files are moved from <ARCHIV> to the user's archiving
tape. Otherwise , users consuming the most space on the archiving
volume are saved to tape and their index files are updated.
fromtape [ user ]
This command is used to recover files archived on tape. If executed
without a username , it scans through the request file and starts a
new invocation of fromtape for any users who need files recovered. If
given a user , it just recovers any files requested by that user.
Giving a user as an argument is preferable , as otherwise it takes
ages to run.
scan_index
Scan_index lists all recoveries pending , so that fromtape can be run
with the correct usernames. This is far quicker than running fromtape
without any arguments.
----------cut-here-------------cut-here-------------cut-here----------
Sorry for the verbosity, but I think it's worth having but can't find
the time myself at the moment.
--
Ed Wilkinson @ Computer Centre, Massey University, Palmerston North, NZ
uucp: ...!uunet!vuwcomp!{massey, csvaxa}!edward DTE: 530163000005
Greybook: E.Wilkinson@nz.ac.massey Phone: +64 63 69099 x8587
CSNET/ACSnet/Internet: E.Wilkinson@massey.ac.nz New Zealand = GMT+12