home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
-
- ROBOSAVE Version 3.04
-
-
- A Utility for Saving the OS/2 2.X Desktop
-
- User's Guide
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- R. R. Kurtz
-
- J. G. Knauth
-
-
-
-
-
-
-
- (c) Copyright International Business Machines Corporation 1994.
- All rights Reserved.
-
-
- 9 Nov 1993 3:04 -- Employee Written Software Edition
- 9 Nov 1993 3:04 -- Employee Written Software Edition
-
-
- CONTENTS
-
-
- 1.0 ROBOSAVE User's Guide . . . . . . . . . . . . . . . . . . . 1
- 1.1 What ROBOSAVE Does . . . . . . . . . . . . . . . . . . . . . 1
- 1.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 1
- 1.3 What ROBOSAVE Does Not Do . . . . . . . . . . . . . . . . . 2
- 1.4 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . 3
- 1.5 Installation . . . . . . . . . . . . . . . . . . . . . . . . 3
- 1.6 ROBOSAVE Profile . . . . . . . . . . . . . . . . . . . . . . 3
- 1.7 ROBOSAVE Command . . . . . . . . . . . . . . . . . . . . . . 6
- 1.8 Doing a Save . . . . . . . . . . . . . . . . . . . . . . . . 6
- 1.9 Doing a Restore . . . . . . . . . . . . . . . . . . . . . . 8
- 1.10 Recovery of Individual Files . . . . . . . . . . . . . . . 10
- 1.11 Choosing a Save Directory . . . . . . . . . . . . . . . . . 11
- 1.12 Contents of the Save Directory . . . . . . . . . . . . . . 12
- 1.13 ROBOSVUT Utility . . . . . . . . . . . . . . . . . . . . . 13
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Contents ii
- 9 Nov 1993 3:04 -- Employee Written Software Edition
-
-
- 1.0 ROBOSAVE USER'S GUIDE
-
-
- This edition of the User's Guide is for the Employee Written Software
- release of ROBOSAVE.
-
-
- 1.1 WHAT ROBOSAVE DOES
-
- ROBOSAVE is a tool which allows you to quickly and easily back up the
- OS/2 2.x Desktop. In addition you can save a limited number of user-
- specified files. If problems occur later, you can easily restore the
- saved information. Because it is so easy to do a ROBOSAVE, you will
- find that doing frequent backups is quite painless.
-
- The OS/2 2.x Desktop consists of control information for such things
- as folders, program objects, printer objects, and shadows. It also
- contains data about the tailoring you have done for colors, fonts,
- titles, window positions, associations, and much more. You may have
- invested a significant amount of time in adjusting the Desktop to your
- preferences. ROBOSAVE provides a good way to protect that investment.
-
-
- 1.2 OVERVIEW
-
- Using ROBOSAVE is very simple. Here is a summary. Details are in
- following sections, together with suggestions for how you might plan
- ROBOSAVE backups for your system.
-
- - Installation
-
- - Download and unzip ROBOSAVE's zip file into a directory of
- your choice
- - Set up a ROBOSAVE profile; you can use ROBOSAVE.SMP as a model
-
- - Doing a save
-
- - Stabilize the Desktop by doing a shutdown and IPL
- - Invoke ROBOSAVE, using the profile you created above
-
- - Doing a restore
-
- - Bring up an OS/2 environment suitable for doing ROBOREST
- - Switch to the save drive and directory
- - Invoke ROBOREST
- - ReIPL
-
-
-
-
- ROBOSAVE User's Guide 1
- 9 Nov 1993 3:04 -- Employee Written Software Edition
-
-
- 1.3 WHAT ROBOSAVE DOES NOT DO
-
- ROBOSAVE does not do a full backup of all the data on your system.
- Instead it saves only certain key information. Part of this informa-
- tion is saved automatically. Part you must specify thru a profile. A
- sample ROBOSAVE profile is provided; however, there may be other crit-
- ical files for your applications that you should specify in your own
- profile. Restoring this information is often sufficient to get your
- system working again very quickly. Of course doing a full backup pro-
- vides a better guarantee of a full recovery. However, doing a full
- backup requires much more time and more space on your backup medium.
-
- From ROBOSAVE's point of view the Desktop consists of the Desktop
- directory and all the files and directories under it. This is the
- information ROBOSAVE will save automatically. You must be careful
- about what information you either remove from or add to that directory
- tree.
-
- If you move an object from the Desktop to some location that is not in
- the Desktop, ROBOSAVE will NOT save that object. For example, suppose
- your Desktop directory is C:\DESKTOP. The standard OS/2 install will
- create a Productivity folder in the OS/2 System folder. Suppose you
- use the Workplace Shell Drives facility to drag the Productivity
- folder to some location not in the Desktop, let's say into a C:\MISC
- directory. From a (FAT) file system point of view, you just moved the
- C:\DESKTOP\OS!2_SYS\PRODUCTI directory to C:\MISC\PRODUCTI. It is no
- longer under C:\DESKTOP and will not be automatically saved by
- ROBOSAVE. Even if you create a shadow on the Desktop of the moved
- Productivity folder, the moved folder will not be saved because it is
- no longer in the Desktop. However, if all you do is move the object
- to another place in the Desktop, e.g., suppose you move it from the
- OS/2 System folder to the Information folder (assuming this folder
- itself is still in the Desktop), then the object is still in the
- Desktop structure and will be automatically saved by ROBOSAVE.
-
- This works both ways. If you create directories or files in the
- Desktop directory tree, ROBOSAVE will consider all that information as
- part of the Desktop and will save it automatically. Thus you should
- be careful not to put a bunch of "extraneous" things in the Desktop
- unless you really do want all that information saved every time you do
- a ROBOSAVE.
-
- ROBOSAVE is not intended to migrate a Desktop from one release (or CSD
- level) of OS/2 to another. The control information that ROBOSAVE
- saves from one release of OS/2 may very well not be compatible with
- another OS/2 release. Similarly, if after you do a ROBOSAVE you then
- change any fundamental system characteristics (e.g., file system type,
- display type, or boot drive), restoring the old system's data to the
-
-
- ROBOSAVE User's Guide 2
- 9 Nov 1993 3:04 -- Employee Written Software Edition
-
-
- new system will not work. ROBOSAVE is intended to backup a system and
- then restore the data to exactly that same system.
-
- ROBOSAVE does not save the information used to automatically restart
- currently running programs. This is done to prevent restarting
- ROBOSAVE itself when the restored system is first IPLed. The impli-
- cation of this is that after your system has been restored, you must
- restart your normally running programs yourself for the initial IPL.
- For subsequent IPLs, those programs will be restarted (or not) as
- usual, depending on the way you have chosen to tailor OS/2 for this
- restart function.
-
-
- 1.4 PREREQUISITES
-
- Your operating system must be either OS/2 2.0 or 2.1. ROBOSAVE does
- not support earlier releases, e.g., OS/2 1.3.
-
- REXX is required in order to use ROBOSAVE. REXX is installed in OS/2
- by default. You can use OS/2 Selective Install to add REXX if it is
- not already present on your system.
-
-
- 1.5 INSTALLATION
-
- Download ROBOSAVE's zip file in binary and unzip it into a directory
- of your choice. Either this directory must be in your PATH, or it
- should be the current directory when ROBOSAVE is invoked.
-
-
- 1.6 ROBOSAVE PROFILE
-
- A profile is required to run ROBOSAVE. See ROBOSAVE.SMP for an
- example. The profile is an ASCII text file which specifies parameters
- for operating ROBOSAVE. Usually you will name your profile
- ROBOSAVE.PRO, although you can give it a different name and then
- specify that name in the ROBOSAVE command.
-
- The profile controls what files will be saved. If you don't specify
- the right files for saving, they won't be available for restoring --
- not good. Please invest the time to set up your profile appropriately
- to begin with, and keep it up to date as your application environment
- changes.
-
- If an "*" is found in column 1 of a line in the profile, that line is
- treated as a comment and is ignored. You should not have any blank
- lines in the profile; a blank line will terminate profile processing.
- One of the following verbs must start each of the non-comment lines of
-
-
- ROBOSAVE User's Guide 3
- 9 Nov 1993 3:04 -- Employee Written Software Edition
-
-
- the profile. The verbs can be in any order and can be in upper or
- lower case.
-
- SAVE=directory
- where "directory" specifies the directory in which ROBOSAVE will
- save the files to be backed up, together with certain control
- information. This directory will be created for you if it does
- not exist. This is a required verb; there is no default.
- Examples: "save=A:\SAVEDATA" and "save=E:\SV930922". Later
- sections of the User's Guide provide guidance about choosing a
- save directory and give details about what is put into it.
-
- SAVENUM=number
- where "number" specifies the number of generations of data that
- can be saved in this directory. A new generation is created each
- time you successfully complete ROBOSAVE. When "number" is
- exceeded, the oldest generation is erased and is replaced by the
- new generation, the data saved by the current execution of
- ROBOSAVE. If you reduce "number", all the older generations are
- erased up to the point where "number" will not be exceeded by the
- new generation. Valid values are 1 thru 9. This is a required
- verb; there is no default.
-
- CLEANUP=B|E
- specifies when old generations should be erased if the "SAVENUM="
- number is exceeded, as described above. "CLEANUP=B" means erase
- the data at the beginning of the ROBOSAVE operation, i.e., before
- the new generation is created. "CLEANUP=E" means erase the old
- data at the end, i.e., after the new generation has been created.
- The default is "CLEANUP=E". Erasing at the end is safer, in that
- the old data will not be erased unless the new generation has
- been successfully saved. However, erasing at the beginning might
- be necessary if the save directory is on a drive with little
- available space; you might need to erase the old generation first
- to make room for the new generation.
-
- LOG=P|T
- specifies the location of the ROBOSAVE.LOG file. This log
- records all ROBOSAVE activity for the save directory specified by
- the "SAVE" verb. "LOG=P" means put the log in the same directory
- as the ROBOSAVE profile. "LOG=T" means put the log in the save
- directory. The default is "LOG=P".
-
- ROBO=fileid [fileid ...]
- where each "fileid" specifies one or more files to be saved in
- the save directory. Normally the complete fileid (drive, path,
- and file) should be specified, e.g., robo=e:\somedir\myfile.xyz.
- Multiple fileids can be specified on each ROBO= line. Wildcards,
-
-
- ROBOSAVE User's Guide 4
- 9 Nov 1993 3:04 -- Employee Written Software Edition
-
-
- both "*" and "?", can be used in the same way they are used in
- the OS/2 COPY command. If there are any blanks in the fileid,
- enclose the entire fileid in double quotes. In addition, by
- enclosing the fileid in brackets, you indicate that directories
- below the one specified in the fileid should also be searched.
- Bracketed fileids can be intermixed with normal fileids on the
- same line. In the following examples, notice the use of double
- quotes and brackets; the quotes must be outside the brackets when
- both are used.
-
- Profile line Files saved
- -------------------------- ---------------------------------------
- robo=d:\os2\*.ini D:\OS2\OS2.INI, D:\OS2\OS2SYS.INI, etc.
- robo="d:\my dir\my data" D:\MY DIR\MY DATA
- robo=[e:\*.ini] All .INI files on the E: drive
- robo=[g:\my*.*] All files on the G: drive whose names
- start with MY with any extension
- robo="[g:\Down\U ar*.*]" All files in the G:\DOWN directory (and
- all its subdirectories) whose names
- start with "U AR" and any extension
- robo=c:\x.y d:\dir\ccc.y C:\X.Y and D:\DIR\CCC.Y
-
- Examine ROBOSAVE.SMP for a list of additional files you may want
- to save if you installed OS/2 Windows support, Communications
- Manager, or LAN Services.
-
- You should not attempt to save ". SF" files, e.g., "EA DATA. SF".
-
- WARNING: You should be careful with using wildcard characters
- and/or brackets. It is very easy to unintentionally specify many
- files you don't really want to backup. This is especially sig-
- nificant if your save directory is on a diskette, which has less
- space and operates more slowly than a hard disk. It is also easy
- to unintentionally save a file multiple times; ROBOSAVE will make
- a separate copy for each specification, whether it was an
- explicit specification or by wildcards or brackets. Thus, speci-
- fying both "robo=e:\abc.ini" and "robo=e:\*.ini" would copy
- ABC.INI twice. It is a good idea after doing a ROBOSAVE to
- examine ROBOSAVE.LOG and see exactly which files were copied;
- then adjust your profile if necessary. Needless to say, having
- something like "robo=c:\*.*" would attempt to save far more than
- you really intended; in fact it would likely fail as the process
- stumbled over certain files that cannot be copied normally.
-
-
-
-
-
-
-
- ROBOSAVE User's Guide 5
- 9 Nov 1993 3:04 -- Employee Written Software Edition
-
-
- 1.7 ROBOSAVE COMMAND
-
- Here is the syntax of the ROBOSAVE command. If the "/P" parameter is
- used, it must be the last parameter specified.
-
- ROBOSAVE [[fileid]...] [/P=profile]
-
- fileid
- has the same syntax and meaning as when used in a "ROBO=" line in
- a ROBOSAVE profile. Specifying a fileid as a ROBOSAVE command
- parameter has the same effect as specifying it in the profile.
- Fileids specified in the command are logically merged with those
- from the "ROBO=" lines of the profile. If no fileid parameter is
- specified in the ROBOSAVE command, only the fileids from the
- "ROBO=" lines will be used.
-
- /P=profile
- specifies the profile used by ROBOSAVE. This can be either a
- complete fileid (drive, path, file) or it can be just the drive
- and path; in the latter case the file is considered to be named
- ROBOSAVE.PRO and it must reside in the drive-path directory. If
- this parameter is not specified, the first occurrence of
- ROBOSAVE.PRO found in the current directory or PATH is used.
-
- Here are some examples:
-
- robosave
- robosave /p=d:\os2tools
- robosave e:\myapps\myapp.dat g:\temp\some.stf
- robosave "e:\my dir\my file.dat" "g:\main dir\sub dir"
- robosave e:\os!2_apps\*.ini /p=d:\my2tool\myprof.xyz
- robosave [e:\*.ini] "[g:\Down\This\Road\one way.*]"
-
-
- 1.8 DOING A SAVE
-
- After you have installed ROBOSAVE and have built your profile, you can
- invoke it to save your data. In fact, this is the part of ROBOSAVE
- you will be using most often; it is very easy to do. Before doing the
- save, however, you should ensure your Desktop has stabilized. In par-
- ticular, if you have made Desktop changes since you last IPLed,
- including moving objects around on the Desktop, and you want to be
- sure all this information is captured, you should shut down your
- system cleanly and reIPL. Then you can do the save. This is neces-
- sary because for some control information, OS/2 will not write the
- data to disk (where it can be copied by ROBOSAVE) until shutdown is
- done. Other control information is written to disk only occasionally,
- in a lazy-write fashion. Doing a shutdown will force that information
-
-
- ROBOSAVE User's Guide 6
- 9 Nov 1993 3:04 -- Employee Written Software Edition
-
-
- to disk, too. Of course after you reIPL, don't start making more
- Desktop changes before doing the ROBOSAVE. It is preferable to have
- as little as possible going on while ROBOSAVE is running to lessen the
- chance that any data will be changing while it is being saved. If
- that happens, the saved data might be inconsistent and any subsequent
- restore from it might not produce what you want. ROBOSAVE runs
- quickly. Be patient and let it operate without interference.
-
- Now to do the save. Normally you just enter "ROBOSAVE" at an OS/2
- command prompt, either full screen or windowed. If necessary, you can
- specify ROBOSAVE command parameters, as described in the preceding
- section. However most people will specify all fileids via "ROBO="
- lines in their profile and will put their profile in a directory in
- their PATH; if you do this, no command parameters are necessary -- you
- can just say "ROBOSAVE".
-
- If you want to be fancier about ROBOSAVE invocation, you can build an
- OS/2 program object and then doubleclick on its icon to do a ROBOSAVE.
- To build such an object, drag a program object from the Templates
- folder. Then fill in the blanks as follows:
-
- - On the Program page:
-
- - Set "Path and file name" to "x:\path\ROBOSAVE.CMD". Replace
- "x:\path" with the drive and directory where you put ROBOSAVE.
- - Set "Parameters" with whatever parameters you need (usually
- leave this blank).
- - Set "Working directory" with ROBOSAVE's directory, i.e., with
- your values for the "x:\path" mentioned in the first item.
-
- - On the Session page:
-
- - Uncheck "Close window on exit". This is necessary to allow
- you to see any error messages before the window is closed.
- When you are finished with ROBOSAVE, just close the window as
- you normally would, e.g., by doubleclicking on the system icon
- in the upper left corner of the window.
-
- - On the General page:
-
- - Change "Title" to whatever you want to show up under the pro-
- gram's icon. If you have done all the preceding steps, the
- icon shipped with ROBOSAVE should already be displayed.
-
- WARNING: Needless to say, if you wait to do a backup until AFTER you
- have had a problem, then any restore with that backup data will just
- put you right back in the problem state again. Thus you need to do
- backups BEFORE you have a problem. Generally, you should do a backup
-
-
- ROBOSAVE User's Guide 7
- 9 Nov 1993 3:04 -- Employee Written Software Edition
-
-
- after any major change if you are satisfied with the results of that
- change. This will give you a checkpoint of a system that you are now
- satisfied with, but before you or some outside force messes it up. Of
- course this assumes you have been following this procedure all along
- and thus already have a good backup of the system BEFORE making the
- major change. If you don't have such a BEFORE-the-change backup
- already, then make one first. Because ROBOSAVE is so easy to use and
- takes only a few minutes at most, it is very easy to do all this.
- Just be sure to label your backups so you'll know what you've got. We
- recommend doing major backups to diskettes (freshly formatted and
- still empty) -- one backup per diskette.
-
-
- 1.9 DOING A RESTORE
-
- Suppose disaster has just struck. Maybe you accidentally powered off
- your system without doing a shutdown first, or possibly a power outage
- occurred. Both of these can result in a corrupted Desktop. Or maybe
- you got overenthusiatic while you were tidying up your Desktop and
- dropped the wrong thing on the shredder. Or maybe you encountered a
- programming bug. Or maybe your hardware hiccupped. Or ... you get
- the idea. If you have been faithfully doing ROBOSAVEs and have been
- saving the right data, you can probably recover your system completely
- and quickly. It is important to realize that the system will be
- restored back to the point it was at when you did the ROBOSAVE for
- that data. If you made any changes after that ROBOSAVE, those changes
- may be lost. This points out the desirability of doing frequent
- ROBOSAVEs and keeping your profile up to date.
-
- Part of the data created by ROBOSAVE in your save directory is a
- ROBOREST.CMD. Executing that command will restore the data saved by
- the ROBOSAVE you issued most recently to that save directory. If you
- have saved multiple generations in the same save directory, there will
- be a ROBOREST.CM1, a ROBOREST.CM2, etc. These represent the next
- older generation, and the next older beyond that, etc., with the
- oldest having the highest .CMn number. If you want to recover a pre-
- vious generation instead of the most recent, just rename ROBOREST.CMD
- to some other name, e.g., ROBOREST.CUR, and then rename the desired
- ROBOREST.CMn to ROBOREST.CMD. You can examine ROBOSAVE.LOG to see
- when each save was done and what files were associated with each. You
- can doublecheck the chosen command file to ensure it is the desired
- one.
-
- Before invoking ROBOREST, you must first set up the proper OS/2 envi-
- ronment. You cannot simply issue ROBOREST from an OS/2 command prompt
- in your normal system since some of the files ROBOREST will try to
- replace are in use by the normal system. You must establish an envi-
- ronment independent of your normal system and issue ROBOREST from
-
-
- ROBOSAVE User's Guide 8
- 9 Nov 1993 3:04 -- Employee Written Software Edition
-
-
- there. Fortunately that is easy to do. Below are three different
- techniques you can use. They produce equivalent results. Use the one
- that is most convenient for you.
-
- ROBOREST will attempt to verify that you have established a proper
- environment. If it detects something is wrong, it will display an
- error message and stop the procedure without making any changes to
- your system. Part of the recovery procedure involves erasing the old
- (possibly corrupted) Desktop before restoring the saved Desktop. You
- will be prompted for final authorization before this is done. If you
- answer anything other than "YES", the ROBOREST procedure will stop and
- no changes will be made to your system.
-
- You should make sure you don't have a directory in the Desktop tree as
- the current directory for its drive. For example, if C:\DESKTOP is
- your OS/2 Desktop directory, make sure you haven't done a CHANGEDIR on
- C: to \DESKTOP or to any of the directories under it. Having any of
- those directories as the current directory would interfere with the
- deletion of the Desktop tree. ROBOREST (ROBOSVUT) will fail if you
- make this mistake and will issue an error message. If this happens,
- just do a "CD \" and reissue ROBOREST.
-
- Except for the OS2.INI and OS2SYS.INI files, ROBOREST will restore the
- same Readonly, System, and Hidden attributes for each file that
- existed when you saved the file with ROBOSAVE.
-
- Restoring the Desktop - Method 1
-
- This method requires you to have the Install and DISK 1 diskettes for
- the version of OS/2 you booted when you did the save. It is required
- that the OS/2 level of the diskettes must match exactly the level of
- the system being restored, including the CSD level. (In fact you may
- be able to get away with a different level sometimes, but other times
- you can't. Since failure can result in a corrupted system, we require
- the levels to be the same.) Instead of using the actual installation
- diskettes, you might use something equivalent, e.g., a diskette you
- have created with the BOOTOS2 tool (also known as BOOT2X); the
- diskette must be at the correct OS/2 level, of course. Or you might
- boot from another partition (at the correct OS/2 level, of course).
-
- - Boot from the OS/2 2.x Install and DISK 1 diskettes.
- - ESC to the OS/2 prompt when allowed.
- - Place your "save" diskette in A: if restoring from diskette.
- - Change to the "save" drive you will restore from.
- - Change to the "save" directory containing ROBOREST.CMD.
- - Invoke ROBOREST; there are no parameters.
- - Respond YES when prompted to delete the Desktop.
- - Re-boot when the restore is complete.
-
-
- ROBOSAVE User's Guide 9
- 9 Nov 1993 3:04 -- Employee Written Software Edition
-
-
- Restoring the Desktop - Method 2
-
- This method requires that the SHFTRN package be installed on your
- system. It must be on your hard drive and your CONFIG.SYS must have
- been edited to place the call to SHIFTRUN in it. This method is
- faster than Method 1 and does not require the two OS/2 installation
- diskettes.
-
- - Get the SHFTRN package from the same place you got ROBOSAVE.
- - Download and install it as directed.
- - Re-boot.
- - Press Left-Shift when the SHIFTRUN timer appears, then release it.
- - Place your "save" diskette in A: if restoring from diskette.
- - Change to the "save" drive you will restore from.
- - Change to the "save" directory containing ROBOREST.CMD.
- - Invoke ROBOREST; there are no parameters.
- - Respond YES when prompted to delete the Desktop.
- - Re-boot when the restore is complete.
-
- Restoring the Desktop - Method 3
-
- This method is similar to using SHFTRN, but does not require the
- SHFTRN tool. It is quick and straightforward. The tradeoff is that
- you must edit CONFIG.SYS before using ROBOREST. You could make this
- your standard CONFIG.SYS, but then you would need to do an EXIT at the
- command prompt for every IPL. SHFTRN doesn't require that.
-
- - Edit CONFIG.SYS to put this line at the end,
- where "x:" is your boot drive:
- CALL=x:\OS2\CMD.EXE /K
- - IPL; eventually you will get a command prompt.
- - Place your "save" diskette in A: if restoring from diskette.
- - Change to the "save" drive you will restore from.
- - Change to the "save" directory containing ROBOREST.CMD.
- - Invoke ROBOREST; there are no parameters.
- - Respond YES when prompted to delete the Desktop.
- - Re-boot when the restore is complete.
-
-
- 1.10 RECOVERY OF INDIVIDUAL FILES
-
- ROBOSAVE can also be useful if you have lost one or a few of your
- saved files instead of losing the whole Desktop. For example, if you
- have accidentally erased your CONFIG.SYS, you can look at ROBOSAVE.LOG
- to see the name under which it was copied to your save directory.
- Then just copy it back to your boot drive and rename it to CONFIG.SYS.
-
-
-
-
- ROBOSAVE User's Guide 10
- 9 Nov 1993 3:04 -- Employee Written Software Edition
-
-
- 1.11 CHOOSING A SAVE DIRECTORY
-
- There are some decisions you need to make when choosing a save direc-
- tory. You can place the directory either on a diskette or on a hard
- drive. Placing the data on a diskette isolates it from the system and
- gives you some additional reliability. For example, if the system
- hard drive itself fails, you can reinstall OS/2 and your applications
- on a repaired drive and then use ROBOSAVE to reapply all your tai-
- loring.
-
- You can easily and inexpensively keep multiple generations of backups
- on separate diskettes with one generation per diskette. Then just
- rotate thru the set of diskettes; when you are ready to do the next
- ROBOSAVE, format the diskette that holds the oldest generation and use
- it for the new save. Then even if your most recent backup is lost
- because for some reason the diskette holding it is no longer readable
- (it happens more often than you would like to think), you can go back
- to the next most recent backup on a separate diskette.
-
- On the other hand, saving to a diskette is much slower than saving to
- a hard drive. Also, if the amount of data to be saved is large, you
- may exceed a single diskette's capacity; ROBOSAVE does not support
- diskette spanning. For a typical system the diskette space constraint
- will not be a problem, particularly if you dedicate each diskette to a
- single generation of saved data. Normally the amount of data that
- should be saved is well under a megabyte. However, you might have a
- special case and have a large amount of data to save.
-
- A good technique is to combine the two media approaches by making fre-
- quent (quick) saves to a hard drive, but making occasional saves to
- the next available diskette, e.g., after you have made some partic-
- ularly important change to your system. Also, if your saved data is
- too large for a diskette, you can save it to a hard drive and then
- later use a data compression program, such as PKZIP, to produce a file
- small enough to store offline on a diskette. Note there was a problem
- in OS/2 2.0 in which the OS2.INI and OS2SYS.INI files tended to grow
- very large; that problem seems to have been much alleviated in OS/2
- 2.1.
-
- Another consideration with choosing a save directory is whether to use
- the root directory as the save directory, even on a dedicated
- diskette. Generally that is not a good idea since for the FAT file
- system (which is the system used for diskettes) there is a limit to
- how many files can be stored in the root directory. The limit depends
- on the size of the hard disk or diskette involved, but is typically
- not much greater than several hundred files. On the other hand, a
- subdirectory does not have such a limit. Thus it is a good idea to
-
-
-
- ROBOSAVE User's Guide 11
- 9 Nov 1993 3:04 -- Employee Written Software Edition
-
-
- specify something like "SAVE=A:\SAVEDIR" rather than "SAVE=A:\" in
- your profile.
-
-
- 1.12 CONTENTS OF THE SAVE DIRECTORY
-
- In your ROBOSAVE profile you designate a save directory thru the
- "SAVE=" verb. When you invoke ROBOSAVE, Desktop data and the files
- you specified are saved there, together with some ROBOSAVE control
- information. Here are the types of files you may see in the save
- directory. Each "n" represents a decimal digit.
-
- nnnnnnnn.FIL - A "robo=" file or a file from a Desktop directory
- nnnnnnnn.EAS - Extended Attributes from a file or Desktop directory
- ROBOREST.CMD - Restore command created by the most recent ROBOSAVE
- ROBOREST.CMn - Restore command created by a previous ROBOSAVE
- ROBOSVUT.EXE - Module to check the OS/2 state and erase the Desktop
- ROBOSAVE.LOG - Records all ROBOSAVE activity for this save directory
- ROBOSAVE.MRK - File containing last used nnnnnnnn value
-
- All saved files and all files holding split extended attributes are
- named with a numeric filename (nnnnnnnn) when put into the save direc-
- tory. The numeric value is incremented as each file is created. A
- check is made to ensure that the next value to be used is not already
- in use in this save directory; if it is in use, the value is incre-
- mented until a free value is found. Using a numeric name instead of
- the real name solves several problems. It avoids ambiguity when two
- files with the same name are saved from different directories, or when
- the same file is saved multiple times in multiple generations. It
- also allows files with long HPFS names to be easily saved in a FAT
- save directory, e.g., on a diskette. The original name is restored by
- the ROBOREST.CMD when it is executed. You can see the correspondence
- between the nnnnnnnn names and the real names by looking at
- ROBOSAVE.LOG or the appropriate ROBOREST command.
-
- The "SAVENUM=" verb in the ROBOSAVE profile controls how many gener-
- ations of data will be kept in the save directory. ROBOREST.CMD is
- associated with the most recent ROBOSAVE. Each ROBOREST.CMn file is a
- renamed ROBOREST.CMD that is associated with a preceding generation.
- When the number of generations exceeds the "SAVENUM=" value, the
- oldest ROBOREST.CMn file and all the files it points to will be
- deleted from the save directory. For example, if you have SAVENUM=3,
- the following ROBOREST.CMn files would be kept in the "SAVE=" direc-
- tory.
-
- ROBOREST.CMD --> most recent
- ROBOREST.CM1 --> 2nd most recent
- ROBOREST.CM2 --> 3rd most recent
-
-
- ROBOSAVE User's Guide 12
- 9 Nov 1993 3:04 -- Employee Written Software Edition
-
-
- If you run ROBOSAVE again, ROBOREST.CM2 and all the files it points to
- will be deleted. ROBOREST.CM1 will be renamed to ROBOREST.CM2 and
- ROBOREST.CMD will be renamed to ROBOREST.CM1. A new ROBOREST.CMD will
- be written containing commands to restore the data saved by the
- current run.
-
-
- 1.13 ROBOSVUT UTILITY
-
- ROBOSVUT.EXE is a utility module which is used by both ROBOSAVE.CMD
- and ROBOREST.CMD. It accesses some low-level OS/2 services that are
- not directly available thru OS/2 commands or REXX functions.
-
- ROBOSAVE.CMD uses ROBOSVUT to copy files which for some reason cannot
- be copied by the OS/2 COPY command. For example, this can happen if a
- file has already been opened by some other process at the time
- ROBOSAVE tries to COPY it. In that case you will see a message from
- ROBOSAVE.CMD that the COPY failed and that now ROBOSVUT will be tried.
- ROBOSVUT will usually succeed in this situation. ROBOSAVE.CMD will
- also use ROBOSVUT to copy files that have been marked with the Hidden
- or System attribute; OS/2 COPY cannot find such files. A consider-
- ation with using ROBOSVUT to copy a file is that it will not save the
- file's extended attributes. For the files ROBOSVUT is typically used
- to save, that is not important because they do not have extended
- attributes.
-
- ROBOREST.CMD uses ROBOSVUT to verify the OS/2 environment before pro-
- ceeding. ROBOSVUT will check that the right level of OS/2 has been
- IPLed to do the ROBOREST; it must be the level that was used to do the
- ROBOSAVE. This check will detect most errors, but it will not detect
- if there is a CSD mismatch. ROBOSVUT will also verify that the OS/2
- Workplace Shell is not active for the Desktop being restored; if it
- were active, the restore would very likely be unsuccessful, or at
- least the results would be unpredictable. (Note that the Workplace
- Shell CAN be active for a different Desktop; thus it is valid to IPL
- from a different partition with its own Desktop to do the ROBOREST of
- the inactive partition you want to recover.) Finally, if all the
- tests are passed, the user will be prompted for authorization to erase
- the Desktop to prepare a clean slate for the restoration of the saved
- Desktop. If the user answers "YES", ROBOSVUT will erase the Desktop
- directory tree and then return to ROBOREST, which will then do the
- actual restore.
-
- Here are the return codes from ROBOSVUT.EXE. If an OS/2 function
- returns an error code to ROBOSVUT, both the OS/2 function name and the
- returned error code are displayed in addition to ROBOSVUT's own return
- code from the following list.
-
-
-
- ROBOSAVE User's Guide 13
- 9 Nov 1993 3:04 -- Employee Written Software Edition
-
-
- 1 - Error. Opening source file for reading.
- 2 - Error. Opening target file for writing.
- 6 - Error. Unable to clear attributes on target.
- 11 - Error. DosAllocMem failed.
- 12 - Error. DosQuery failed for source.
- 13 - Error. DosQuery failed for target.
- 14 - Error. Open (READONLY) failed for target.
- 15 - Error. Read failed for source.
- 16 - Error. Write failed for target. Target disk full?
- 17 - Error. Close failed for target.
- 20 - Error. Unable to update attributes/timestamp for target.
- 21 - Error. VERIFY_COPY failed.
- 100 - Copy was successful.
- 199 - Desktop deleted successfully for ERASE_DESKTOP.
- 200 - User answered "NO" to prompt for ERASE_DESKTOP.
- 201 - Error. DosFindFirst failed for directory.
- 202 - Error. DosFindFirst found other than "." entry.
- 203 - Error. DosDelete failed.
- 204 - Error. DosFindNext failed.
- 205 - Error. DosFindClose failed.
- 206 - Error. DosDeleteDir failed.
- 207 - Error. Maximum number of DosFindFirst/DosFindNexts exceeded.
- 251 - Error. DosQuerySysInfo failed.
- 252 - Error. DosOpen failed for test file.
- 253 - Error. DosClose failed for test file.
- 254 - Error. DosSetCurrentDir failed.
- 300 - Error. DosOpen of test file detected Workplace Shell open.
- 301 - Error. OS/2 version mismatch between ROBOSAVE and ROBOREST.
-
- Note: If Ctrl-Break is pressed while ROBOSVUT is working or if the user
- selects "End the program" for an OS/2 disk error prompt, a 99
- can be returned by the system to the invoker of ROBOSVUT.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ROBOSAVE User's Guide 14
- @@@@@@