Multics backup/retrieve notes

Multics defines two kinds of backup, volume and hierarchical. The volume backup is "disk imaging"; hierarchical backup walks a directory tree and backs up the segments if finds.

According to GB64-0A Admin. Cmds., pg 8-1, the following commands must be run to set up the backup sysdaemon processes:

admin
copy >t>sysdaemon_project_start_up.ec >udd>sd>sysdaemon_project_start_up.ec
sa >udd>sd>project_start_up.ec r* -replace

but of course the sysdaemon_project_start_up.ec file desn't exist.

I do see that 'hbk_project_start_up.ec' and 'vbk_project_start_up.ec' exist in tools; I would guess that they are "hierarchical" and "volume".
I also note that the destination of the copy seems bogus…

M-> cwd >udd>sd
M-> ls -a

Directories = 8.

sma  Utility
sma  Salvager
sma  Scavenger
sma  Repair
sma  Retriever
sma  Dumper
sma  Backup
sma  IO

I would guess ">udd>sd>Dumper>start_up.ec" and ">udd>sd>Backup>start_up.ec"

Well, lets see what's in them…

hbk_project_start_up.ec

&version 2
&-  ***********************************************************
&-  *                                                         *
&-  * Copyright, (C) Honeywell Information Systems Inc., 1984 *
&-  *                                                         *
&-  ***********************************************************

&- Created to allow the Hierarchy Dumper Daemons to run under a limited service subsystem.
&- This exec_com should be run from the project_start_up_ process overseer to ensure
&- that these Daemons never reach an unprotected command level.

&- Created 1985-02-21, BIM.

&if &[equal [user name] Backup] &then &goto hbk_restrict
&if &[equal [user name] Dumper] &then &goto hbk_restrict
&quit

&label hbk_restrict
enter_lss hierarchy_backup_dumper_lss
&quit

I'm going to ignore this for now.

Looking at the complete_dump command…

Notes on format of a dump control file: The control file specified by
"-control path" is an ASCII segment containing absolute pathnames of
entries (segments, MSFs, and directory subtrees) to be dumped, each on
a separate line.

Lets do a ">udd" and see what happens

Create a udd.dump containing the line '>udd'

M-> admin
M-> complete_dump -control udd -operator cac

Begin at 07/25/90  1304.0 pdt Wed

>udd

Type primary dump tape label:   M-> udd

Mounting tape udd for writing
1304.1  RCP: Attached tapa_01 for Initializer.SysDaemon.z
1304.1  RCP: Note (tapa_01) - udd,sys
CONSOLE: ALERT
1304.1  RCP: Mount Reel udd with ring on tapa_01 for Initializer.SysDaemon.z
<udd.tap>
TAPE: creating new file
Mounted blank volume "udd" on device tapa_01

Sigh:

PTP in mt; dev_cmd 65

Okay, fixed that.

M-> complete_dump -control udd -operator cac

Begin at 07/25/90  1437.4 pdt Wed

>udd

Type primary dump tape label:   M-> udd2

Mounting tape udd2 for writing
1437.5  RCP: Attached tapa_01 for Initializer.SysDaemon.z
1437.5  RCP: Note (tapa_01) - udd2,sys
CONSOLE: ALERT
1437.5  RCP: Mount Reel udd2 with ring on tapa_01 for Initializer.SysDaemon.z
<udd2.tap>
TAPE: creating new file
Mounted blank volume "udd2" on device tapa_01
Begin at 07/25/90  1437.4 pdt Wed
Error file attached to file "complete_dump.07/25/90.1437.ef".
Normal termination 07/25/90  1437.6 pdt Wed.

Dump finished.

No error file; so all ok?

$ ls -l udd2.tap 
-rw-rw-r-- 1 cac cac 7458668 Jul 25 14:37 udd2.tap
$ ../tapeUtils/dumpTape udd2.tap | less
0000:0000   670314355245   000001501245   "\670\314\355\245\000\001\501\245
0000:0002   644515102734   000000000000   "\644\515B\734\000\000\000\000
0000:0004   001540110000   600012001000   "\001\540H\000\600\012\001\000
0000:0006   524773624355   512556146073   "\524\773\624\355\512\556f;
0000:0010   123145162145   156151164171   "Serenity
0000:0012   040126141154   154145171040   " Valley 
0000:0014   105156147151   156145145162   "Engineer
0000:0016   151156147040   040040040040   "ing     
0000:0020   165144144062   040040040040   "udd2    

1159:1050   000000000034   076165163145   "\000\000\000\034>use
1159:1052   162137144151   162137144151   "r_dir_di
1159:1054   162076123171   163105156147   "r>SysEng
1159:1056   076101156164   150157156171   ">Anthony

1160:0662   150145154154   157056142143   "hello.bc
1160:0664   160154040040   040040040040   "pl      
1160:0666   040040040040   040040040040   "        
1160:0670   040040040040   040040040040   "

Okay, we can make hierarchical dumps.

admin
reload -noreload
udd4
n

Runs ok, but didn't appear to restore a file that I deleted…

Be smart, login as Retriver.SysDaemon, run backup_load, (it won't take a control file?), but it did restore the deleted file.

To set the Retriever password: on the console:

M-> admin

r 18:09 2.933 59

M-> cwd >udd>sa>admin

r 18:09 0.058 0

M-> ec master chpass Retriever

Password
M-> password

Password again:
M-> password

To restore segments from tape: on a dialup line:

Multics cac: Serenity Valley Engineering (Channel d.h000)
Load = 5.0 out of 90.0 units: users = 5, 07/25/90  1643.2 pdt Wed
l Retriever.SysDaemon
Password:

backup_load

Input tape label:   udd4
Mounting tape udd4 for reading
Mounted Multics volume "udd4" (recorded at 800 BPI), on device tapa_01
Begin at 07/25/90  1644.4 pdt Wed
Map attached to file "!BBBJbNfGKbbMNP.backup.map".
Error file attached to file "backup_load.07/25/90.1644.ef".
End of reel encountered.

backup_load: Are there any more tapes to be reloaded?   n
Normal termination 07/25/90  1644.8 pdt Wed.
r 16:44 15.711 1715

Trying 'retrieve' instead of 'backup_load' — GB64-433

Retrieve the oldsve tape to a local tree

oldsve.dump:

l Retriever.SysDaemon
pr oldsve.dump
>**=>user_dir_dir>SysDaemon>Retriever>oldsve
create_dir oldsve
retrieve oldsve.dump

Input tape label:   oldsve
Mounting tape oldsve for reading
Mounted Multics volume "oldsve" (recorded at 800 BPI), on device tapa_01
Begin at 07/29/90  1610.0 pdt Sun
Error file attached to file "retrieve.07/29/90.1610.ef".
End of reel encountered.

retrieve: Are there any more tapes to be reloaded?   n
Normal termination 07/29/90  1610.2 pdt Sun.

Trying reload…

l Retriever.SysDaemon
pr oldsve.dump
>**=>user_dir_dir>SysDaemon>Retriever>oldsve>
create_dir oldsve
reload -control oldsve.dump

Nope, same thing.

Okay, lets try '-nosetlvid'

Didn't help.

Okay, restored the SysEng accounts….

pr oldsve.dump

>user_dir_dir>SysEng>Reed>**
>user_dir_dir>SysEng>Cooper>**
>user_dir_dir>SysEng>Hurst>**

retrieve oldsve.dump
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License