|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 6144 (0x1800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Do_Backup, seg_0283f3
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Daemon; with Io; with Log; with Message; with Profile; with Scheduler; with System_Backup; with Time_Utilities; procedure Do_Backup (Variety : System_Backup.Kind := System_Backup.Full; Starting_At : String := "") is Delay_For : Duration; Warning : Duration; Start_Message : Boolean; Finish_Message : Boolean; Got_Snapshot_Info : Boolean := False; Got_Scheduler_Info : Boolean := False; Memory_Scheduling : Integer; Memory_Scheduling_String : constant String := "Memory_Scheduling"; procedure Backup_Finishing (Was_Successful : Boolean) is begin if Got_Snapshot_Info then -- Restore snapshot warning to previous setting Got_Snapshot_Info := False; Daemon.Snapshot_Warning_Message (Interval => Warning); Daemon.Snapshot_Start_Message (Start_Message); Daemon.Snapshot_Finish_Message (Finish_Message); end if; if Got_Scheduler_Info then -- Restore scheduler settings Got_Scheduler_Info := False; Scheduler.Set (Memory_Scheduling_String, Memory_Scheduling); end if; end Backup_Finishing; procedure Backup_Starting (Is_Full : Boolean) is begin -- Warn users that backup is starting if Is_Full then Message.Send_All ("Starting full system backup"); else Message.Send_All ("Starting incremental system backup);"); end if; -- Save current scheduler settings Memory_Scheduling := Scheduler.Get (Memory_Scheduling_String); Got_Scheduler_Info := True; Scheduler.Set (Memory_Scheduling_String, 0); -- turn off scheduling -- Save current snapshot settings and turn off snapshot warnings. Daemon.Get_Snapshot_Settings (Warning, Start_Message, Finish_Message); Got_Snapshot_Info := True; Daemon.Snapshot_Warning_Message (Interval => 0.0); Daemon.Snapshot_Start_Message; end Backup_Starting; procedure Backup is new System_Backup.Backup_Generic (Backup_Starting, Backup_Finishing); begin if Starting_At'Length > 0 then begin Delay_For := Time_Utilities.Duration_Until (Time_Utilities.Value (Starting_At)); exception when others => Log.Put_Line ("Invalid starting time value given.", Kind => Profile.Error_Msg); return; end; end if; -- Do the backup Backup (Variety => Variety, Wait_Until => Starting_At); -- Take snapshot to make full backups official; i.e. allow differentials Daemon.Run ("Snapshot"); exception when others => Io.Put_Line (Io.Current_Error, "Backup failed with an unhandled exception."); Backup_Finishing (False); end Do_Backup;
nblk1=5 nid=0 hdr6=a [0x00] rec0=1f rec1=00 rec2=01 rec3=044 [0x01] rec0=1b rec1=00 rec2=05 rec3=032 [0x02] rec0=01 rec1=00 rec2=02 rec3=044 [0x03] rec0=1e rec1=00 rec2=03 rec3=06e [0x04] rec0=03 rec1=00 rec2=04 rec3=000 tail 0x21722327883c171bdd42b 0x42a00088462065003