                    Introducing BACKINI Version 1.0
                    -------------------------------
                    (C)1992 Turgut Kalfaoglu <TURGUT@FRORS12.BITNET>
                                             <TURGUT@FRMOP11.BITNET>


ABSTRACT:

        BACKINI allows you to make numbered backups of any files, going 
back as many modifications as you would like. It only creates a new 
backup file if the file it is processing has been changed since the last 
backup.

Possible uses:
        * Backing up all your \OS2\*.INI files against corruption
        * Backing up vital data files or configuration files


USER REGISTATION:

Regular use (over 10 days after obtaining the package) of this program 
requires a registration form and a registration fee of $20 to be sent to 
the author. Registration will entitle you to a free newsletter on 
updates to this package and other software that may be of interest to 
you. 

        
SYSTEM REQUIREMENTS:

        BACKINI has been written and compiled with IBM C/SET 2 compiler 
Version 1.0. It calls functions available only under OS/2 2.0, and is a 
"Mixed 16-32 bit Application." Thus, you need OS/2 2.0 in order to use
BACKINI.

USAGE:

        The syntax is:
        
           BACKINI  filespecs [filespecs..] [/V] num_of_backs
           
        filespecs: The name(s) of the files that you wish backed up. May 
                   contain wildcard specifications.
                   
        /V:        Turns VERBOSE mode on. Useful to see exactly what the 
                   program is doing.
                   
        num_of_backs  Determines the number of backup files to keep for 
                   these files.
                   
BEHAVIOR:

        After expanding the filespecs, the program compares each file 
        against its most recent backup copy, with the same name, but 
        filetype ".Bnn" where nn is a sequential hex number. If the 
        files differ, and the trailing number of the last backup file is 
        NOT greater than the one specified at the command line, a new 
        file, with a trailing number nn+1 is created. If the files 
        differ, but the most recent backup file's trailing number is 
        equal or greater than the number specified, then the file 
        <filename>.B1 is erased, and all other backup files are renamed 
        "upwards" by one, so that <filename>.B3 becomes <filename>.B2 
        and so on. The program then creates a new backup file for this 
        file, with the number equal to the one specified at the command 
        line.
        
        Flow Diagram:
        
        1) Set execution priority to time critical: to prevent *.INI 
           files becoming inaccessible, when BACKINI is used from 
           CONFIG.SYS
        2) Parse command options: load filenames, max_backup, and 
           verbose flag.
        3) For each filename:
             3.1) Find latest file with a trailing number: 
                  <filename>.Bnn. (Meaning, the greatest nn value)
             3.2) Compare input file against the latest backup file. If 
                  they are same, iterate (go on to next input file).
             3.3) If nn is equal or greater than max_backup:
                3.3.1) Delete <filename>.B1
                3.3.2) Rename all other files "up" by one.
                3.3.3) Create <filename>.B<max_backup>
             3.4) Else,  (nn is less than max_backup)
                3.4.1) Create <filename>.Bnn where nn is one greater 
                       than the one found during 3.1
        4) Terminate
        
NOT SUITABLE FOR:

        Any fileset that is stored in the same directory, and differs 
        just by filetype. Their backup files will overwrite each other.
        
        Any directory that contains files named <filename>.Bnn  where nn 
        is a number from 1 to the parameter entered at command line, and 
        <filename> is a filename matching the specification entered at 
        the command line. Such files may get overwritten by the program.
        
USAGE EXAMPLES:

        In CONFIG.SYS:
        
        RUN=C:\BIN\BACKINI C:\OS2\*.INI C:\CONFIG.SYS C:\AUTOEXEC.BAT 5
           
        ..would keep the latest 5 versions of your INI files, your 
        CONFIG.SYS and AUTOEXEC.BAT.

        BACKINI C:\DOCS\SUMMER92\*.DOC /V 2
        
        ..would keep the latest 2 versions of your document files stored 
        in the \DOCS\SUMMER92 directory. Since VERBOSE flag is 
        specified, you will see the program's behavior.
        
ORDER OF PARAMETERS:
        
        The filename specifications can be entered in any order, and the 
        /V flag can be specified anywhere in the command line. The ONLY 
        LIMITATION is that the number specifying the number of backup 
        files to keep must be the last parameter.

NOTES:
        * The \OS2\OS2.INI and \OS2\OS2SYS.INI files may only be backed 
        up when BACKINI is placed in the CONFIG.SYS. They are not 
        accessible after the system has started.
        
        * BACKINI's comparison algorithm will detect file size 
        variations, and will do a byte-by-byte comparison of the input 
        file, and the last backup.
        
        * When run from CONFIG.SYS via RUN= statement, the program does
        not provide any output. This is normal.
        

        
REGISTRATION FORM:


First and Lastname: _______________________________________


Address: _________________________________________________
    

         _________________________________________________
         

Version of Software: _______________


Diskette Drive size: _______________


Please return with payment to:

        Turgut Kalfaoglu
        1378 Sok. 8/10
        Alsancak, Izmir
        Turkey
        
if you respond before August 1992, you may also mail to:

        Turgut Kalfaoglu
        25 Rue de Versailles
        78150 Le Chesnay
        France
        

