|
|
1.1 root 1: .TH BACKUP 5
2: .CT 1 sa_mortals
3: .SH NAME
4: backup \- incremental backup files
5: .SH DESCRIPTION
6: The backup system consists of a number of client machines, and a
7: `backup machine',
8: which has a database and a collection of
9: backup copies of files.
10: On clients files concerned with backup live in a directory, normally
11: .FR /usr/lib/backup ,
12: defined in the shell script
13: .FR /usr/bin/backup .
14: The file
15: .FR /usr/lib/backup/conf ,
16: needed on both client and backup machine,
17: has up to three lines, namely the backup machine name,
18: the default backup device, and the directory, hereafter called
19: .BR $FM ,
20: where the rest of the backup software
21: lives on the backup machine.
22: Client systems normally have just the first line.
23: The rest of this description applies to the backup machine.
24: .PP
25: The databases live in
26: .BR $FM/db
27: and are maintained in
28: .IR cbt (3)
29: form.
30: The main database, called
31: .FR filemap ,
32: stores two mappings.
33: The first maps filename-time pairs to backup copy names, thus:
34: .IP
35: .EX
36: /n/bowell/usr/jim/goo//519487622 v/v22/17
37: .EE
38: .LP
39: The number after
40: .CW //
41: is the inode change date,
42: expressed in seconds since the epoch; see
43: .IR stat (2).
44: If the backup copy is still on magnetic disk, it will be called
45: .BR $FM/v/v22/17 ;
46: otherwise it will be
47: .B v22/17
48: on some optical disk.
49: (The mapping of backup copy name to optical disk name is kept in
50: .BR $FM/adm/volidmap .)
51: The second mapping maps filenames to the time of their most recently backed-up version:
52: .IP
53: .L
54: /n/bowell/usr/jim/goo 520514116
55: .PP
56: The second database,
57: .BR dir ,
58: maps directoryname-time pairs to the contents of that directory.
59: This allows quick recovery of file trees.
60: .PP
61: The third database,
62: .BR fs ,
63: maps filename-time pairs to (essentially) inodes.
64: This allows efficient implementation of
65: .BR "backup mount" ;
66: see
67: .IR backup (1).
68: .PP
69: The program
70: .B $FM/bin/dbupdate
71: manages these databases.
72: The
73: .I dir
74: and
75: .I fs
76: databases are optional; they will be updated only if they already exist.
77: The program
78: .F "$FM/bin/sweep"
79: also assigns the backup copy names into a flat
80: directory structure.
81: A new directory is used when the total size of the files in the current directory
82: would exceed 20000K
83: bytes, rounding each file size up to a multiple of 4K.
84: .PP
85: The backup copy of a file consists of a header
86: that gives the original inode, pathname and owner (as a string),
87: followed by the contents of the file.
88: Directories are stored as a sequence of entry names.
89: .PP
90: To prevent multiple writers into a database,
91: a lockfile
92: .FI $FM/locks/ database
93: is used.
94: The content of this file
95: is the process id of the process accessing the database.
96: Locks are removed by
97: .F $FM/bin/rmlocks
98: executed by
99: .IR rc (8)
100: when the system boots.
101: .PP
102: The backup system supports multiple
103: .I filemap
104: databases (this allows the current database to be kept small).
105: The list of database names is kept in
106: .FR $FM/db/filemaplist ,
107: one per line in order of increasing priority.
108: The last name is assumed to be the active database; all the
109: others are read-only.
110: .PP
111: Programs such as
112: .I sweep
113: and
114: .I dbupdate
115: leave droppings in the log file
116: .FR $FM/log .
117: .PP
118: Statistics of the numbers of files and bytes saved for users
119: of a given system are kept in
120: .FR $FM/stat.dir/\fIsystem .
121: Each file consists of a sequence of records with a machine-independent structure;
122: generally, one record per user per day.
123: The records are maintained by
124: .FR "$FM/bin/procstats" ,
125: which processes the file
126: .F $FM/stat.log
127: that is maintained by
128: .IR dbupdate .
129: .PP
130: To allow quick searching for filenames with full regular expressions,
131: a simple sorted list of all saved filenames is often kept, normally in
132: .FR $FM/filenames .
133: .PP
134: The device (and system) used for recovering files can be specified in many ways.
135: In order of decreasing priority:
136: a
137: .B -f
138: option in
139: .I backup recover
140: or
141: .I backup fetch
142: (see
143: .IR backup (1)),
144: a default device on the client system (in line 2 of
145: .FR /usr/lib/backup/conf ),
146: the default device on the backup system.
147: .SH FILES
148: .F /usr/lib/backup/*
149: .br
150: .F /usr/lib/backup/conf
151: .br
152: .F /usr/backup/db
153: .br
154: .F /usr/backup/locks
155: .br
156: .F /usr/backup/log
157: .br
158: .F /usr/backup/filenames
159: .SH "SEE ALSO"
160: .IR backup (1),
161: .IR worm (8),
162: .IR backup (8),
163: .IR cbt (1),
164: .IR stat (2)
165: .br
166: A. Hume,
167: `The File Motel: an Owner's Manual',
168: this manual, Volume 2
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.