Alpine Backup is a program to back up the contents of files on an Alpine server to an IFS. This is not intended to be the last word on backing up Alpine servers, but it is an interim solution until an incremental backup system is completed. The program is intended to be used primarily by administrators of Alpine servers, but can be used by anyone with Alpine files that need to be saved.
Alpine Backup registers a command, AlpineBackup, which takes as arguments from the command line the name of an IFS server on which to store the backup copies, the name of a directory on the IFS in which to store the copies, the name of a file containing a list of Alpine files to be backed up, and a list of Grapevine R-names to send a message reporting the outcome of the backup. Each of these arguments can be defaulted; if so, the following values are used:
1. The server defaults to DefaultRemoteNames.Get[].systemHost,
2. The directory defaults to "AlpineBackup",
3. The name of the file containing the file list defaults to "<Alpine>Backup>AlpineFilesToBackup.txt" on the default system host, and
4. The Grapevine R-names default to the current user.
Ie., the command
AlpineBackUp Cyan AlpineBackup [Indigo]<Alpine>Backup>AlpineFilesToBackup.txt AlpineAdministrators^.pa
would backup the files listed in [Indigo]<Alpine>Backup>AlpineFilesToBackup.txt to [Cyan]<AlpineBackUp> and would send a message to AlpineAdministrators^.pa.
Each item in the backup list must be either:
1. a full path name of a file on an Alpine server, eg.,
"[Luther.Alpine]<Donahue.pa>Walnut.LogX", or
2. a list of full path names of files, enclosed in brackets ("{}"), eg.,
"{ [Luther.Alpine]<Donahue.pa>Walnut.LogX [Luther.Alpine]<Donahue.pa>Walnut.LogX }".
The files listed may reside on several different Alpine servers. For each item in the list, the backup program:
1. Checks to see if the most recently backed up copy on the IFS has the same date as the file; if so, then a copy is not made unless the entry in the list is preceded with an "=". I.e., preceding an entry with "=" means "always make a new backup copy." This is useful for Cypress database segments, since Cypress currently does not keep the create dates accurately. For an item which is a list of files, the contents of all of the files are backed up if any one of them has changed (ie., a consistent backup of the set of files is made).
2. If the file on Alpine is newer than the backup or is always to be copied, the contents of the file are copied to a file with the same name on the IFS.
3. Finally, Chat is invoked to set the "keeps" on the backup to two and to set the "no backup" attribute of the file on the IFS (so the IFS backup system will not again copy the file!).
When this process is complete for all files in the list, a message is sent using Grapevine to all of the R-names giving the disposition of all of the files to be backedup (ie., whether they were unchanged, they were copied, they were not found on Alpine, or there was some error during copying).