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