1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900
|
Programs of AF's backup system
==============================
Programs on the server side
---------------------------
$BASEDIR/server/bin/cartis
Administration of the cartridge numbers. Usage:
cartis <number>
cartis -i <ins-cart> <ins-file> [ -S <cartset> ]
The first form of this command is used to give the backup
server a hint, which cartridge number is actually placed inside
the streamer. Normally it has no chance to find out the number
and must maintain it's own information about it. If you are not
initially starting with cartridge number 1, you have to enter
this command at least on time (see: README, "BEFORE YOU START").
The second form instructs the server to write the next backup
data stream to cartridge number <ins-cart>, starting at file
number <ins-file>. This is useful, if for some reason you want
to take the cartridge actually lying inside the drive out and
continue on a different tape or at the beginning of the tape
you have put in instead. Note, that it usually causes problems,
if you try to write at a tape position, that is not at the end
of the last file, that has been written to tape. So set the
<ins-file> number only to a value different from 1, if you
really know, that this is the end of the used tape area. In
other words, if n files are on tape, set <ins-file> to n+1. So
if you don't know n, you're better off starting to write at the
beginning of a new tape entering the appropriate cartis-command.
To find out, what the server is thinking, which cartridge is
actually inside the drive, you can give the command
$BASEDIR/client/bin/client -q on any client. If the value, that
is printed out, does not reflect the reality, you have to inform
the backup server about this fact via this command entering both
forms of this command. The first form with the real cartridge
number and the second one with the next cartridge number and a 1
as file number. Then the next backup goes to the next cartridge.
You may also set the next backup writing position to the current
file number on the correct cartridge. To find out, where the
server side intents to write the next backup, enter the command
$BASEDIR/client/bin/client -Q on any client.
It makes sense to check the consistency from time to time, if
the backup server has the right idea of the actual cartridge.
-S <cartset> The cartridge set to use, where <cartset> is the
number of a valid cartridge set on the server
side. Default is 1
$BASEDIR/server/bin/cartready
(No arguments evaluated)
If you have no cartridge handling system, a human must put the
next cartridge into the drive, if necessary. Then the backup-
server must get a hint, when the maintainer has done it. This
is achieved entering this command on the backup server host,
after the new cartridge is inserted. Nonetheless the server
process waits a certain timespan, until it accesses the drive
the next time (See: "Cart-Insert-Gracetime" in CONFIG).
$BASEDIR/server/bin/label_tape
Write a label to tape or display it. Usage:
label_tape <label-number> [ -c <configfile> ] \
[ -d <devicename> ] [ -b <blocksize> ] \
[ -s <set-file-cmd> ] [ -C <num-cartridges> ]
label_tape -q [ -c <configfile> ] [ -d <devicename> ] \
[ -b <blocksize> ] [ -s <set-file-cmd> ]
The first form writes a label to the tape, the second form shows
the label on the tape, that is actually loaded.
The tape-label must be an integer number. This number is written
to the tape actually in the drive and identifies it uniquely. It
must be in the range from 1 to the number of cartridges given in
the configuration file. This label is written at the beginning
of the tape, so all data on tape will be lost. Due to that fact
the user is always prompted, if he really wants to do this.
<config-file> can be a different configuration file than the one
the server process is started with. Normally it makes no sense
to use this option, but in extremely pathological cases the
program might not be able to find out the full path to the
configuration file. Then is has to be supplied at the command
line.
The normal case is to use this command without options, but the
settings in the serverside configuration file can be overridden,
if necessary.
-c <configfile> A different configuration file to use
-d <devicename> The device to use
-b <blocksize> The blocksize of the device to use
-s <setf-cmd> The command to reel the tape to a given
file position
-C <num-carts> The total number of handled cartridges
$BASEDIR/server/bin/server [ <configuration-file> ]
The server program. It must be started by the inetd-superdaemon.
The configuration-file is read as $BASEDIR/server/lib/backup.conf
if not given explicitely and if not found there the default files
/etc/buserver.conf and /etc/afbackup/server.conf are tried.
Options:
-b Turns off buffering mode. This reduces performance
but seems to be necessary on some OSes
Options for debugging purposes only:
-D Enter an infinite loop at startup to be caught
using a debugger or continue, when a USR1 signal
is sent to the process
-s Don't use secure mode for client requests. No
authentication is performed
-l <file> Use a different logfile than set in the config
file (see: Parameter Logging-File)
-x <dir> Use a different directory for remotely startable
programs (see: Parameter Program-Directory)
Programs on the client side
---------------------------
$BASEDIR/client/bin/full_backup
Run a full backup. The usage:
full_backup [ -da ] [ {+-}LB ] [ <files> <directories> ... ]
[ -C <root-directory> ] [ -F \"<files-to-skip>\" ]
[ -D \"<directories-to-skip>\" ]
[ -c <configuration-file> ]
[ -h <backuphosts> ] [ -P <backup-ports> ]
[ -I <indexfile-part> ]
[ -N <num-indexes-to-store> ]
[ -z <compress-cmd> <uncompress-cmd> ]
[ -s \"<dont-compress-patterns>\" ]
[ -X <exclude-list-file> ] [ -l <logfile> ]
[ -i <startup-info-program> ]
[ -b <init-program> ] [ -e <exit-program> ]
[ -k <encryption-key-file> ]
[ -V <var-directory> ] [ -S <cartridge-sets> ]
This program reads the client-side configuration file and runs
(eventually a part of) a full backup of all files and directories
specified in the configuration file or on the commandline. It is
recommended to setup everything in the configuration file and run
this command without any arguments (same applies for incr_backup).
If files and/or directories are supplied on the commandline, those
specified in the configuration file are overridden. Furthermore
the program then behaves slightly different: If backup parts are
configured, they are ignored. The timestamp, that is evaluated
during incremental backup to determine, whether files have been
modified, is not changed. This behaviour reflects the assumption,
that supplying files or directories on the commandline is done
for testing or other temporary purposes. Modifying the timestamp
would confuse the normal regularly running backup mechanism. In
these temporary cases the -a option should make sense, see below
for details. Be also aware of the -C option's meaning. If the name
of a file is preceded with -r, the contents of the file is stored,
but not the characteristics of the inode. This is useful for
saving raw devices. By default, compression is always turned off.
Using -R forces compression of the contents. Preceding a directory
name with -m the recursive descent into this directory is limited
to the filesystem, where the directory resides.
The names of the files and directories, that are stored, are
written into logfiles, that comprise of the indexfile-part (-I)
and the current total backup counter. This counter is incremented
each time a full backup (part 1) starts. A minimum information
required to restore after a hard crash having lost everything is
piped into the startup-info-program (-i).
Whether only a part of a full backup is run depends on the setting
of the parameter NumBackupParts (See: CONFIG). If the configuration
file is not supplied explicitely, then it is searched for in the
.../lib-directory and if not found there the files
/etc/buclient.conf /etc/afbackup/server.conf are tried.
Commandline options generally override configuration file settings.
Every option described below (except -c) has a corresponding
entry in the configuration file, but there are more possible
settings in the config file.
-a Append mode. Do not increment the total backup
counter. (See -N)
{+-}B Perform per-file compression on the stored files
(+B) or not (-B) (See: -F)
-b <initprog> Run the given program before attempting a backup.
If the command returns an exit status unequal
to 0, no backup is performed (see: -e). Not to
be mixed up with option -i
-C <rootdir> Change to the given directory before starting the
backup climbing down into the directories to be
stored
-c <configfile> A different configuration file to use
-D <skip-dirs> A list of directory name patterns separated by
whitespace to ignore for backup. Several must be
put into quotes (See: -F and -X)
-d Detach from the terminal when starting
-e <exitprog> Run the specified program after finishing. If the
command comprises of several words separated by
whitespace, it must be put into quotes (See: -i)
-F <skip-files> A list of filename patterns separated by whitespace
to ignore for backup. Several must be put into
quotes (See: -D and -X)
-h <backuphosts> The names of the hosts, where a backup server side
lives. The list can be separated by commas and/or
whitespace. If whitespace is present, quotes are
necessary. The hosts are tested for service
availability. If a backup server is not ready,
the next one is tried. If all are busy, the program
waits for a minute and tries again
-I <idx-prefix> The first part of the filename, the names of the
stored files and directories are written to. The
current total backup number is appended (that
increments each start of a full backup). If these
files undergo compression, .z is appended
-i <info-prog> The command to save startup information. A minimum
information to recover from a hard crash is piped
into this program (at stdin). If the command
comprises of several words, it must be put into
quotes. Not to be mixed up with option -b
-k <file> Use the contents of the given file as encryption
key for authenticating to the server
{+-}L Compress the filename list files (+L) or not (-L)
(See: -I)
-l <logfile> Write loggings into the given logfile. A dash -
means: no logging, only write to stderr
-N <num-idxes> The number of filename list files, that is stored
over time. A new list is begun at each start of
a full backup (except -a is supplied)
-P <portnos> The port numbers, that are tried to connect at the
servers. They must be supplied positionally according
to the configured or (with the -h option) given
backup servers. The list may be separated by whitespace
and/or commas. If whitespace is present, quotes are
necessary
-S <cartsets> The cartridge sets to use, where <cartsets> is a
number of a valid cartridge set on the appropriate
server side. Default is 1. These must be supplied
positionally according to the configured or (with
the -h option) given backup servers. The list may
be separated by whitespace and/or commas. If
whitespace is present, quotes are necessary
-s <nocompr> A list of filename patterns, that no compression is
attempted on, what can save time significantly.
The list should always be enclosed in quotes
-V <var-dir> The directory, where varying files are put
-X <excl-file> The name of a file, that may exist in any directory
containing a list of filename patterns, one per
line. All files and directories in that directory
matching one of the patterns are exluded from
backup (See: -D and -F)
-z <z> <uz> The commands to use for compress and uncompress. If
a command comprises of several words, it must be
put in quotes
A table of corresponding command line options and configuration
file entries, (subsets) accepted by full_backup, incr_backup,
restore, verify, print_errors:
Option Client configuration file parameter name
+B -B CompressBackupedFiles
-b InitProgram
-C RootDirectory
-D DirsToSkip
-e ExitProgram
-F FilesToSkip
-h BackupHosts
-I IndexFilePart
-i StartupInfoProgram
-k EncryptionKeyFile
-l LoggingFile
+L -L CompressLogfiles
-N NumIndexesToStore
-P BackupPorts
-S CartridgeSets
-s DoNotCompress
-V VarDirectory
-X ExcludeListFile
-z CompressCmd UncompressCmd
$BASEDIR/client/bin/incr_backup
Run an incremental backup. Usage: See full_backup above.
This program reads the client-side configuration file and runs
an incremental backup, i.e. all files and directories are saved,
whose modification time is later than the moment the previous
backup (full or incremental) has started. The options and their
meanings are exactly the same as for full_backup, except for the
-a option, see below. The total backup number is not increased.
-a Differential mode. The timestamp storing the
time of the last backup is not modified
$BASEDIR/client/bin/restore
The restore utility. The Usage:
restore [ -nl ] [ -<past-backup-no> ] [ -C <root-directory> ] \
[ -h <backuphosts> ] [ -P <backup-ports> ] \
[ -c <configuration-file> ] \
[ -A "<after-date>" ] [ -B "<before-date>" ] \
[ -I <indexfile-part> ] [ -V <var-directory> ] \
[ -k <encryption-key-file> ] \
[ -z <compress-cmd> <uncompress-cmd> ] \
[ -p ] <path-pattern> [ [ -p ] <path-patterns> [ ... ] ]
restore -a [ -<past-backup-no> ] [ -C <root-directory> ] \
[ -h <backuphosts> ] [ -P <backup-ports> ] \
[ -c <configuration-file> ] \
[ -I <indexfile-part> ] [ -V <var-directory> ] \
[ -k <encryption-key-file> ] \
[ -z <compress-cmd> <uncompress-cmd> ]
restore -{ef} [ -C <root-directory> ] [ -h <backuphosts> ] \
[ -P <backup-ports> ] [ -V <var-directory> ] \
[ -z <compress-cmd> <uncompress-cmd> ] \
[ -k <encryption-key-file> ] \
[ -c <configuration-file> ] < <startup-info-file>
restore -E [ -nl ] [ -C <root-directory> ] [ -h <backuphosts> ] \
[ -P <backup-ports> ] [ -V <var-directory> ] \
[ -z <compress-cmd> <uncompress-cmd> ] \
[ -k <encryption-key-file> ] \
[ -c <configuration-file> ] [ -H <orig-host> ] \
[ <cartridge-number> | <cartridge-range> ] ... ]
The first form can be used for restoring selected pieces of
a certain previous backup run. If no option of the type
-<past-backup-no> is supplied (e.g. -2 ), the most recently
made backup is accessed. If an option like this is given,
the backup system tries to extract the files from the backup
before ( -1 ) or even an earlier one. This requires, that
enough file- and directory-name-logging is provided. This
can be done with the client-side configuration parameter
NumIndexesToStore (See: CONFIG). The parameters <path-pattern>
indicate, which files and directories should be restored. An
asterisk is implicitely put before and after the <path-pattern>,
so it is assumed to be a substring of the path. This can be
prevented preceding the <path-pattern> with the option -p.
These may be wildcards for the full path name leading to the
file relative to the directory, to that the client changes
before starting any backup or restore (See under the parameter
RootDirectory in CONFIG). Note, that you have to put these into
quotes, if you are using wildcards to prevent substutition. It
is a bad idea to restore a total backup entering: restore "*"
This leads to a huge filelist to be processed by the client,
what might plug up memory and/or temporary space in some
filesystem. Instead you should use the second form with the
option -a, what restores a total backup. The third form
restores without looking for filename log files. Instead it
reads the standard input for information, where to extract
from. The format expected at standard input is the same as
produced by incr_backup or full_backup, if the configuration
option StartupInfoProgram is used. The given program is then
supplied with the appropriate information and should write
it to some place outside the local host, so that it will not
be affected by a hard crash (see: StartupInfoProgram in
CONFIG). The fourth form scans the cartridges (if supplied)
on the given servers (if supplied, eventually with alternate
given port numbers - see below for the format, how to specify
cartridge/host/port-triples) for backups done from the host,
where the restore program is started and restores everything
it finds. The functionality is similar to -e, but no input has
to be supplied. If the client's hostname has changed or restore
should be done on another host, the original hostname must be
supplied with the -H option. Otherwise nothing or the wrong
stuff will be restored. Scanning the cartridges can take a lot
of time, but it should be several minutes, not hours.
Cartridges can be supplied in three forms as arguments: simple
numbers, ranges (e. g. as 3-5 without spaces), and ranges
relative to the actual backup writing position (e. g. as -3).
In the latter case -0 means the cartridge, that will be written
to next time i.e. that holds the actual writing point. -2 stands
for the latest 3 cartridges. To indicate, that a cartridge is
located at a certain backup server, maybe with a special port
number (if there are several backup servers), the cartridge
number or range can be followed by the at-character @, optionally
followed by the percent character % and the port number, e. g.
3-5@buhost%2989 . No whitespace is allowed in such a specifier.
If no port is given, the default port is assumed (2988). If no
hostname is given, the default backup server is used. Default
backup server is the first one in the list, that is configured
in the parameter file or overriden by the option -h. Any number
of ranges or numbers can be supplied, overlapping duplicates are
ignored. If no cartridge numbers are given, the program searches
backward from the actual writing position on each configured
backup server until it thinks, it has enough backups found, or
all cartridges on that server have been tried. The found backups
are sorted in the correct order (using the stored backup time)
and afterwards everything found is restored. This form of the
command needs no information at all for an emergency restore. If
the configuration file is not supplied explicitely, then it is
searched for in the .../lib-directory and if not found there the
files /etc/buclient.conf and /etc/afbackup/client.conf are tried.
Flags
-A <date> Restore files modified after the given date. The
date should be put into quotes, cause it usually
contains whitespace. Valid formats are e.g.:
MM/DD/YYYY hh:mm:ss
DD.MM.YYYY hh:mm:ss
or the formats produced by ctime(3) or date(1).
The year may be supplied in two digits or in the
non-US-formats be omitted, then the current year
is assumed. The seconds may also be omitted
(hh:mm), the whole time may be left off, then
00:00 is assumed. Thus the shortest valid format
is DD.MM
-B <date> Restore files modified before the given date. See
-A for the valid date formats
-C <root-dir> Change to the given root-directory before restoring
files instead of the one specified in the client
side configuration file. If this directory does
not exist, it is created
-c <conffile> Use the given file for configuration information
-e Restore all files from the previous backup in an
emergency case without looking for the filename
logfiles, which are also restored
-f Restore only the filename logfiles in an emergency
case
-H <orighost> (in combination with -E) Restore everything saved
from the given host, if different from the one,
where the program is running. Domainnames or
anything behind (and including) a dot in this
hostname is ignored
-h <hostnames> Use the given list of hosts as backup servers. This
list is used only, if no hostname information can
be found as associated with the actual filesystem
entry, that should be restored. The first host in
this list is the default server, if no hostname
information at all can be found. If -E is given
and no cartridge number is supplied at all, all
hosts in this list are tried one after the other.
The hostnames in this list can be separated by
whitespace and/or commas
-I <idx-prefix> The first part of the filename, the names of the
stored files and directories are written to. The
current total backup number is appended (that
increments each start of a full backup). If these
files undergo compression, .z is appended
-k <file> Use the contents of the given file as encryption
key for authenticating to the server
-l Do not restore anything, just list the names of
the files and/or directories, that fit the supplied
path-part(s); in combination with -E: just scan the
given tape(s) and printout the minimum restore info,
that can be read by restore -e
-n Do not restore anything, just printout a message,
how many files and/or directories fit the supplied
path-part(s); in combination with -E: just scan the
given tape(s) and printout, what backups have been
written there
-P <portnos> The list of port numbers for the backup servers
either configured in the parameter file or supplied
with the -h option. This list is used only, if no
port number information can be found as associated
with the actual filesystem entry, that should be
restored. The port numbers supplied here are asso-
ciated with the backup server names by position.
The port numbers in this list can be separated by
whitespace and/or commas
-V <var-dir> The directory, where varying files are put
-z <z> <uz> The commands to use for compress and uncompress. If
a command comprises of several words, it must be
put in quotes
I suggest to run restore with the -l option before really going
to restore anything. So you see, what files will be generated,
maybe overwriting existing ones unintendedly.
$BASEDIR/client/bin/verify
Run a verify of a previous backup. The usage:
verify [ -c <configuration-file> ] \
[ -<past-run-no>[.<past-backup-no>] ] \
[ -h <backuphosts> ] [ -P <backup-ports> ] \
[ -C <root-directory> ] [ -S <cartridge-sets> ] \
[ -I <indexfile-part> ] [ -V <var-directory> ] \
[ -k <encryption-key-file> ] \
[ -z <compress-cmd> <uncompress-cmd> ]
Without any arguments, this program runs a verify over the
previously written backup. This may either be a full or an
incremental backup, only the contents of the very previous
run are used. All found differences are reported.
Though it is not considered to make too much sense, it is
also provided, that files and directories saved during a run
before the previous one can be checked. This can be done
supplying the <past-backup-specifier>. If this is a simple
number, it counts back from the previous full or incremental
backup of the same total backup number (this number is increased
each run of the full_backup-command, not by subsequent
incremental backups). -1 means, that the backup before the
previous one is checked and so on. If the contents of a previous
total backup run should be checked, the following form may
be used: -<previous-run>.<previous-total-backup>, where
<previous-total-backup> counts back from the actual total backup
number and <previous-run> counts back from the last backup
(incremental or full) run among the previous total. previous-run
may be 0 here. E.g. verify -0.1 checks the files saved during
the last run of the previous total backup.
-C <root-dir> Change to the given root-directory before verifying
files instead of the one specified in the client
side configuration file.
-c <conffile> Use the given file for configuration information
-h <hostnames> Use the given list of hosts as backup servers. This
list is used only, if no hostname information can
be found as associated with the actual filesystem
entry, that should be verified. The first host in
this list is the default server, if no hostname
information at all can be found. The hostnames in
this list can be separated by whitespace and/or
commas
-I <idx-prefix> The first part of the filename, the names of the
stored files and directories can be found. The
current total backup number is appended (that
increments each start of a full backup). If these
files undergo compression, .z is appended
-k <file> Use the contents of the given file as encryption
key for authenticating to the server
-P <portnos> The list of port numbers for the backup servers
either configured in the parameter file or supplied
with the -h option. This list is used only, if no
port number information can be found as associated
with the actual filesystem entry, that should be
verified. The port numbers supplied here are asso-
ciated with the backup server names by position.
The port numbers in this list can be separated by
whitespace and/or commas
-V <var-dir> The directory, where varying files are put
-z <z> <uz> The commands to use for compress and uncompress. If
a command comprises of several words, it must be
put in quotes
In my opinion a verify makes only sense immediately following
an incremental or full backup with the purpose to check, whether
the files and directories did not get corrupt on the storage
media. If you want to do this (via cron or however), keep in
mind, that the verify takes at least the same time as the
backup itself. If you have a huge amount of data to save, the
additional verify might run you into time consumtion problems.
$BASEDIR/client/bin/client
The main program of the client side. This program does not read
configuration files or filelists nor does it maintain any other
persistently stored information. It's just the workhorse providing
the functionality, that is required by the higher level programs.
Here's the usage, that can be printed out typing: client -usage
client -cxtd [ -RraunOvgiIqQZwb ]
[ -h <backup-server> ]
[ -z <zipcmd> <unzipcmd> ]
[ -T <to-extract-filename> ]
[ -C <cartridge-number> ]
[ -F <filenumber-on-tape> ]
[ -f <archive-filename> ]
[ -e <errorlog-filename> ]
[ -p <server-port-number> ]
[ -N <newer-than-filename> ]
[ -o <user-ID> ]
[ -k <encrption-key-file> ]
[ -s <dont-compress-filepattern> [ -s ... ] ]
[ -H <header> ]
[ -V <statistics-report-file> ]
[ <files> <directories> ... ]
client -X <program>
[ -h <backup-client> ]
client -\? (to get help)
The first form is similar to tar, except that it contacts a
backup server, if the -f option is not supplied.
The second form is used to start a program remotely on
another host. In most cases this will be one of:
client -X full_backup -h <some-host>
client -X incr_backup -h <some-host>
Normally this host is a backup client and a backup is started
this way. Only programs can be started, that reside in the
directory, that is configured in the backup server's configu-
ration file unter "Program-Directory".
The third form produces the following help text:
Description
===========
This program is used to maintain archives on a backup server
host or in a file. Archives can be created, extracted or their
contents be listed. Almost one of the following flags has to
be supplied:
-c to create an archive
-x to extract from an archive
-t to list the contents of an archive
-d to verify (compare) the contents of an archive
-C to set a certain cartridge on the backup server
(makes only sense extracting or listing with -x or
-t, the writing position can't be changed by clients)
-F to set a certain file on the backup server's tape
(same applies as for -C)
-q to printout the actual cartridge and tape file number
on the backup server
-Q to printout the cartridge and tape file number for the
the next write access on the backup server
-X followed by the full path name of a program to be started on
the client. This can be used to trigger a backup remotely.
If the program needs arguments, the command together with
the arguments has to be enclosed by quotes
-I to printout an index of the backups written to the
actual cartridge
-w to check the status of the streamer on the server side, e.g.
whether it is ready and waiting for requests to service,
see below for possible states
-c, -x, -t and -X are mutual exclusive. The other options can
be supplied as needed. To set the cartridge and/or the tape file
on the backup server is only making sense when not creating
an archive. The serial order of writing to tape is handled by
the server machine independently of the client.
Filenames
The names of the files and directories, that have to be put
into or extracted from an archive are by default read from the
standard input. If you supply filenames in the command line or
enter the -a flag when extracting, standard input is not read.
The same is valid, if filenames are read from a file with the
-T option. When reading the names from a file or from standard
input, filenames have to be separated by whitespace. If a name
is containing whitespace, it has to be enclosed in double
quotes ("). If a name contains double quotes or backslashes,
each has to be preceded by a backslash (so backslashes become
double backslashes).
More options in alphabetical order:
-a in combination with -x: extract all files and
directories in the archive
-b don't enter buffering mode
-e <errlog> Use the file <errlog> to write error messages to
instead of the standard error output
-f <file> write to or read from a file instead of querying
the backup server
-g while extracting/reading: ignore leading garbage,
suppress error messages at the beginning. This
is useful when extracting from tape files, that
are not the first ones of a whole archive.
-H <header> put the supplied informational header to the begin
of the backup
-h <host> use the backup server with the name <host>
default host is the machine with the name
backuphost
-i while extracting: ignore the stored ownership and
do not restore it
-k <file> use the contents of the given file as encryption
key for authenticating to the server
-l for each packed or unpacked filename, if sending
to or receiving from a backup server in verbose
mode in combination with -n:
printout server name and port number at the
beginning of the line, e.g.: orion%2988!
-N <file> while archiving: ignore files with a modification
time before the one of the given file, only save
newer files or such with the same age in seconds
-n for each packed or unpacked filename, if sending
to or receiving from a backup server in verbose
mode:
printout cartridge and tape file number at the
beginning of the line, e. g.: 7.15: <filename>
-O for each packed file creating a backup in verbose
mode: printout the user-ID of the file owner at
the beginning of the line prefixed with a bar |
eventually behind cartridge and file number
-o <uid> archive or extract only files owned by the user
with the given user-ID (an integer)
-p <portno> use a different port number for communicating with
the backup server. Default is TCP-Port 2988
-R pack or extract directories recursively with all
of their contents
-r use filenames relative to the current directory,
whether they start with a slash or not
-S <cartset> The cartridge set to use, where <cartset> is the
number of a valid cartridge set on the server
side. Default is 1. This option makes sense only
when creating backups with -c
-s <filepat> do not attempt compression on files matching the
given filename pattern. This parameter may
appear several times
-T <file> read the filenames to process from the <file>.
The filenames must be separated by whitespace.
If whitespace is part of a filename, it has to
be enclosed by double quotes. Double quotes or
backslashes within the filename have to be
preceded by a backslash
-u while extracting: remove existing files with the
same name as found in the archive. Otherwise
no existing files are overwritten
-V <file> write a report containing statistics at the end of
a backup to the <file>
-v verbose mode: print the filenames while creating
or extracting, be a little more verbose while
listing contents
-z <z> <uz> use <z> as the command, that is used to compress
files, <uz> for the corresponding uncompress.
The command has to read from stdin and to write
to stdout. If arguments have to be supplied to
<z> and/or <uz>, don't forget to use quotes
-Z while printing out the contents: check those files
in the archive that are compressed for integrity
-? to printout this text
The -w option reports one or more of the following states,
seperated by the plus character + :
READY the device is not in use by any program and the
server side is ready to service requests
BUSY the device is in use and actually operated by the
afbackup service
DEVINUSE the streamer device is in use by some program, that
is not part of the afbackup service
UNAVAIL the streamer device is not accessible or in some
other way occupied
UNLOADED the device is not busy, but there is no tape loaded
CHANGEABLE when reported together with UNLOADED, a tape can be
loaded quickly e.g. using the afclient command with
option -C <cartno>. It is not considered quickly,
if a human operator must put the cartridge into the
drive, so in this case only UNLOADED is reported.
When reported with READY, the tape can be changed
quickly (same understanding as before).
$BASEDIR/client/bin/print_errors
A utility to extract error messages from the actual filename
logging file besides those appearing in the configured logfile
of the client side. Usage:
print_errors [ -c <configuration-file> ] [ -<past-backup-no> ] \
[ -I <indexfile-part> ] [ -V <var-directory> ] \
[ -N <num-indexes-to-store> ] \
[ -z <compress-cmd> <uncompress-cmd> ]
If no option of the type -<past-backup-no> is supplied (e.g. -2 ),
the most recently made backup is accessed. If an option like this
is given, the backup system tries to extract the errors from the
backup before ( -1 ) or even an earlier one. This requires, that
enough file- and directory-name-logging is provided. This can be
done with the client-side configuration parameter NumIndexesToStore
(See: CONFIG). A different configuration file can be supplied with
the -c option.
Options in alphabetical order:
-c Use the given file for configuration information
-I <idx-prefix> The first part of the filename, the names of the
stored files and directories can be found. The
current total backup number is appended (that
increments each start of a full backup). If these
files undergo compression, .z is appended
-N <num-idxes> The number of filename list files, that is stored
over time. A new list is begun at each start of
a full backup (except -a is supplied)
-V <var-dir> The directory, where varying files are put
-z <z> <uz> The commands to use for compress and uncompress. If
a command comprises of several words, it must be
put in quotes
|