IPVI allows you to automatically backup parameter files to companion FIP
systems as you make modifications.

IPVI notes the file to modify, goes into vi normally; at end it checks if any
mods have been made and asks if you want these to be pushed over to the
companion system(s).

It first checks which system it is on and checks the list of valid hosts for
passing the stuff across.

One of three main routes are used to get the data across
    - default is SCP - any errors are pushed on the screen and NOT logged. It is
assumed you have the correct priviledges for SCP to work.
        - SCP - but that comes with the usual overhead of matched keys etc
        - RCP - not normally used nowadays
    - fip balance/svrd

Several files can be 'vi'ed at the same time using wild cards. Normally you
will need to dbl-quote the wild card for it to work correctly.

Two files in tables/sys are used :
    TABLES_HOSTS        - which describes which unixboxes to send to. Eg:
        Syntax is one host per line. Where 'fip' is on a different volume, you
        can specify the top path to root as a second parameter :
        ; comment
        host3   /data7/fip

    TABLES_DIFF_FILES   - which files NOT to overwrite on remote sys. Eg:
        ; comment

The notion for DIFF_FILES is often sys/SYSTEM is different on different hosts.

Environment variables can be used to change :
    FIP_EDITOR  to set the editing program. defaults to :
            setenv FIP_EDITOR vi
    FIP_IPVI_ALL    always copy to remote systems and do NOT prompt
    FIP_IPVI_RCP    program to replace 'scp' for the copy between systems
    FIP_IPVI_BALGRP Balance Group - this overrides rcp/scp
    FIP_IPVI_BALQUE Balance Queue - default is /fip/spool/2balance

In version 11g+ these variables with another parameter file
        rcp:(Program to replace SCP)
        scp:(Program to replace SCP)
        balance-group:(name of group in tables/sys/BALANCE)
        balance-queue:(if not /fip/spool/2balance)

If queue /fip/originals exists, a copy of the ORIGINAL file (ie before mods) is
made with a date/time stamp.

Syntax to start is :
    ipvi file1 (file2 ...)
or  ipvi file*

To use ipvi to Copy files according to TABLES* but WITHOUT 'vi'ing :
    ipvi -x file1
or  ipvi -x file*
or  ipvi -X file1   which will copy the file WITHOUT any message

Normally the old version of the file is moved to /fip/originals. Use input flag
-O to NOT do this nor copy that original to the remote systems.

Alternatively, use -o to allow a local copy of the original in /fip/originals
but do NOT copy the original to /fip/originals on the other systems (as in
older versions of 'ipvi').

As per normal, to check the version number of the 'ipvi' program :
    ipvi -v

So to recap, Input switches - all optional - are :
    -b : balance folder under spool         default: 2balance
        only used if '-g' is used
    -g : balance group in tables/sys/BALANCE    default: none
        default is use SCP, use '-g' to use balance
    -o : Copy the original file to /fip/originals on the local system only
        default: copy the old version to /fip/originals on all systems
    -O : Do NOT Copy the original file to /fip/originals and ANY system
        default: copy the old version to /fip/originals on all systems
    -p : program to use inplace of 'scp'            default: scp
    -x : Just copy the existing file to the other systems   default: edit then copy
    -X : Just copy the existing file to the other systems   default: edit then copy
        and do NOT message when done
    -v : show version and exit          default: no

Version Control
;011k   29nov00 added -O/-o; now copies the Original too; upped to 100
    ;b 25jan01 no colons in /fip/original files pls
    ;c/d 27mar01 added env FIP_IPVI_RCP and -p
    ;e-f 25feb04 spaces in filename
    ;g 15jan07 added TABLES_ENV and escape:
    ;h-i 25may07 added use-balance and -b and -g
    ;j 17apr13 reworked filenames, added /fip-localFipPath and zapped subpath
    ;k 30may14 bugette if /fip .. was a linked folder

(copyright) 2017 and previous years FingerPost Ltd.