home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 11 Util / 11-Util.zip / robosv.zip / ROBOSAVE.INF (.txt) < prev    next >
OS/2 Help File  |  1993-11-09  |  33KB  |  619 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. ROBOSAVE User's Guide ΓòÉΓòÉΓòÉ
  3.  
  4.              ROBOSAVE v3.04 1993/11/9 by Dick Kurtz and Jeff Knauth
  5.  
  6.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            This edition of the User's Guide is for the Employee Written Software release of ROBOSAVE.
  7.  
  8.  
  9. (c) Copyright International Business Machines Corporation 1994.
  10. All rights Reserved.
  11.  
  12.  
  13. ΓòÉΓòÉΓòÉ 1.1. What ROBOSAVE Does ΓòÉΓòÉΓòÉ
  14.  
  15. ROBOSAVE is a tool which allows you to quickly and easily back up the OS/2 2.x 
  16. Desktop.  In addition you can save a limited number of user-specified files. 
  17. If problems occur later, you can easily restore the saved information.  Because 
  18. it is so easy to do a ROBOSAVE, you will find that doing frequent backups is 
  19. quite painless. 
  20.  
  21. The OS/2 2.x Desktop consists of control information for such things as 
  22. folders, program objects, printer objects, and shadows.  It also contains data 
  23. about the tailoring you have done for colors, fonts, titles, window positions, 
  24. associations, and much more.  You may have invested a significant amount of 
  25. time in adjusting the Desktop to your preferences. ROBOSAVE provides a good way 
  26. to protect that investment. 
  27.  
  28.  
  29. ΓòÉΓòÉΓòÉ 1.2. Overview ΓòÉΓòÉΓòÉ
  30.  
  31. Using ROBOSAVE is very simple.  Here is a summary.  Details are in following 
  32. sections, together with suggestions for how you might plan ROBOSAVE backups for 
  33. your system. 
  34.  
  35. o Installation 
  36.  
  37.    - Download and unzip ROBOSAVE's zip file into a directory of your choice 
  38.    - Set up a ROBOSAVE profile; you can use ROBOSAVE.SMP as a model 
  39.  
  40. o Doing a save 
  41.  
  42.    - Stabilize the Desktop by doing a shutdown and IPL 
  43.    - Invoke ROBOSAVE, using the profile you created above 
  44.  
  45. o Doing a restore 
  46.  
  47.    - Bring up an OS/2 environment suitable for doing ROBOREST 
  48.    - Switch to the save drive and directory 
  49.    - Invoke ROBOREST 
  50.    - ReIPL 
  51.  
  52.  
  53. ΓòÉΓòÉΓòÉ 1.3. What ROBOSAVE Does Not Do ΓòÉΓòÉΓòÉ
  54.  
  55. ROBOSAVE does not do a full backup of all the data on your system. Instead it 
  56. saves only certain key information.  Part of this information is saved 
  57. automatically.  Part you must specify thru a profile.  A sample ROBOSAVE 
  58. profile is provided; however, there may be other critical files for your 
  59. applications that you should specify in your own profile. Restoring this 
  60. information is often sufficient to get your system working again very quickly. 
  61. Of course doing a full backup provides a better guarantee of a full recovery. 
  62. However, doing a full backup requires much more time and more space on your 
  63. backup medium. 
  64.  
  65. From ROBOSAVE's point of view the Desktop consists of the Desktop directory and 
  66. all the files and directories under it.  This is the information ROBOSAVE will 
  67. save automatically.  You must be careful about what information you either 
  68. remove from or add to that directory tree. 
  69.  
  70. If you move an object from the Desktop to some location that is not in the 
  71. Desktop, ROBOSAVE will NOT save that object.  For example, suppose your Desktop 
  72. directory is C:\DESKTOP.  The standard OS/2 install will create a Productivity 
  73. folder in the OS/2 System folder.  Suppose you use the Workplace Shell Drives 
  74. facility to drag the Productivity folder to some location not in the Desktop, 
  75. let's say into a C:\MISC directory.  From a (FAT) file system point of view, 
  76. you just moved the C:\DESKTOP\OS!2_SYS\PRODUCTI directory to C:\MISC\PRODUCTI. 
  77. It is no longer under C:\DESKTOP and will not be automatically saved by 
  78. ROBOSAVE.  Even if you create a shadow on the Desktop of the moved Productivity 
  79. folder, the moved folder will not be saved because it is no longer in the 
  80. Desktop.  However, if all you do is move the object to another place in the 
  81. Desktop, e.g., suppose you move it from the OS/2 System folder to the 
  82. Information folder (assuming this folder itself is still in the Desktop), then 
  83. the object is still in the Desktop structure and will be automatically saved by 
  84. ROBOSAVE. 
  85.  
  86. This works both ways.  If you create directories or files in the Desktop 
  87. directory tree, ROBOSAVE will consider all that information as part of the 
  88. Desktop and will save it automatically.  Thus you should be careful not to put 
  89. a bunch of "extraneous" things in the Desktop unless you really do want all 
  90. that information saved every time you do a ROBOSAVE. 
  91.  
  92. ROBOSAVE is not intended to migrate a Desktop from one release (or CSD level) 
  93. of OS/2 to another.  The control information that ROBOSAVE saves from one 
  94. release of OS/2 may very well not be compatible with another OS/2 release. 
  95. Similarly, if after you do a ROBOSAVE you then change any fundamental system 
  96. characteristics (e.g., file system type, display type, or boot drive), 
  97. restoring the old system's data to the new system will not work.  ROBOSAVE is 
  98. intended to backup a system and then restore the data to exactly that same 
  99. system. 
  100.  
  101. ROBOSAVE does not save the information used to automatically restart currently 
  102. running programs.  This is done to prevent restarting ROBOSAVE itself when the 
  103. restored system is first IPLed.  The implication of this is that after your 
  104. system has been restored, you must restart your normally running programs 
  105. yourself for the initial IPL.  For subsequent IPLs, those programs will be 
  106. restarted (or not) as usual, depending on the way you have chosen to tailor 
  107. OS/2 for this restart function. 
  108.  
  109.  
  110. ΓòÉΓòÉΓòÉ 1.4. Prerequisites ΓòÉΓòÉΓòÉ
  111.  
  112. Your operating system must be either OS/2 2.0 or 2.1.  ROBOSAVE does not 
  113. support earlier releases, e.g., OS/2 1.3. 
  114.  
  115. REXX is required in order to use ROBOSAVE.  REXX is installed in OS/2 by 
  116. default.  You can use OS/2 Selective Install to add REXX if it is not already 
  117. present on your system. 
  118.  
  119.  
  120. ΓòÉΓòÉΓòÉ 1.5. Installation ΓòÉΓòÉΓòÉ
  121.  
  122. Download ROBOSAVE's zip file in binary and unzip it into a directory of your 
  123. choice.  Either this directory must be in your PATH, or it should be the 
  124. current directory when ROBOSAVE is invoked. 
  125.  
  126.  
  127. ΓòÉΓòÉΓòÉ 1.6. ROBOSAVE Profile ΓòÉΓòÉΓòÉ
  128.  
  129. A profile is required to run ROBOSAVE.  See ROBOSAVE.SMP for an example. The 
  130. profile is an ASCII text file which specifies parameters for operating 
  131. ROBOSAVE.  Usually you will name your profile ROBOSAVE.PRO, although you can 
  132. give it a different name and then specify that name in the ROBOSAVE command. 
  133.  
  134. The profile controls what files will be saved.  If you don't specify the right 
  135. files for saving, they won't be available for restoring -- not good. Please 
  136. invest the time to set up your profile appropriately to begin with, and keep it 
  137. up to date as your application environment changes. 
  138.  
  139. If an "*" is found in column 1 of a line in the profile, that line is treated 
  140. as a comment and is ignored.  You should not have any blank lines in the 
  141. profile; a blank line will terminate profile processing.  One of the following 
  142. verbs must start each of the non-comment lines of the profile.  The verbs can 
  143. be in any order and can be in upper or lower case. 
  144.  
  145. SAVE=directory 
  146.      where "directory" specifies the directory in which ROBOSAVE will save the 
  147.      files to be backed up, together with certain control information. This 
  148.      directory will be created for you if it does not exist.  This is a 
  149.      required verb; there is no default.  Examples: "save=A:\SAVEDATA" and 
  150.      "save=E:\SV930922".  Later sections of the User's Guide provide guidance 
  151.      about choosing a save directory and give details about what is put into 
  152.      it. 
  153.  
  154. SAVENUM=number 
  155.      where "number" specifies the number of generations of data that can be 
  156.      saved in this directory.  A new generation is created each time you 
  157.      successfully complete ROBOSAVE.  When "number" is exceeded, the oldest 
  158.      generation is erased and is replaced by the new generation, the data saved 
  159.      by the current execution of ROBOSAVE.  If you reduce "number", all the 
  160.      older generations are erased up to the point where "number" will not be 
  161.      exceeded by the new generation.  Valid values are 1 thru 9.  This is a 
  162.      required verb; there is no default. 
  163.  
  164. CLEANUP=B|E 
  165.      specifies when old generations should be erased if the "SAVENUM=" number 
  166.      is exceeded, as described above.  "CLEANUP=B" means erase the data at the 
  167.      beginning of the ROBOSAVE operation, i.e., before the new generation is 
  168.      created.  "CLEANUP=E" means erase the old data at the end, i.e., after the 
  169.      new generation has been created.  The default is "CLEANUP=E".  Erasing at 
  170.      the end is safer, in that the old data will not be erased unless the new 
  171.      generation has been successfully saved. However, erasing at the beginning 
  172.      might be necessary if the save directory is on a drive with little 
  173.      available space; you might need to erase the old generation first to make 
  174.      room for the new generation. 
  175.  
  176. LOG=P|T 
  177.      specifies the location of the ROBOSAVE.LOG file.  This log records all 
  178.      ROBOSAVE activity for the save directory specified by the "SAVE" verb. 
  179.      "LOG=P" means put the log in the same directory as the ROBOSAVE profile. 
  180.      "LOG=T" means put the log in the save directory.  The default is "LOG=P". 
  181.  
  182. ROBO=fileid [fileid ...] 
  183.      where each "fileid" specifies one or more files to be saved in the save 
  184.      directory.  Normally the complete fileid (drive, path, and file) should be 
  185.      specified, e.g., robo=e:\somedir\myfile.xyz. Multiple fileids can be 
  186.      specified on each ROBO= line.  Wildcards, both "*" and "?", can be used in 
  187.      the same way they are used in the OS/2 COPY command.  If there are any 
  188.      blanks in the fileid, enclose the entire fileid in double quotes. In 
  189.      addition, by enclosing the fileid in brackets, you indicate that 
  190.      directories below the one specified in the fileid should also be searched. 
  191.      Bracketed fileids can be intermixed with normal fileids on the same line. 
  192.      In the following examples, notice the use of double quotes and brackets; 
  193.      the quotes must be outside the brackets when both are used. 
  194.  
  195.                  Profile line                        Files saved
  196.           --------------------------   ---------------------------------------
  197.           robo=d:\os2\*.ini            D:\OS2\OS2.INI, D:\OS2\OS2SYS.INI, etc.
  198.           robo="d:\my dir\my  data"    D:\MY DIR\MY  DATA
  199.           robo=[e:\*.ini]              All .INI files on the E: drive
  200.           robo=[g:\my*.*]              All files on the G: drive whose names
  201.                                          start with MY with any extension
  202.           robo="[g:\Down\U ar*.*]"     All files in the G:\DOWN directory (and
  203.                                          all its subdirectories) whose names
  204.                                          start with "U AR" and any extension
  205.           robo=c:\x.y  d:\dir\ccc.y    C:\X.Y and D:\DIR\CCC.Y
  206.  
  207.      Examine ROBOSAVE.SMP for a list of additional files you may want to save 
  208.      if you installed OS/2 Windows support, Communications Manager, or LAN 
  209.      Services. 
  210.  
  211.      You should not attempt to save ". SF" files, e.g., "EA DATA. SF". 
  212.  
  213.      WARNING: You should be careful with using wildcard characters and/or 
  214.      brackets.  It is very easy to unintentionally specify many files you don't 
  215.      really want to backup.  This is especially significant if your save 
  216.      directory is on a diskette, which has less space and operates more slowly 
  217.      than a hard disk. It is also easy to unintentionally save a file multiple 
  218.      times; ROBOSAVE will make a separate copy for each specification, whether 
  219.      it was an explicit specification or by wildcards or brackets.  Thus, 
  220.      specifying both "robo=e:\abc.ini" and "robo=e:\*.ini" would copy ABC.INI 
  221.      twice.  It is a good idea after doing a ROBOSAVE to examine ROBOSAVE.LOG 
  222.      and see exactly which files were copied; then adjust your profile if 
  223.      necessary. Needless to say, having something like "robo=c:\*.*" would 
  224.      attempt to save far more than you really intended; in fact it would likely 
  225.      fail as the process stumbled over certain files that cannot be copied 
  226.      normally. 
  227.  
  228.  
  229. ΓòÉΓòÉΓòÉ 1.7. ROBOSAVE Command ΓòÉΓòÉΓòÉ
  230.  
  231. Here is the syntax of the ROBOSAVE command.  If the "/P" parameter is used, it 
  232. must be the last parameter specified. 
  233.  
  234. ROBOSAVE  [[fileid]...]  [/P=profile]
  235.  
  236. fileid 
  237.      has the same syntax and meaning as when used in a "ROBO=" line in a 
  238.      ROBOSAVE profile.  Specifying a fileid as a ROBOSAVE command parameter has 
  239.      the same effect as specifying it in the profile.  Fileids specified in the 
  240.      command are logically merged with those from the "ROBO=" lines of the 
  241.      profile.  If no fileid parameter is specified in the ROBOSAVE command, 
  242.      only the fileids from the "ROBO=" lines will be used. 
  243.  
  244. /P=profile 
  245.      specifies the profile used by ROBOSAVE.  This can be either a complete 
  246.      fileid (drive, path, file) or it can be just the drive and path; in the 
  247.      latter case the file is considered to be named ROBOSAVE.PRO and it must 
  248.      reside in the drive-path directory.  If this parameter is not specified, 
  249.      the first occurrence of ROBOSAVE.PRO found in the current directory or 
  250.      PATH is used. 
  251.  
  252. Here are some examples: 
  253.  
  254. robosave
  255. robosave  /p=d:\os2tools
  256. robosave  e:\myapps\myapp.dat   g:\temp\some.stf
  257. robosave  "e:\my dir\my file.dat"   "g:\main  dir\sub dir"
  258. robosave  e:\os!2_apps\*.ini   /p=d:\my2tool\myprof.xyz
  259. robosave  [e:\*.ini]   "[g:\Down\This\Road\one way.*]"
  260.  
  261.  
  262. ΓòÉΓòÉΓòÉ 1.8. Doing a Save ΓòÉΓòÉΓòÉ
  263.  
  264. After you have installed ROBOSAVE and have built your profile, you can invoke 
  265. it to save your data.  In fact, this is the part of ROBOSAVE you will be using 
  266. most often; it is very easy to do.  Before doing the save, however, you should 
  267. ensure your Desktop has stabilized.  In particular, if you have made Desktop 
  268. changes since you last IPLed, including moving objects around on the Desktop, 
  269. and you want to be sure all this information is captured, you should shut down 
  270. your system cleanly and reIPL.  Then you can do the save.  This is necessary 
  271. because for some control information, OS/2 will not write the data to disk 
  272. (where it can be copied by ROBOSAVE) until shutdown is done.  Other control 
  273. information is written to disk only occasionally, in a lazy-write fashion. 
  274. Doing a shutdown will force that information to disk, too.  Of course after you 
  275. reIPL, don't start making more Desktop changes before doing the ROBOSAVE. It is 
  276. preferable to have as little as possible going on while ROBOSAVE is running to 
  277. lessen the chance that any data will be changing while it is being saved.  If 
  278. that happens, the saved data might be inconsistent and any subsequent restore 
  279. from it might not produce what you want.  ROBOSAVE runs quickly.  Be patient 
  280. and let it operate without interference. 
  281.  
  282. Now to do the save.  Normally you just enter "ROBOSAVE" at an OS/2 command 
  283. prompt, either full screen or windowed.  If necessary, you can specify ROBOSAVE 
  284. command parameters, as described in the preceding section.  However most people 
  285. will specify all fileids via "ROBO=" lines in their profile and will put their 
  286. profile in a directory in their PATH; if you do this, no command parameters are 
  287. necessary -- you can just say "ROBOSAVE". 
  288.  
  289. If you want to be fancier about ROBOSAVE invocation, you can build an OS/2 
  290. program object and then doubleclick on its icon to do a ROBOSAVE. To build such 
  291. an object, drag a program object from the Templates folder. Then fill in the 
  292. blanks as follows: 
  293.  
  294. o On the Program page: 
  295.  
  296.    - Set "Path and file name" to "x:\path\ROBOSAVE.CMD".  Replace "x:\path" 
  297.      with the drive and directory where you put ROBOSAVE. 
  298.    - Set "Parameters" with whatever parameters you need (usually leave this 
  299.      blank). 
  300.    - Set "Working directory" with ROBOSAVE's directory, i.e., with your values 
  301.      for the "x:\path" mentioned in the first item. 
  302.  
  303. o On the Session page: 
  304.  
  305.    - Uncheck "Close window on exit".  This is necessary to allow you to see any 
  306.      error messages before the window is closed.  When you are finished with 
  307.      ROBOSAVE, just close the window as you normally would, e.g., by 
  308.      doubleclicking on the system icon in the upper left corner of the window. 
  309.  
  310. o On the General page: 
  311.  
  312.    - Change "Title" to whatever you want to show up under the program's icon. 
  313.      If you have done all the preceding steps, the icon shipped with ROBOSAVE 
  314.      should already be displayed. 
  315.  
  316. WARNING: Needless to say, if you wait to do a backup until AFTER you have had a 
  317. problem, then any restore with that backup data will just put you right back in 
  318. the problem state again.  Thus you need to do backups BEFORE you have a 
  319. problem.  Generally, you should do a backup after any major change if you are 
  320. satisfied with the results of that change.  This will give you a checkpoint of 
  321. a system that you are now satisfied with, but before you or some outside force 
  322. messes it up.  Of course this assumes you have been following this procedure 
  323. all along and thus already have a good backup of the system BEFORE making the 
  324. major change.  If you don't have such a BEFORE-the-change backup already, then 
  325. make one first.  Because ROBOSAVE is so easy to use and takes only a few 
  326. minutes at most, it is very easy to do all this.  Just be sure to label your 
  327. backups so you'll know what you've got.  We recommend doing major backups to 
  328. diskettes (freshly formatted and still empty) -- one backup per diskette. 
  329.  
  330.  
  331. ΓòÉΓòÉΓòÉ 1.9. Doing a Restore ΓòÉΓòÉΓòÉ
  332.  
  333. Suppose disaster has just struck.  Maybe you accidentally powered off your 
  334. system without doing a shutdown first, or possibly a power outage occurred. 
  335. Both of these can result in a corrupted Desktop.  Or maybe you got 
  336. overenthusiatic while you were tidying up your Desktop and dropped the wrong 
  337. thing on the shredder.  Or maybe you encountered a programming bug.  Or maybe 
  338. your hardware hiccupped.  Or ... you get the idea.  If you have been faithfully 
  339. doing ROBOSAVEs and have been saving the right data, you can probably recover 
  340. your system completely and quickly.  It is important to realize that the system 
  341. will be restored back to the point it was at when you did the ROBOSAVE for that 
  342. data.  If you made any changes after that ROBOSAVE, those changes may be lost. 
  343. This points out the desirability of doing frequent ROBOSAVEs and keeping your 
  344. profile up to date. 
  345.  
  346. Part of the data created by ROBOSAVE in your save directory is a ROBOREST.CMD. 
  347. Executing that command will restore the data saved by the ROBOSAVE you issued 
  348. most recently to that save directory.  If you have saved multiple generations 
  349. in the same save directory, there will be a ROBOREST.CM1, a ROBOREST.CM2, etc. 
  350. These represent the next older generation, and the next older beyond that, 
  351. etc., with the oldest having the highest .CMn number.  If you want to recover a 
  352. previous generation instead of the most recent, just rename ROBOREST.CMD to 
  353. some other name, e.g., ROBOREST.CUR, and then rename the desired ROBOREST.CMn 
  354. to ROBOREST.CMD.  You can examine ROBOSAVE.LOG to see when each save was done 
  355. and what files were associated with each.  You can doublecheck the chosen 
  356. command file to ensure it is the desired one. 
  357.  
  358. Before invoking ROBOREST, you must first set up the proper OS/2 environment. 
  359. You cannot simply issue ROBOREST from an OS/2 command prompt in your normal 
  360. system since some of the files ROBOREST will try to replace are in use by the 
  361. normal system.  You must establish an environment independent of your normal 
  362. system and issue ROBOREST from there.  Fortunately that is easy to do.  Below 
  363. are three different techniques you can use.  They produce equivalent results. 
  364. Use the one that is most convenient for you. 
  365.  
  366. ROBOREST will attempt to verify that you have established a proper environment. 
  367. If it detects something is wrong, it will display an error message and stop the 
  368. procedure without making any changes to your system. Part of the recovery 
  369. procedure involves erasing the old (possibly corrupted) Desktop before 
  370. restoring the saved Desktop.  You will be prompted for final authorization 
  371. before this is done.  If you answer anything other than "YES", the ROBOREST 
  372. procedure will stop and no changes will be made to your system. 
  373.  
  374. You should make sure you don't have a directory in the Desktop tree as the 
  375. current directory for its drive.  For example, if C:\DESKTOP is your OS/2 
  376. Desktop directory, make sure you haven't done a CHANGEDIR on C: to \DESKTOP or 
  377. to any of the directories under it.  Having any of those directories as the 
  378. current directory would interfere with the deletion of the Desktop tree. 
  379. ROBOREST (ROBOSVUT) will fail if you make this mistake and will issue an error 
  380. message.  If this happens, just do a "CD \" and reissue ROBOREST. 
  381.  
  382. Except for the OS2.INI and OS2SYS.INI files, ROBOREST will restore the same 
  383. Readonly, System, and Hidden attributes for each file that existed when you 
  384. saved the file with ROBOSAVE. 
  385.  
  386. Restoring the Desktop - Method 1 
  387.  
  388. This method requires you to have the Install and DISK 1 diskettes for the 
  389. version of OS/2 you booted when you did the save.  It is required that the OS/2 
  390. level of the diskettes must match exactly the level of the system being 
  391. restored, including the CSD level.  (In fact you may be able to get away with a 
  392. different level sometimes, but other times you can't. Since failure can result 
  393. in a corrupted system, we require the levels to be the same.)  Instead of using 
  394. the actual installation diskettes, you might use something equivalent, e.g., a 
  395. diskette you have created with the BOOTOS2 tool (also known as BOOT2X); the 
  396. diskette must be at the correct OS/2 level, of course.  Or you might boot from 
  397. another partition (at the correct OS/2 level, of course). 
  398.  
  399. - Boot from the OS/2 2.x Install and DISK 1 diskettes.
  400. - ESC to the OS/2 prompt when allowed.
  401. - Place your "save" diskette in A: if restoring from diskette.
  402. - Change to the "save" drive you will restore from.
  403. - Change to the "save" directory containing ROBOREST.CMD.
  404. - Invoke ROBOREST; there are no parameters.
  405. - Respond YES when prompted to delete the Desktop.
  406. - Re-boot when the restore is complete.
  407.  
  408. Restoring the Desktop - Method 2 
  409.  
  410. This method requires that the SHFTRN package be installed on your system. It 
  411. must be on your hard drive and your CONFIG.SYS must have been edited to place 
  412. the call to SHIFTRUN in it.  This method is faster than Method 1 and does not 
  413. require the two OS/2 installation diskettes. 
  414.  
  415. - Get the SHFTRN package from the same place you got ROBOSAVE.
  416. - Download and install it as directed.
  417. - Re-boot.
  418. - Press Left-Shift when the SHIFTRUN timer appears, then release it.
  419. - Place your "save" diskette in A: if restoring from diskette.
  420. - Change to the "save" drive you will restore from.
  421. - Change to the "save" directory containing ROBOREST.CMD.
  422. - Invoke ROBOREST; there are no parameters.
  423. - Respond YES when prompted to delete the Desktop.
  424. - Re-boot when the restore is complete.
  425.  
  426. Restoring the Desktop - Method 3 
  427.  
  428. This method is similar to using SHFTRN, but does not require the SHFTRN tool. 
  429. It is quick and straightforward.  The tradeoff is that you must edit CONFIG.SYS 
  430. before using ROBOREST.  You could make this your standard CONFIG.SYS, but then 
  431. you would need to do an EXIT at the command prompt for every IPL.  SHFTRN 
  432. doesn't require that. 
  433.  
  434. - Edit CONFIG.SYS to put this line at the end,
  435.   where "x:" is your boot drive:
  436.      CALL=x:\OS2\CMD.EXE /K
  437. - IPL; eventually you will get a command prompt.
  438. - Place your "save" diskette in A: if restoring from diskette.
  439. - Change to the "save" drive you will restore from.
  440. - Change to the "save" directory containing ROBOREST.CMD.
  441. - Invoke ROBOREST; there are no parameters.
  442. - Respond YES when prompted to delete the Desktop.
  443. - Re-boot when the restore is complete.
  444.  
  445.  
  446. ΓòÉΓòÉΓòÉ 1.10. Recovery of Individual Files ΓòÉΓòÉΓòÉ
  447.  
  448. ROBOSAVE can also be useful if you have lost one or a few of your saved files 
  449. instead of losing the whole Desktop.  For example, if you have accidentally 
  450. erased your CONFIG.SYS, you can look at ROBOSAVE.LOG to see the name under 
  451. which it was copied to your save directory.  Then just copy it back to your 
  452. boot drive and rename it to CONFIG.SYS. 
  453.  
  454.  
  455. ΓòÉΓòÉΓòÉ 1.11. Choosing a Save Directory ΓòÉΓòÉΓòÉ
  456.  
  457. There are some decisions you need to make when choosing a save directory. You 
  458. can place the directory either on a diskette or on a hard drive. Placing the 
  459. data on a diskette isolates it from the system and gives you some additional 
  460. reliability.  For example, if the system hard drive itself fails, you can 
  461. reinstall OS/2 and your applications on a repaired drive and then use ROBOSAVE 
  462. to reapply all your tailoring. 
  463.  
  464. You can easily and inexpensively keep multiple generations of backups on 
  465. separate diskettes with one generation per diskette.  Then just rotate thru the 
  466. set of diskettes; when you are ready to do the next ROBOSAVE, format the 
  467. diskette that holds the oldest generation and use it for the new save.  Then 
  468. even if your most recent backup is lost because for some reason the diskette 
  469. holding it is no longer readable (it happens more often than you would like to 
  470. think), you can go back to the next most recent backup on a separate diskette. 
  471.  
  472. On the other hand, saving to a diskette is much slower than saving to a hard 
  473. drive.  Also, if the amount of data to be saved is large, you may exceed a 
  474. single diskette's capacity; ROBOSAVE does not support diskette spanning.  For a 
  475. typical system the diskette space constraint will not be a problem, 
  476. particularly if you dedicate each diskette to a single generation of saved 
  477. data.  Normally the amount of data that should be saved is well under a 
  478. megabyte.  However, you might have a special case and have a large amount of 
  479. data to save. 
  480.  
  481. A good technique is to combine the two media approaches by making frequent 
  482. (quick) saves to a hard drive, but making occasional saves to the next 
  483. available diskette, e.g., after you have made some particularly important 
  484. change to your system.  Also, if your saved data is too large for a diskette, 
  485. you can save it to a hard drive and then later use a data compression program, 
  486. such as PKZIP, to produce a file small enough to store offline on a diskette. 
  487. Note there was a problem in OS/2 2.0 in which the OS2.INI and OS2SYS.INI files 
  488. tended to grow very large; that problem seems to have been much alleviated in 
  489. OS/2 2.1. 
  490.  
  491. Another consideration with choosing a save directory is whether to use the root 
  492. directory as the save directory, even on a dedicated diskette. Generally that 
  493. is not a good idea since for the FAT file system (which is the system used for 
  494. diskettes) there is a limit to how many files can be stored in the root 
  495. directory.  The limit depends on the size of the hard disk or diskette 
  496. involved, but is typically not much greater than several hundred files.  On the 
  497. other hand, a subdirectory does not have such a limit.  Thus it is a good idea 
  498. to specify something like "SAVE=A:\SAVEDIR" rather than "SAVE=A:\" in your 
  499. profile. 
  500.  
  501.  
  502. ΓòÉΓòÉΓòÉ 1.12. Contents of the Save Directory ΓòÉΓòÉΓòÉ
  503.  
  504. In your ROBOSAVE profile you designate a save directory thru the "SAVE=" verb. 
  505. When you invoke ROBOSAVE, Desktop data and the files you specified are saved 
  506. there, together with some ROBOSAVE control information.  Here are the types of 
  507. files you may see in the save directory.  Each "n" represents a decimal digit. 
  508.  
  509. nnnnnnnn.FIL - A "robo=" file or a file from a Desktop directory
  510. nnnnnnnn.EAS - Extended Attributes from a file or Desktop directory
  511. ROBOREST.CMD - Restore command created by the most recent ROBOSAVE
  512. ROBOREST.CMn - Restore command created by a previous ROBOSAVE
  513. ROBOSVUT.EXE - Module to check the OS/2 state and erase the Desktop
  514. ROBOSAVE.LOG - Records all ROBOSAVE activity for this save directory
  515. ROBOSAVE.MRK - File containing last used nnnnnnnn value
  516.  
  517. All saved files and all files holding split extended attributes are named with 
  518. a numeric filename (nnnnnnnn) when put into the save directory.  The numeric 
  519. value is incremented as each file is created.  A check is made to ensure that 
  520. the next value to be used is not already in use in this save directory; if it 
  521. is in use, the value is incremented until a free value is found.  Using a 
  522. numeric name instead of the real name solves several problems.  It avoids 
  523. ambiguity when two files with the same name are saved from different 
  524. directories, or when the same file is saved multiple times in multiple 
  525. generations.  It also allows files with long HPFS names to be easily saved in a 
  526. FAT save directory, e.g., on a diskette.  The original name is restored by the 
  527. ROBOREST.CMD when it is executed.  You can see the correspondence between the 
  528. nnnnnnnn names and the real names by looking at ROBOSAVE.LOG or the appropriate 
  529. ROBOREST command. 
  530.  
  531. The "SAVENUM=" verb in the ROBOSAVE profile controls how many generations of 
  532. data will be kept in the save directory.  ROBOREST.CMD is associated with the 
  533. most recent ROBOSAVE.  Each ROBOREST.CMn file is a renamed ROBOREST.CMD that is 
  534. associated with a preceding generation.  When the number of generations exceeds 
  535. the "SAVENUM=" value, the oldest ROBOREST.CMn file and all the files it points 
  536. to will be deleted from the save directory.  For example, if you have 
  537. SAVENUM=3, the following ROBOREST.CMn files would be kept in the "SAVE=" 
  538. directory. 
  539.  
  540.           ROBOREST.CMD --> most recent
  541.           ROBOREST.CM1 --> 2nd most recent
  542.           ROBOREST.CM2 --> 3rd most recent
  543.  
  544. If you run ROBOSAVE again, ROBOREST.CM2 and all the files it points to will be 
  545. deleted.  ROBOREST.CM1 will be renamed to ROBOREST.CM2 and ROBOREST.CMD will be 
  546. renamed to ROBOREST.CM1.  A new ROBOREST.CMD will be written containing 
  547. commands to restore the data saved by the current run. 
  548.  
  549.  
  550. ΓòÉΓòÉΓòÉ 1.13. ROBOSVUT Utility ΓòÉΓòÉΓòÉ
  551.  
  552. ROBOSVUT.EXE is a utility module which is used by both ROBOSAVE.CMD and 
  553. ROBOREST.CMD.  It accesses some low-level OS/2 services that are not directly 
  554. available thru OS/2 commands or REXX functions. 
  555.  
  556. ROBOSAVE.CMD uses ROBOSVUT to copy files which for some reason cannot be copied 
  557. by the OS/2 COPY command.  For example, this can happen if a file has already 
  558. been opened by some other process at the time ROBOSAVE tries to COPY it.  In 
  559. that case you will see a message from ROBOSAVE.CMD that the COPY failed and 
  560. that now ROBOSVUT will be tried.  ROBOSVUT will usually succeed in this 
  561. situation.  ROBOSAVE.CMD will also use ROBOSVUT to copy files that have been 
  562. marked with the Hidden or System attribute; OS/2 COPY cannot find such files. 
  563. A consideration with using ROBOSVUT to copy a file is that it will not save the 
  564. file's extended attributes.  For the files ROBOSVUT is typically used to save, 
  565. that is not important because they do not have extended attributes. 
  566.  
  567. ROBOREST.CMD uses ROBOSVUT to verify the OS/2 environment before proceeding. 
  568. ROBOSVUT will check that the right level of OS/2 has been IPLed to do the 
  569. ROBOREST; it must be the level that was used to do the ROBOSAVE.  This check 
  570. will detect most errors, but it will not detect if there is a CSD mismatch. 
  571. ROBOSVUT will also verify that the OS/2 Workplace Shell is not active for the 
  572. Desktop being restored; if it were active, the restore would very likely be 
  573. unsuccessful, or at least the results would be unpredictable.  (Note that the 
  574. Workplace Shell CAN be active for a different Desktop; thus it is valid to IPL 
  575. from a different partition with its own Desktop to do the ROBOREST of the 
  576. inactive partition you want to recover.)  Finally, if all the tests are passed, 
  577. the user will be prompted for authorization to erase the Desktop to prepare a 
  578. clean slate for the restoration of the saved Desktop.  If the user answers 
  579. "YES", ROBOSVUT will erase the Desktop directory tree and then return to 
  580. ROBOREST, which will then do the actual restore. 
  581.  
  582. Here are the return codes from ROBOSVUT.EXE.  If an OS/2 function returns an 
  583. error code to ROBOSVUT, both the OS/2 function name and the returned error code 
  584. are displayed in addition to ROBOSVUT's own return code from the following 
  585. list. 
  586.  
  587.   1 - Error.  Opening source file for reading.
  588.   2 - Error.  Opening target file for writing.
  589.   6 - Error.  Unable to clear attributes on target.
  590.  11 - Error.  DosAllocMem failed.
  591.  12 - Error.  DosQuery failed for source.
  592.  13 - Error.  DosQuery failed for target.
  593.  14 - Error.  Open (READONLY) failed for target.
  594.  15 - Error.  Read failed for source.
  595.  16 - Error.  Write failed for target.  Target disk full?
  596.  17 - Error.  Close failed for target.
  597.  20 - Error.  Unable to update attributes/timestamp for target.
  598.  21 - Error.  VERIFY_COPY failed.
  599. 100 - Copy was successful.
  600. 199 - Desktop deleted successfully for ERASE_DESKTOP.
  601. 200 - User answered "NO" to prompt for ERASE_DESKTOP.
  602. 201 - Error.  DosFindFirst failed for directory.
  603. 202 - Error.  DosFindFirst found other than "." entry.
  604. 203 - Error.  DosDelete failed.
  605. 204 - Error.  DosFindNext failed.
  606. 205 - Error.  DosFindClose failed.
  607. 206 - Error.  DosDeleteDir failed.
  608. 207 - Error.  Maximum number of DosFindFirst/DosFindNexts exceeded.
  609. 251 - Error.  DosQuerySysInfo failed.
  610. 252 - Error.  DosOpen failed for test file.
  611. 253 - Error.  DosClose failed for test file.
  612. 254 - Error.  DosSetCurrentDir failed.
  613. 300 - Error.  DosOpen of test file detected Workplace Shell open.
  614. 301 - Error.  OS/2 version mismatch between ROBOSAVE and ROBOREST.
  615.  
  616. Note:  If Ctrl-Break is pressed while ROBOSVUT is working or if the user
  617.        selects "End the program" for an OS/2 disk error prompt, a 99
  618.        can be returned by the system to the invoker of ROBOSVUT.
  619.