ABackup - User's Manual AboutThisDoc This manual describes release 4.01 of the utility ABackup. This program is (c)1992-1993 by Denis GOUNELLE, any commercial usage or selling without author's written authorization is strictly forbidden. You can copy and spread this program under the following conditions: - all the files are provided - the files are not modified in any way - you don't charge more than $6 for copy fee In spite of several tests, no warranty is made that there are no errors in ABackup. YOU USE THIS PROGRAM AT YOUR OWN RISK. In no event will I be liable for any damage, direct or indirect, resulting of the use of ABackup. Introduction ABackup is a backup program written for the Amiga. It may be used both to make a backup of your hard disk or to archive files, handles non-AmigaDOS partitions, has a full Intuition interface, and can use XPK library. Under 2.0 system release, ABackup is able to recognize links and to manage high density disks. As this program contains some unusal features, it is recommended to read this documentation carefuly. Criticisms and suggestions will always be welcomed. Write to: M. GOUNELLE Denis Boite 71 6, rue des cailloux 92110 CLICHY - FRANCE You can also send a message to the following Internet address : "gounelle@alphanet.ch". Note that this mailbox is not mine, so please send only short messages. As I don't have direct access to the messages, don't expect an answer before a dozen of days. Contribution This program is SHAREWARE. If you find it useful, I invite you to send at least $10 at the address listed above, in order to become a registered user. Please use only: - checks from a French bank - cash (French Francs prefered, otherwise any currency of the E.E.C. is accepted, as well as US dollars and Swiss Francs ; in either case please add a little more for change fee) - checks from an European bank (if you use an EuroCheck, please add $8 because my bank taxes it) If you send me a check, it must be in French Francs and the beneficiary must be "M. GOUNELLE Denis". In either case, be sure to give your full address and to make it readable. As a registered user, you will receive the next version of ABackup as soon as it will be available. You should be aware that a $10 contribution fee only gives right to one update: if you want to receive the next updates regularly, a $20 contribution is required. Thanks I would like to thanks the following: Reza Elghazi, Jean-Yves Proux, Jean-Philippe Rapp, Michel Schinz, and everyone who send me a suggestion or reported a bug, Reza Elghazi, Stefan Salewski, for their help concerning the crash under system 3.0, Horst Schumann, beta-tester for non-AmigaDOS partitions support, Bryan Ford, Urban Dominik Mueller, et the others XPK library authors, and everyone who send me a contribution. Also, a lot of thanks to Yves Perronoud, Jean-Philippe Rapp, Marc Schaefer, and Michel Schinz for constant, enthusiast and (almost) unconditional support. Getting_started ABackup can be run from CLI and from Workbench. Usually, ABackup tries to create a child task that will perform all write operations, in order to make backup faster. If the task creation fails, ABackup will perform write operations by itself, just like the first versions of the program. From the CLI, you can invoke ABackup as follows: ABackup [FROM directory] [BUFSIZE size] [NOCOMP ext,ext,...] [NOTASK] [TMPDIR dir] [SIZE {BYTE|KBYTE|MBYTE|AUTO}] [USEASL] [FONT nameY] The FROM option allows to specify a directory name for backup. By default, this one will be the current directory. The BUFSIZE option allows to change the size of the write buffer for the child task (for example "BUFSIZE 64" asks for a 64 Kb buffer). By default, the buffer is 12 Kb large, which gives the same speed as version 2.43 of ABackup. This buffer is allocated in CHIP memory, but is only used when backing up to floppy disks. A larger buffer may increase backup speed up to 20%, but take care that a very large buffer may not give the best gain: the optimal buffer size depends of the speed of your Amiga, of the compression method used, and of the average size of your files. On my A3000, a 128 Kb buffer is quite perfect. The NOCOMP option allows to specify extensions of file names to don't compress. You can specify up to 10 extensions, separated by a comma (e.g.: "NOCOMP .info,.run"). This specification overwrites the one saved in the configuration file (see backup options). If the creation of the child task is a problem (no memory etc...) you can prevent ABackup to create it with the NOTASK argument. The TMPDIR argument allows you to change the temporary directory used by ABackup. By default, it uses the "T:" directory, but this may lead to memory problems, especially if this directory is assigned to "RAM:T". The SIZE argument allows you to change the default unit of the "Size" menu (see below). The USEASL argument allows you to use the file requester of "asl.library" instead of the built-in requester. This option will be ignored if the library can't be opened, or if the requester can't be allocated. The FONT argument allows you to specify the font to use. By default, ABackup uses the default "text" font. The font will be refused if it is proportionnal, by there are no size checking. The syntax for font name is "nameY", e.g. "topaz8". From the Workbench, you can change the size of the write buffer by adding a line of the form "BUFSIZE=" in the "TOOL TYPES" field of ABackup icon. You can also specify extensions of file names to don't compress by adding a line of the form "NOCOMP=ext,ext,...", prevent ABackup to create a child task by adding a line "NOTASK", change the unit of the "Size" menu by adding a line of the form "SIZE=unit", ask to use the "asl.library" file requester by adding a line of the form "USEASL", or select a font by adding a line of the form "FONT=nameY". You can set ABackup as "DEFAULT TOOL" of an archive file, and call it with an icon as an argument. If this icon is a directory icon, the contents of this directory will immediatly be loaded, and the backup selection screen will be displayed. If this is a file icon, ABackup will assume it's an archive file, load it's catalogue and display the restore selection screen. When the program starts, a screen is displayed with several gadgets on it: click on the gadget that matches the wanted action. The startup screen has also a menu with the "Config...", "About..." and "Quit" options. The first one allows to modify ABackup configuration (see "Configuration" section), the second one displays informations about the program, and the last one allows to quit ABackup. Configuration A window appears in the middle of the screen, with eight gadgets. The first three gadgets show the names of the viewer programs corresponding to the type of a file (ASCII file, IFF picture or other, see the "Viewing" section), the two next the names of the external compression/decompression programs (see the "Compression" section), and the last the name of the temporary directory (see the "Getting_started" section). At the bottom of the window, three gadgets enable to validate the changes, to validate and save the changes, or to cancel the changes. The configuration is saved to the "S:ABackup.config" file, which is loaded each time the program start. When you save the configuration, the current color palette is also saved. This allow to change ABackup default colors, for example with the "Colors" program provided on the system disks. Requesters When using ABackup, often you'll see requesters with one message and one or two gadgets ("Ok", "Continue/Abort", "Yes/No"). In any case, you can reply to a request by clicking on one of these gadgets, or by pressing the key corresponding to the first letter of a reply (for example, the "c" or "C" key for "Continue"). You can also press for a positive reply ("Ok", "Continue", "Yes") or for a negative reply ("Abort", "No"). Finally, when a requester message asks for inserting a disk in one drive, inserting a disk in this drive will be detected and this will be equivalent to clicking on the "Continue" gadget. Backup_an_AmigaDOS_partition A requester is displayed that allows to choose the directory to backup. By clicking on the "Cancel" gadget, ABackup will return to the main screen. By clicking on the "OK" gadget, ABackup will load the directory contents. To stop this loading, click on the "Abort" gadget or press one of the following keys: "a", "A", . If you don't want ABackup to explore a sub-directory (for example a directory where's a program that you already have on floppy disk, and so you don't need to backup), just put the word "SKIPME" as the comment for this sub-directory. ABackup can now save several partitions in the same archive, so you don't have to save them one by one. To select the partitions to save, you can use the multi-selection of the file requester: click on the partition names (like DH0: and DH1:) holding the SHIFT key down. You can also call ABackup with the FROM option, and specify the partition names separated by a comma (like "FROM DH0:,DH1:"). In this case, if you use the Intuition interface, you won't see the file requester when you will click on "Save an AmigaDOS partition". Once the directory contents loaded, the selection screen will apear (see the "The_selection_screen" section below). Backup options are: Compress Tells what kind of compression will be done: none (NO), with the functions integrated to ABackup (Internal), with an external program (External) or with XPK library. For more informations, see "Compression" section. If you press the SHIFT key when you click upon this gadget, the values will cycle in reverse order. Verify Read and compares every track after writing it. Meaningful only for backup to disks. Encryption Data are encrypted with a password, which will be asked when starting backup. CAUTION ! IF YOU LOOSE THIS PASSWORD, YOU WILL NEVER BE ABLE TO RESTORE DATA IN ARCHIVE ! You will be asked to give this password again for every read operation on the archive (restore, list, catalogue rebuild), so that ABackup can decrypt data. Backup links Backup selected links. Meaningful only under 2.0 system release. An archive which contains links can of course be restored even under 1.3 system release (links will simply be not restored). Set archive bit Once backup is over, sets the archive bit (see the AmigaDOS command "Protect") of all files and subdirectories successfully backed up. Backup report The left gadget tells if ABackup has to create a backup report. This one can be printed or written to a file. The right gadget tells if this report will be a long one (detailled) or a short one (only errors). Backup to Selects an archive. If a given name is of the form "df?:" (e.g. df0:, df1:, etc....), ABackup will use the specified disk unit by writing on disks in a special format. In this case, you need not to format your backup disks. Otherwise, ABackup will create an archive file with the name you specified. Note ABackup has the capability of creating this file on any device that accepts the AmigaDOS Seek() function. You can use several disk drives for backup: specify the names of the drives separated by a coma. For example, if you specify "df0:,df1:" ABackup will start with disk in df0:, then continue with the disk in df1:, go back to df0:, etc... The program will automatically (without requester) toggle from one drive to the next, if the disk in the new drive has been changed. Don't compress Allows to specify extensions of file names to don't compress. You can specify up to 10 extensions, separated by a comma. For starting a backup, you have to select the "Start" item in "Backup" menu or the "START" gadget. If you asked for backup report to be written to a file, a requester will be brought up so that you can specify a name for this file. If you click over the "Abort" button in this requester, no report will be generated. At this time, a new screen is brought up with different infos on the backup progression. In the bottom area, the file names pass by, followed by an info on the current operation (compression, writing, etc....). The "Disk" gauge displays the filling percentage either of the current disk, or of the volume where is the archive file. If you asked for a disk backup, you can remove the last disk from your drive as soon as the "Archive closed" message will be displayed. If an error occurs (and if this is possible), ABackup will display a message to ask if you want to continue in spite of that. Obviously, ABackup will not make a backup for the file that maked problem. At the top and on the right of this screen there are two gadgets. The "* ABORT *" gadget allows to abort a backup. After it asked to confirm, ABackup returns to the selection screen. The "* PAUSE *" gadget allows to pause a backup for a while. Note that it can happens ABackup doesn't react immediatly when you click over one of these gadgets but, in all cases, your request will be registered before the next write operation in the archive. Once a backup ended (a message will inform you of that), ABackup returns to its main screen. Backup_a_non_AmigaDOS_partition This allow for example to backup a MS-DOS partition, or an AmigaDOS partition without worring about it's contents. The selection screen appears, and show the list of all partitions of the system. This screen is described at the "The_selection_screen" section. You can save only one partition at a time. Backup options are the same as for a normal backup, with the difference that you can't use external compression. The backup operation itself is quite the same as for a normal backup. Please refer to the "Backup_an_AmigaDOS_partition" section for more details, and also to the "Restore" section for some important informations. Restore A menu is brought up allowing to specify the archive that must be used. If you click on the "Abort" gadget, ABackup will return to the main screen. The gadgets corresponding to your drives are automatically enabled or disabled according to your hardware configuration. If you click on one of these enabled gadgets, ABackup will ask you to insert the last disk in the backup set, in order to load the catalogue. If you click on the "File" gadget, a requester will be brought up so that you specify your archive file. If you click on the "Abort" gadget, ABackup will return to the main screen. If the selected archive contains the backup of a non-AmigaDOS partition, ABackup will ask you if you want to restore it. If you agree, the restore operation will start immediatly. This operation is described below. CAUTION: Restoring a non-AmigaDOS partition will not be possible if the caracteristics of the partition has been modified: this means that it's size and location (for example) must be the same as when backing up. Also, ABackup can't format the destination disk: if you restore the partition on a new disk, you must format it before.  If the selected archive contains the backup of an AmigaDOS partition, ABackup will load the catalogue of files backed up in this archive and will display the selection screen. This screen is described in the "The_selection_screen" section. Restore options are as follows: Restore dir. tree Indicates if selected files will be all restored in the same directory (NO) or if the tree structure will be restored too (YES). Restore date Indicates if ABackup will set the date of restored file to the date they had at backup time. Restore links Restore selected links. Meaningful only under 2.0 system release. Restoration report The left gadget tells if ABackup has to create a restoration report. This one can be printed or written to a file. The right gadget tells if this report will be a long one (detailled) or a short one (only errors). Restore empty dirs Indicates if ABackup has to create empty backed up directories. Replace files Indicates what ABackup has to do if a file it has to restore already exists. Choices are: "No" (file is not replaced), "Yes" (file is replaced), "Ask for" (ABackup will ask to confirm for every existing file), "Older" (ABackup replaces the file only if this one is older than the backed up file). Restore from This option is available only when restoring from floppy disks. It allows to use several disk drives: specify the names of the drives separated by a coma. For example, if you specify "df0:,df1:" ABackup will start with disk in df0:, then continue with the disk in df1:, go back to df0:, etc... The program will automatically (without requester) toggle from one drive to the next, if the disk in the new drive has been changed and if this disk is the one which is expected by ABackup. Restore to Usually, files are restored in the directory where they were at the time of the backup, but you can specify another directory by this gadget. For starting a restoration, you have to select the "Start" item in "Restore" menu or the "START" gadget. If you asked for restoration report to be written to a file, a requester will be brought up so that you can specify a name for this file. If you click over the "Abort" button in this requester, no report will be generated. At this time, a new screen is brought up with different infos on the restore progression. In the bottom area, the names of restored files pass by, followed by an info on the current opération (reading, etc....). If an error occurs (and if this is possible), ABackup will display a message to ask if you want to continue in spite of that. Obviously, ABackup will not restore the file that maked problem. If some links are to be restored, ABackup will restore them after all other files and directories are restored. At the top and on the right of this screen there are two gadgets. The "* ABORT *" gadget allows to abort a restoration. After it asked to confirm, ABackup returns to the selection screen. The "* PAUSE *" gadget allows to pause restoration for a while. Note that it can happens ABackup doesn't react immediatly when you click over one of these gadgets but, in all cases, your request will be registered before the next read operation in the archive. Once a restoration ended (a message will inform you of that), ABackup returns to its main screen. After restoring a non-AmigaDOS partition, you will have to reboot your Amiga in order to let the system take the new partition contents in account. Rebuild_catalogue This function is not very useful unless an archive file has been damaged, or you have loose the last disk of a backup set. It will rebuild the archive catalogue, which is required to restore. You should be aware that this function can't handle all errors, and may not be usuable by unexperienced users. If the archive is a file, you should first make a copy of this file, in order to avoid to destroy it if the operation fails. You will also have to check that the first header is at a sector boundary, that is, at an address multiple of 512 (you can use the "TYPE archive HEX" command, the first and the third long word of a header are always set to the "ABCK" value). If the archive is on disks, you must give the disks in the same order they were written to. This function works even if disks are missing. The archive selection screen appears (see "Restore" section). When you have selected the archive, ABackup loads its contents, file after file: a new screen appears with some informations about the processing. Once the contents is loaded, the new catalogue will be created. If the archive is on disks, ABackup will ask you for a new disk to write the catalogue. Use this disk a the last disk of the backup set, when restoring. The_selection_screen This screen consists of a gadgets set and a bottom area where are displayed files and subdirectories of the current directory. At the start, no file and no directory are selected. Files are displayed in black on grey background, and directories in white on grey. Directories with at least one descendant selected are displayed on a black background. You can scroll the list display by means of the vertical scroll bar on the right. The name of the current directory is displayed in the area named "Directory". The number and size of the selected files are displayed in the area named "Selection". For selecting a file in a list, click on the name of this file: it is displayed in black on a blue background and the "Selection" area is updated. If you click on a selected file, this one will be unselected. For selecting or unselecting a set of files, click on the first file and keep down the left button while moving your mouse. Last, to view a file, just double-click on its name (see "Viewing" section). When you click on a directory name, two actions can occur. If this directory is empty, it will be selected or unselected as a file. Otherwise, the list display will be modified in order to make visible the contents of this directory. The "Directory" area will be updated. To go back to the previous directory, you can either click on the "Parent" gadget (at the top of the scroll bar), either click on the gadget between the left border of the screen and the left border of the display area. If you went very down in the tree structure, you can go back straight at the initial directory by clicking on the "Root" gadget (at the top of the scroll bar). Last, if you hold the SHIFT key while you click upon a directory name, the whole directory contents will be selected or deselected. At the top of the screen, there are two rows of identical gadgets. These ones allow to select (first row) or to unselect (second row) files and/or subdirectories in a global way according to various criterions: All Selects or unselects all files and subdirectories from the current directory. By name Selects or unselects files and subdirectories according to a name or a pattern. A pattern is a name with one of the special AmigaDOS characters: '#' or '?' under 1.3 system release, '#', '?', '|', '~', '%', parenthesis, or brackets under 2.0 system release. For more informations, refer to your AmigaDOS User's manual. A window is displayed with a string gadget. Type in it a name or a pattern and validate your choice by pressing . Now, click either on the "==" gadget, if you want files or subdirectories whose name matches the name or the pattern you typed, either on the "!=" gadget, if you want files or subdirectories whose name doesn't match the name or pattern you typed. You can cancel this operation by clicking on the window close gadget. By date Selects or unselects files and subdirectories according to the date of the last change. A window is brought up with a string gadget. Type in a date and/or time respecting the following syntax: DD-MM-YY or DD-MMM-YY for the date (for example, "01-03-92" or "01-Mar-92"), and HH:MM:SS for time. Validate your choice by pressing the key, then click over the "<=" gadget or the ">=" gagdet, according as you want to get earlier files and subdirectories or later ones in relation to the typed date. If you typed only time, the date will be the day date. If you typed only a date, time will be "23:59:59", when you click over "<=", or "00:00:00", when you click over ">=". You can cancel this operation by clicking on the window close gadget. By bits Selects or unselects files and subdirectories according to their protection bit. A window is brought up with a string gadget. For testing one or several bits (see the AmigaDOS command "Protect"), type them in this gadget and validate your choice by pressing the key. Click now over the "= 1" or "= 0" gadget according as you want files and subdirectories with their bits set or unset. You can cancel this operation by clicking on the window close gadget. The "Reverse" gadget allows to invert a selection: all selected files become unselected and all unselected files become selected. The "Recursive" gadget controls the action of the "Reverse" gadget, just as it controls the "All", "By name", "By date" and "By bits" gadgets: it shows if selecting or unselecting will or will not concern files that are in the subdirectories of the current directory. The selection screen has three menus too. The "Size" menu allows to change unit ABackup is using to display the size of selected files. You can choose beetween Bytes (the default unit), Kilobytes and Megabytes. If you select the "Automatic" item, ABackup will automatically change of unit, depending of the size of selected files. Later, we'll describe the "Selection" menu. Last, the first menu is either "Backup" or "Restore" (depending of which operation you've choosen) and has the following options: Start Allows to start backup or restore. If you selected no file and no subdirectory, an error message will be displayed. Options Allows to change the backup or restore options. Estimations Gives an estimation of backup time and of the number of disks needed. The result depends of the size of the selected files, of backup options, and of the processor inside your Amiga. It may not be accurate if other tasks are running during the backup. ABackup always suppose that you backup a hard disk to floppies. About... Displays some informations on this program. To continue, click within the window, over the window close gadget or press any key. Abort Allows to abort whole operation. After it asked to confirm, ABackup returns to the main screen. Error_recovering When an error occurs while writing on a disk, you will see the following message "Write error on DFx:, should I try to recover ?". If you answer "NO", the backup will be aborted. If you answer "YES", ABackup will copy all data already written on the bad disk to a new disk, so backup will be able to continue. The copy will be processed using a single disk drive. You will have to provide a new disk of the same type than the bad one: you can't use (for example) a High Density disk (1.76 Mb) to replace a normal density disk (880 Kb). CAUTION: Follow the program intructions : don't remove the faultly disk until ABackup ask you to insert a new disk. If ABackup ask you to give again the bad disk it means that, due to a lack of memory, it was not able to copy the disk in one pass. You will have to give again the bad disk, then the new disk.  Viewing From the selection screen, you can view any file just by double-clicking on its name. A window appears, with several gadgets. The "Execute" gadget shows the name of the viewer to use for the selected file. The file's name and type (from which the name of the viewer is set) are displayed above You can, of course, modify the name of the program to use. The two lower gadgets allow you to start viewing ("OK" gadget), or to abort operation ("CANCEL" gadget). If you ask to view a link, ABackup will display the name of the file or directory the link points to. If you ask to view a non-AmigaDOS partition, ABackup will display the partition's caracteristics. Compression ABackup is able to compress files to backup, in order to reduce archive size. By default, the algorithm is the same as for the "compress" UNIX command: you can hope for a space-saving from 30% to 50%, but the backup is seriously slowed down with a "normal" 68000 based Amiga. Note that ABackup will not try to compress files with a ".lha", ".lzh", ".zoo", ".arc", ".pp" or ".z" file name extension, as well as any file less than 512 bytes long. You can specify other extensions to don't compress, with the NOCOMP argument (see "Getting_started" section). ABackup also look at the first bytes of the files, in order to detect files already compressed by XPK or PowerPacker. You can also use external compression and decompression programs, which may be faster and/or better. All you have to do is the modify ABackup configuration (see "Configuration" section) and enter the command to execute for both compression and decompression. Argument specification must use the following syntax: %0 full name of source file %1 path name of source file %2 base name of source file %3 full name of destination file %4 path name of destination file %5 base name of destination file The old "%s" and "%d" specifications are still accepted, and match the new "%0" and "%3" specifications. Here are two examples: 1) To use the "PowerPacker" (copyright par Nico François) related commands Crunch %s %d NOLED NOPER NOSUFFIX EFFICIENCY 1 Decrunch %s %d QUIET 2) To use the archiving program "Lha" (copyright par Stefan Borberg) Lha a %d %s Lha e %s %5 %4 It is advised to make the external programs residents if possible, or to copy them in RAM:, in order to reduce the time required by AmigaDOS to load them in memory. You may also have to specify the full pathname of the commands. You won't be able to select external compression as long as no command name has been given. When backing up and restoring, ABackup automatically runs the specified commands, and redirect their output to the "T:ABackup.log" file. You can look at this file if an error occurs. Please note that external compression can't be used when backing up non-AmigaDOS partitions. This version of ABackup can also use the XPK library (on Fish disk 754). This library will be automatically recognized if installed in your "LIBS:" directory. You will then be able to select one of the available compression method, in the options window. The name of the methods are prefixed with a "x" character, like "x BLZW". Take care that it won't be possible to restore an archive compressed with an external program, or with XPK library, if you don't have the corresponding decompression program. Though, you should avoid to use external compression if you plan to give the archive to somebody else. The_catalogue ABackup creates a catalogue of the archived files, and use it to restore. This catalogue is put at the end of the archive. If you loose the catalogue (archive file damaged or last disk lost), you can create a new catalogue with the "Rebuild_catalogue" function, described above. This version of ABackup uses a new catalogue format, far more compact than the previous one: this format is two or three times smaller than before. The size of the catalogue is now displayed when ABackup add it the the archive. Of course, this program can load a catalogue created by the older versions of ABackup, but the contrary is not true. Even with this new format, you may have memory problems with big archives (several thousands of files) because the catalogue will take a lot of memory. If you ever have a "not enough memory" error when loading a catalogue (whatever version of ABackup you use) here is two tricks to restore files anyway. The first solution is to reboot you Amiga, so you'll start with an unfragmented memory. If you mounted a "RAD:" disk, remove it with the "RemRAD" command before you reboot. If you have some background utilities you don't need while restoring, kill them to free more memory. Then, use the TMPDIR argument to assign the temporary directory to a hard disk partition with at least 1 Mb of free space, and try again to restore. If ABackup fails again, you will have to use the second method. The second solution is to create new catalogues, that will be smaller. If the archive has been created with an old version of ABackup, first try to make only one catalogue: as the new format is more compact, maybe this will be enough. Else, you will have to make several catalogues: divide your archive in several parts, and create a new catalogue for each part. The_Selection_menu ABackup has the capability of recording a file selection so that you can recall it later: this can be useful if you use frequently the same selections. These ones are kept as text files containing a set of commands: these files are in the "ABCK:" directory. In order to record a selection, choose the "Record" item in the "Selection" menu; then, do your selection as you do usually. Note that, during this recording, the "Backup" or the "Restore" menu disappear (for the time being). Once you have ended, select the item "Save" in the "Selection" menu to save your selection. If you want to abort a recording, choose the item "Abort" in the "Selection" menu. To recall a selection, choose the "Load" item in the "Selection" menu. A file requester will be displayed allowing you to specify the selection file you want use. If you click on the "OK" gadget in this file requester, that file will be loaded and selection it contains will be executed. This is description of the selection language used by ABackup. This allows to create or modify a selection file as you like, by means of your usual text editor. CD : go back to root directory CD / go back to parent directory CD "dir" go down in given directory INVERT reverse selection RECURS {YES|NO} set recursivity flag INCLUDE ALL include all files INCLUDE "name" include given file/dir INCLUDE NAME "name" {==|!=} select by name INCLUDE DATE "date" {<=|>=} select by date INCLUDE BITS "bits" {=0|=1} select by protection bits EXCLUDE ALL exclude all files EXCLUDE "name" exclude given file/dir EXCLUDE NAME "name" {==|!=} exclude by name EXCLUDE DATE "date" {<=|>=} exclude by date EXCLUDE BITS "bits" {=0|=1} exclude by protection bits Here is an example of selection file: RECURS YES ; go back to root CD : ; clear any selection EXCLUDE ALL ; include all files with archive bit cleared INCLUDE BITS "a" =0 ; exclude all ".o" files EXCLUDE NAME "#?.o" == Note that empty lines and lines starting by a ";" character are ignored. Also note that ABackup stores automatically the recursivity indicator state at the beginning of your selection record: if you take a look at the created files you'll see they all beging by a "RECURS" command. If you want to be sure to clear a previous selection, it's recommended to start all your selections by clicking on the "ROOT" gadget and then on "EXCLUDE ALL". Usage_without_interface ABackup can be used from CLI, without it's graphic interface. This may be useful for doing automatical backup, with programs like "cron". Four operations are allowed from this level: backup, restore, rebuild catalogue, archive listing. Backup is started with a command like: ABackup BACKUP FROM dir TO arc SELECT {ALL|ARC|NDOS|file} [OPTIONS {C|V|A|L|S|K}] [NOCOMP ext,ext,...] [VERBOSE] [REPORT file] [BUFSIZE size] [NOTASK] [TMPDIR dir] where "dir" is the directory to backup and "arc" the name of the archive to create. The "SELECT" argument allows to select files to backup: it must be followed by the name of a selection file (for example "ABCK:FullBackup"), by the "ALL" keyword which allow to select all files, by the "ARC" keyword which allow to select all files with archive bit cleared, or by the "NDOS" keyword which specify backup of a non-AmigaDOS partition. The "OPTIONS" optional argument allow to change backup options (CAUTION: by default, ALL options are reset): "C" for compression, "V" for verifying, "A" to set archive bit, "L" to backup links, "S" for a short report, "K" to encrypt data. You can specify several options (for example "OPTIONS CV"). The "REPORT" optional argument allow to have a backup report. Specify "PRT:" as a file name in order to have this report printed. The "VERBOSE" optional argument allow to have more messages during backup. The other arguments are described at the "Getting_started" section. Restore is started with a command like: ABackup RESTORE FROM arc [TO dir] SELECT {ALL|NDOS|file} [OPTIONS {F|D|E|L|S}] [REPLACE {YES|ASK|OLDER}] [VERBOSE] [REPORT file] [BUFSIZE size] [NOTASK] [TMPDIR dir] where "arc" is the name of the archive. The "SELECT" argument allows to select files to restore: it must be followed by the name of a selection file (for example "ABCK:SourcesFiles"), by the "ALL" keyword which allow to select all files, or by the "NDOS" keyword which allow to restore a non-AmigaDOS partition. The "TO dir" optional argument allow to restore files in the specified directory, rather than the directory they were at backup time. The "OPTIONS" optional argument allow to change restore options (CAUTION: by default, ALL options are reset): "F" to restore all files in the same directory, "D" to restore date, "E" to restore empty directories, "L" to restore links, and "S" for a short report. You can specify several options (for example "OPTIONS FE"). The "REPLACE" optional argument allow to specify what ABackup has to do if a file to restore already exists. It must be followed by "YES" (or "Y", the file is replaced), by "ASK" (or "A", you will be asked for confirmation), or by "OLDER" (or "O", the file is replaced only if it's older than the one in the archive). By default, files are not replaced. The "REPORT" optional argument allow to have a restoration report. Specify "PRT:" as a file name in order to have this report printed. The "VERBOSE" optional argument allow to have more messages during restore. The other arguments are described at the "Getting_started" section. Rebuilding catalogue is started with a command like: ABackup REBUILD FROM arc [VERBOSE] [BUFSIZE size] [NOTASK] [TMPDIR dir] where "arc" is the name of the archive. The "VERBOSE" optional argument allow to have more messages during processing. The other arguments are described at the "Getting_started" section. Archive listing is started with a command like: ABackup LIST FROM arc [TO file] [NOTASK] [TMPDIR dir] where "arc" is the name of the archive. The "TO file" optional argument allow to write the listing into the specified file, rather than the console window. Specify "PRT:" as a file name in order to have the list printed. The other arguments are described at the "Getting_started" section. Program_history ABackup is written almost fully in C language, and was developped on an Amiga 3000 UNIX-1 (10 Mb RAM, internal HD disk drive, internal hard disk of 100 Mb, external SyQuest drive of 88 Mb, external floppy disk drive, 1960 monitor and Star LC24-10 printer) connected by a null-modem cable to an A500 with 1 Mb RAM. v1.00, 08-Jun-92, 58036 bytes v1.10, 20-Jun-92, 59404 bytes o Handles High Density floppy disks (1.76 Mb). o When run from the Workbench, you can change the size of the read buffer with "BUFSIZE=" in the "TOOL TYPES" field of ABackup icon. o Several changes in backup: - when there is any problem at initialization time, goes back to the selection screen - when an archive file exists, or there is already a disk in drive, asks to confirm before starting writing - tests if files to back up are protected against a read (opening a file works in any case, but under 2.0 system release you will be kicked out at the first read operation) - displays the compression rate for every file (after "OK") o Several changes in the interface: - added the "Size" menu in the selection screen (Bytes/Kb/Mb) - displays backed-up/restored percentage and remaining one - the "monitor" window (in blue) is larger when screen is in PAL mode o Time valuation more accurate (uses the "timer.device"). v1.20, 28-Jun-92, 62616 bytes o Added the "Selection" menu in the selection screen: you can record a selection and recall it later. o Fixed several bugs: - as a result of an error in the computing of remaining place in the last disk, sometimes it wrote a catalogue overlapping two different floppies - when you swapped a disk during a file header writing, it forgot to set up the disk position at 0 (in the catalogue) - during a read, at the end of a disk, it detected one byte earlier it had to ask for the next disk. o For a by date selection, you can give the month name (e.g. "01-Jan-92") o When run from the Workbench, it does not open the small "console" window. v1.30, 01-Jul-92, 67640 bytes o Double-click upon a name starts a "view" operation o Under 2.0 system release, uses "dos.library" pattern matching functions (more powerful than SAS/C ones) o Added "Estimation" option in "Backup" menu o Displays error messages rather than error codes o Bug fixed in "draggin select": didn't displayed directories when scrolling list o Restore screen's title when "Abort" is selected on archive selection menu (Restore) v1.31, 04-Jul-92, 68316 bytes (Fish #706) o Added "Restore date" option o Added auditive beep in alert/wait functions o No more need for "arp.library" to make drives "BUSY" under 1.3 system release o Estimations more accurate (don't suppose that last disk is full) v1.40, 22-Aug-92, 78328 bytes o Can use several disk drives for backup o Full access from CLI ("batch" mode) o Bug fixed: always tried to decompress archive catalogue (even if it was not) o Bug fixed: when loading archive file catalogue, scanned all archive beginning (instead of going straight to the good location) o Preparation of non-dos partitions backup (most of the required code written) o Added visual beep to each auditive beep v1.50, 09-Sep-92, 81068 bytes o Added support for links under 2.0 system release (both hard and soft links are handled) o Added "Backup links" and "Restore links" options o Added "Automatic" item to "Size" menu o Added "NOCOMP ext,ext,..." argument o When requesting a disk for writing, verifies that the disk has really been changed before continuing o If an error occurs while writing on a disk, make one retry o Error in percentage computation corrected o On selection screen, directories with at least one child selected are displayed on a black background o No more overflow from "monitor" window if file name is too long o Bug fixed in SendPacket() function o Bug fixed in time computation (00:29:59 + 1 gave 01:00:00 ... whoops !) o Forgotten trace message removed v1.51, 07-Oct-92, 81048 bytes o Any file or directory whose comment begins with "SKIPME" is ignored when loading directory tree o Bug fixed: no more problems if the size of a file change between the time we load directory tree and time we save the file o Bug fixed: didn't clear destination name between two restore (so the second was made is the same directory than the first) o Update status display when disk is changed v1.60, 15-Oct-92, 84312 bytes (Fish #759) o Added function to rebuild catalogue o Selection screen modified (added "OPTIONS" and "START" gadgets, etc...) o Estimations for 68000 Amigas corrected (thanks to JYP !) o If a file is read protected (under 2.0 system release) ask for retry o When restoring, display the name of the file created instead of the name in the archive o Restore option "At the same level" renamed "Restore dir. tree" v1.61, 21-Oct-92, 84472 bytes o From WB may be set as "DEFAULT TOOL" of an archive file o File type (for visualisation): no longer binary when an character is found o Window are now centered on the screen o Menus are no longer present during backup or restore v1.70, 29-Oct-92, 87016 bytes o Can use external programs for compression/decompression o Added a menu for the startup screen (Config, About, Quit) o Screen's title show what is the current operation o On selection screen, when restoring, the "Directory" field shows the destination directory o By default, compression is disabled o Documentation modified so it can be read with ADoc v1.80, 11-Nov-92, 88528 bytes o Creates a child task for disk write operations (speedup backup between 10-20%) o Sets archive bit only on files/dirs which have not it already set o Filenames are truncated to the left instead of the right ("Directory" field, "monitor" window, e.g. ".../foo/bar") v2.00, 22-Nov-92, 90492 bytes (Fish #780) o Can use XPK library o Added the error recovering function v2.01, 06-Dec-92, 90520 bytes o When using XPK compression, sometimes forgot to delete a temporary file o Disable compression if preferences tells to use XPK and library couldn't be opened o Cosmetics changes on file requester v2.10, 12-Dec-92, 88652 bytes o Compiled with SAS/C 6.00 o New catalogue format, far more compact o Show catalogue size when adding it to archive o A few optimizations in display functions (gadget borders now draw with GfxGList instead of GfxOp) o The "Parent" gadget at the left of the file list has now a border v2.11, 19-Dec-92, 88708 bytes o When writing catalogue, display the informations as when writing a file (Crunching, Writing, Ok x%) o Updating informations when disk changed: now only disk number and time modified v2.12, 25-Dec-92, 89492 bytes o Compiled with SAS/C 6.1 o Verifies XPK.library version (at least version 2) o Added argument TMPDIR to change temporary directory v2.13, 08-Jan-93, 90208 bytes o Child task disabled under system release 3.0, because it makes the system crash. o When modifying backup options, compression methods cycle in reverse order if SHIFT key is hold down. o When backing up to a file, the gauge displays the filling percentage of the volume. o Bug fixed: in "batch" mode, forgotted the target directory specified for restoration. v2.20, 16-Jan-93, 90644 bytes o Can now restore from several disk drives o Bug fixed in backup: saved the target name instead of the link name (though didn't found the link at restore time) o Bug fixed in backup: the AddCatalog() function didn't returned the correct return code if the catalogue wasn't compressed o Bug fixed in restore: didn't restore the correct date for directories o Bug fixed in reports: didn't write the correct date for directories o The call of viewer programs is safer v2.30, 24-Jan-93, 91700 bytes o Can now save several partitions in the same archive o Bug fixed when writing configuration file: the viewer program names were not written at the good position o The temporary directory can be modified in the configuration window, and saved in the configuration file. o Added the "SIZE" argument (changes default value of "Size" menu) o Communication with child task now performed via messages (instead of signals) o Child task stack size is now 4Kb (instead of 2Kb) o Shortening names too long: now tries to remove a full directory name until it works, also done when writing reports. o Bug fixed in date computation. o Since v2.20, viewing a file didn't worked if the viewer program detached itself. o Final requester of non-registered version more irritating o A few optimizations in display functions v2.31, 30-Jan-93, 91888 bytes o If a SHIFT key is hold down while you click upon a directory name, the whole directory contents is selected/deselected o Drag selecting now also include/exclude directories o Bug fixed: sometimes losed archive name before starting restore v2.40, 06-Feb-92, 92364 bytes (Fish #838) o No more crashes with child task under OS 3.0 (KS 39.106, WB 39.29) o Recompiled with SAS/C 6.2 o Link restoration more efficient (no need to insert disks twice) o Directory sort faster (QuickSort instead of Shell sort) o Enhanced multi-selection in file requester v2.41, 20-Feb-93, 93124 bytes o Can now use the file requester from asl.library (USEASL argument) o Recognize now XPK and PowerPacker compressed data files and don't compress them o Add a comment to archive files saying they are ABackup archive files v2.42, 23-Feb-93, 93264 bytes o Bug fixed: when using external compression, ABackup tried to restore protection bits and date on the temporary file (which was already deleted) instead of the restored file. o Bug fixed: for Lock() to work on a soft-link, you must be in the directory were is the link, so now temporary changes of directory. o Bug fixed in french version: if an error occured when setting archive bit, the error message was not good o Bug fixed in english version: didn't display catalogue size at the end of the backup v2.43, 13-Mar-93, 93328 bytes o Bug fixed: the "rebuild catalogue" function didn't worked with multi-partitions archives o Better requesters look (add a bow with GfxGList instead of writing on a black background, etc...) o Bug fixed: directory sorting with QuickSort() wasn't ok o Bug fixed: the viewing function crashed on a 68000 (a "short *" wasn't aligned) o Bug fixed in english version: the "bad XPK version" message was missing o The LIST function asks disks like REBUILD (so you can start from any disk, and some disks may be missing) v3.00, 13-May-93, 97820 bytes o Backup and restore non-AmigaDOS partitions o Child task rewritten from scratch (queue write commands, started with a priority of +5): this version is 15% faster than v2.43 o Memory allocation function modified: if allocation fails, displays a retry/cancel request telling how much memory ABackup need o Modified screen opening under OS 2.x and 3.0 (uses default values for size and position, etc...) o External compression management modified: - arguments specification more powerfull (added %0 to %5) - arguments are put between quotes, so no more problems if there are spaces in names - the T:ABackup.log file also show the command called o Added data encryption function o Running from Workbench: if a directory icon is given starts a backup, if a file icon is given starts a restore o Displays only directory names when loading directory contents (10% faster on an A500 under 1.3) o You can now choose between a long (old manner) or short (errors only) report o Since v2.31, the RECURSE gadget wasn't correctly managed o Disk drive is stopped as soon as restore is finished, instead of waiting for the user to reply to the "Restore finished" request o When failed to load a selection file, tries from ABCK: if no path given o When saving configuration (external progs), also save the current palette (allow to change the colors) o When starting, check TMPDIR: if Lock() fails, use "T:" o Usage from CLI and under 1.3 system release checked (a few minor bugs fixed) o No more problems if there are spaces in a "dfx:,dfy:" specification v3.10, 16-May-93, 98500 bytes o Added sector checksums, in order to be sure that data in write buffer has not been modified, and are also used to verify data written on the disk. o If a fatal error occurs during backup or restore, go back to selection screen o Removed an unused field in the DiskUnit structure (du_wbuf, opening a disk drive now requires 11Kb less) o Show catalogue size in backup report o During backup, the "disk" gauge is updated by the child task (so it gives the real position on floppy) o Bug fixed: the "Encryption" option wasn't reported in backup report v3.11, 23-May-93, 98512 bytes o When searching a non-AmigaDOS partition, compares only the beginning of the DosEnvec structure (instead of comparing the whole structure) o Two MungWall hits removed v3.12, 03-Jun-93, 99596 bytes o Modified "Restore from" gadget management (value saved in config file, a few bugs fixed, etc...) o When using ABackup from CLI, one part of program initialisation wasn't made so the child task wasn't created and a few checks were missings o All string gadgets for file names have now a gadget to bring a file requester o All string gadgets have now an "Undo Buffer" o Multi-partition archives: the name of the partitions is now shown in the report files o A few modifications in source organisation v4.00, 10-Jul-93, 106456 bytes o Compiled with SAS/C 6.3 o Adapt itself to default screen size and text font (no size checking !) o Added "FONT" argument (ignored if proportionnal, no size checking !) o Bug fixed: v3.00 to 3.12 had a wrong read buffer size, so if you restored an archived created by v2.43 (or previous) files larger than 32Kb were corrupted. This version read correctly archives created by v2.43, but for an archive created by v3.00 to 3.12, you'll have to specify the "NOPATCH" argument. You should also rebuild the catalogue. o Error recovering function enhanced: Didn't worked since v3.10 (as disk was changed, buffer checksums were lost so you got an alert when ABackup restart writing on the new disk) Since v3.00, wasn't able to recover an error when writing at the end of a disk (after a ICMD_SYNC command) o Bug fixed: if a directory to restore already existed, ABackup reported an error because CreateDir() failed (now continue silently) o Extension to don't compress may now be modified in backup options window (and saved in config file) o Doesn't stop backup anymory if an error occurs after having written a file header (the file may be partially written, but this avoid to abort backup) o If an error occurs when restoring a file, destroy partial target. o Check STOP/PAUSE gadgets during XPK packing/unpacking o Gadget "Ok" renamed "Use", inverted "Save" and "Use" gadgets to be compliant to Style Guide o On selection screen, display directories before files (both will still be mixed when displaying the content of an old archive) o The Shareware requester is now displayed at the beginning of each backup/restore/ rebuild operation, without closing gadget, and with a 10s timeout o TMPDIR checking now made in OpenAll() o Palette is loaded from config file only if the two first colors are differents o A few modifications/optimizations in source code v4.01, 01-Aug-93, 106444 bytes o Restoring date now works under KS 1.3 o In restoration, if an error occured when reading a header, displayed "not restored" but didn't displayed the file name