One of the client administrators here was wondering how to Retrieve archived
data for a user to take to a foreign site when the data consists of files larger
than the amount of disk space currently available for doing the Retrieve. I
thought I'd share a solution that I came up with, which may help someone else
who has to face that situation.
Richard Sims, BU
The ADSM Retrieve function, for getting back Archived files, wants to
write to disk. But sometimes you simply don't have enough disk space to
accomodate standard retrieval. Here is a Unix technique for instead
retrieving the data and putting it directly to tape:
In one window, do:
mkfifo fifo; # Creates a Named Pipe, called "fifo".
dd if=fifo of=/dev/rmt1 # Tape drive of your choice, tape in it.
In another window, in the same directory, do:
dsmc retrieve -replace=yes -DEscription="___" ArchivedFilename fifo
This will retrieve the desired archived file and, instead of
retrieving it to its natural name, will instead direct it to "fifo".
The "-replace=yes" will quell the retrieve's fear of replacing the
file which, as a FIFO type special file, will instead result in the
data being sent to whatever is reading the named pipe, which in this
case is the 'dd' command, which passes it to tape.
When the retrieval ends, the 'dd' command will end and the file's data
will be on that tape. Record on the tape's external label the
identity of the data written to the tape.
To later extract the data from the tape, again use the 'dd' command,
specifying the chosen tape drive via "if" and an output file via "of".
Whereas this is plain data on a non-labeled tape, an operating system
other than Unix should be able to as easily get the data from the
tape.
|