home *** CD-ROM | disk | FTP | other *** search
-
- *********************************************************************
- FBack V1.5
- By Chris De Maeyer
- For AmigaDOS 68k
- *********************************************************************
-
-
- 0. Contents
- ----------
-
- 1. Introduction
- 1.1. Legal
- 1.2. What it does...
- 1.3. Requirements
- 1.4. Contact address
- 1.5. Development info
- 1.6. Versions
-
- 2. Using it
- 2.1. Command line options
- 2.2. Examples
-
- 3. Appendix
- 3.1. Common problems
- 3.2. Error messages
- 3.3. Language support
- 3.4. The future
- 3.5. About me
-
-
- 1. Introduction
- --------------
-
- If you have used this program before try to make the effort to read this doc
- again. Some useful info is updated, not listed in previous versions.
-
- Read also 'fmirr15.doc' for changes !
-
- 1.1. Legal
- -------
- Type : - MAILWARE (as of V1.5 only send email for bug reports)
-
- Terms : - no modifications to any file in this archive
- - add no additional files to this archive
- - use this program longer than 30 days, then you should
- reward the author with a postcard/letter/email, hence the term
- mailware
- - author can not be held responsible for data loss, the program
- has been tested and the behaviour has been described below
- - any commercial distribution is prohibited (except on Aminet).
-
-
- 1.2. What it does
- --------------
- 'FBack' is a file copy tool. It will check the archive bit of files
- and copy them if the archive bit is not set. After copying it will
- add the archive bit. It can be used to perform a 'Daily' backup of
- changed files.
-
- As an option you can run the program in GUI mode, this will open up
- a window which keeps up with the process. When processing has
- finished the window will remain open until you close it with the close
- gadget. Unless you specify NOWAIT, then the window is closed immediately
- after processing. In GUI mode the 'Current' gadget displays the files it
- is scanning.
- In CLI mode it merely reports the directories it is scanning, but the files
- being backed up are listed.
-
- On request of some users a CLONE option has been added, meaning the
- date/time is preserved on the backup.
-
- The filenotes are copied by default, specifying the NOCOMMENT option
- will suppress this.
-
- The program includes a batch mode, paths and options are then specified
- with a configuration file. Several entries are allowed.
-
- Some extra statistics, the estimated processor time (for now only in
- second(s)) are displayed.
-
- New features:
-
- - PRI option (also in batch mode)
- - BUF option now supported in batch mode
- - report on Kilobytes processed
- - report on packed bytes gained/lost
- - language support
- - executable for 68020/060
-
- 'FMirror' is included. Its purpose is to delete files which no longer
- exist in the original directory, thus creating a mirror. It also
- deletes empty (obsolete) directories from the backup, cleaning up etc.
-
- There has been a remark concerning the mirror concept in combination
- with the pack mode, if you take it word for word, issuing PACK is no
- EXACT mirror (jeezes!). Mirroring is portrayed in this implementation as
- following concept: you have a copy (normal or packed) on the backup volume
- of what is on your source path (Comprendo!).
-
-
- 1.3. Requirements
- --------------
- Properly installed Amiga ROM 2.1+.
- Needs XPK library when using PACK option.
- GUI window uses standard GADTOOLS library.
-
- May need Argue (V1.3+) to use FBackGUI, FMirrorGUI.
- [Can be found in the "CyberQT" archive on Aminet]
-
-
- 1.4. Contact address
- -----------------
- For mail/information/problems/gifts/bugs etc. write to the address
- below, state version & add postage for reply:
-
- Visionary Software
- tav. Chris De Maeyer
-
- Norbertijnenstraat 4
- B-2040 BELGIUM
- EUROPE
-
- Internet :cdemaeyer1@mmm.com
- Alternate:ceppe@geocities.com
- Homepage :http://www.geocities.com/siliconValley/peaks/8452
- http://www.crosswinds.com/antwerp/~visionary
-
- 1.5. Development info
- ------------------
- Sources were written in C and compiled using SAS/C V6.58.
-
- All file I/O has been coded using standard system library
- functions (V38+).
-
-
- 1.6. Versions
- ----------
-
- The actual version can be determined by typing 'version fback' in a
- CLI window.
- It is recommended to always upgrade to the latest version.
-
- V0.9 TEST RELEASE
- - first internal test version.
-
- V1.0 FIRST PUBLIC RELEASE
- - cleaned up code
- - adapt stack size + compile with stackextend, optimize
- - first public release.
-
- V1.1 MAJOR UPDATE
- - added file report after processing
- - shortened output strings + reformat
- - changed ExamineDir() flow, performs better with patterns
- - message to indicate NOCOPY mode
- - fixed error in document (FROM/A & TO/A examples).
-
- V1.1a MINOR UPDATE
- - changed some buffer sizes for speed, copybuffer = 16Kb.
-
- V1.2 MAJOR UPDATE
- - added packing mode
- - added XPK packer/unpacker
- - added date in version string.
-
- V1.2a MINOR UPDATE
- - updated some internal values
- - added Argue GUI
- - added BUF option.
-
- V1.2b MINOR UPDATE
- - added FORCE option
- - changed some displayed strings.
-
- V1.2c MINOR UPDATE
- - replaced SAS pattern match function with 'dos.library'
- function MatchPatternNoCase()
- - fixed pattern matching.
-
- V1.3 MAJOR UPDATE
- - archive bits are also set on destination (Oops!)
- - added GUI window option
- - added NOWAIT option
- - added CLONE option, to keep date on destination.
-
- V1.3a MINOR UPDATE
- - filenotes of files are copied now
- - added NOCOMMENT option
- - code generation with SAS/C 6.58.
-
- V1.4 MAJOR UPDATE
- - fixed traversing the directory tree
- - HandleIDCMP() uses Wait() now
- - added estimated processor time (and total time) report
- - changed output attributes of some strings
- - FROM, TO paths are checked now
- - filenotes of directories are copied now
- - added configuration file mode (batch).
-
- V1.4a MINOR UPDATE
- - added BEFORE/ASOF date possibility
-
- Remark: I tested with async I/O functions but these
- gave a poor result ! Why ? Rather simple to be honest,
- I can not do/find any other task to do while copy is
- busy...
-
- ASYNC TEST RESULTS
- ------------------
- Mb Buffer Time To Backup
- ---------------------------------
- 24 16 Kb 98 seconds
- 24 64 Kb 68 seconds
-
- 1.5 16 Kb 30 seconds (small files)
-
- See table with BUF option for reference to normal
- implemented routines.
-
- V1.4b MINOR UPDATE
- - support for more files
- - default copy buffer size 32Kb
-
- V1.4c MINOR UPDATE
- - bugfix in file arrays
- - aborts on CTRL_C in CLI mode
-
- V1.5 MAJOR UPDATE
- - added PRI option, also in batch mode (CFG)
- - BUF option can now also be specified in batch mode (CFG)
- - reports Kilobytes backed up/examined (CLI)
- - reports bytes gained/lost in PACK mode (CLI)
- - some reformatting of strings
- - added language support
- - executable for 68020/060
-
-
- 2. Using it
- ----------
- 2.1. Command line options
- ----------------------
- The program uses standard AmigaDOS command templates, so
- typing 'FBack ?' will list all the options available.
-
- Detail explanation of options:
-
- FROM/A - the source path, a AmigaDOS file pattern may be
- given.
-
- fe. BOOT:
- BOOT:Prefs/
- BOOT:S/#?.keyfile
-
- As you can see, a volume needs no '/'. However, a
- directory always needs a '/'.
- If a volume\directory is entered, only that part will
- be checked, to include all subdirectories include the
- 'ALL' switch.
-
- fe. FBack BOOT: TO BACKUP: ALL
- FBack WORK:data/ TO BACKUP:Sys/ PACK=HUFF ALL
- Fback WORK:data/calc/#?.wk1 TO BACKUP:Wks/ ALL
-
- TO/A - the destination path.
-
- fe. BACKUP:
- SQ0:Backup/Workbench/
-
- Same rules as above, a volume needs no '/'. A directory
- always needs an ending '/'.
- As you might expect, the 'ALL' switch will create any
- missing subdirectories in the destination path.
-
- NOCOPY/S - this does exactly what it says, when a file has
- been modified it is normally copied to the backup
- location. Adding this parameter prevents this and the
- program will merely report the file. Call it a SIMULATE
- mode.
-
- ALL/S - include subdirectories.
-
- QUIET/S - no output messages (shut it up).
-
- *NEW* PRI=/K/N - set priority (-100 to 5), in the old days you could
- use a task manager to do this, now you can simply add
- it as an option either to speed-up or let it creep in
- the background.
-
- A test result:
-
- Fback sys: to backup: all clone 289s
- Fback sys: to backup: all clone pri=5 206s
-
- (Do not pin me on these times, they are dep. on
- various parameters...)
-
- Q: Why I've put in a min. and max. ?
- A: To avoid problems. As a Amiga guy you should know that
- setting priorities wrong can give strange results. Fe.
- program keeps running and doesn't react to input anymore.
- Eg. console.device runs at priority 5 etc.
-
- PACK=/K - enables packer mode, supply preferred packer. In this
- mode make sure your recovery disk includes the XPK library
- + some XPK unpacker (fe. xpk [included]) to restore files.
-
- fe. PACK=nuke
-
- BUF=/K/N - choose the buffer size used for copying, default is 32 Kb.
- Size limited only by your available RAM (but do not try to
- use TOO big sizes, 32 Kb will do fine for most users).
-
- *********** READ THIS HERE !!! ***************
- The buffer size is specified in bytes.
- **********************************************
-
- This table states a test result (on my system!):
-
- Mb Buffer Time To Backup
- ------------------------------------
- 24 16 Kb 84 seconds (big files)
- 24 64 Kb 47 seconds " "
- 24 128Kb 32 seconds " "
-
- 1.5 16 Kb 29 seconds (small files)
- 1.5 64 Kb 28 seconds " "
- 1.5 128Kb 28 seconds " "
-
- Obviously, the speed increase is optimal while backing
- up large files and vanishes if little files are processed.
-
- FORCE/S - specifying this option will ignore the archive bit, thus
- copying every file (= full backup).
-
- GUI/S - opens GUI showing some statistics, no more CLI output.
-
- NOWAIT/S - when using GUI mode, closes the window immediately after
- processing finishes, otherwise window remains open until you
- click the close gadget.
-
- CLONE/S - clones file date/time to destination.
-
- NOCOMMENT/S - specifying this option will instruct FBack NOT to copy
- the filenotes.
-
- CONFIG=/K - run in batch mode, this parameter contains the filename
- of the configuration file to process.
-
- Syntax configuration file (text file):
-
- ----------------- cut ----------------------
- [FBack]
- NumberOfPaths = <N>
-
- [Paths]
- SrcPath1 = <source path 1>
- DstPath1 = <destination path 1>
- ...
- SrcPathN = <source path N>
- DstPathN = <destination path N>
-
- [Options]
- BOptions1 = <fback options for entry 1>
- MOptions1 = <fmirror options for entry 1>
- ...
- BOptionsN = <fback options for entry N>
- MOptionsN = <fmirror options for entry N>
- ----------------- cut ----------------------
-
- Example: study "MYBACK.CFG" included in the archive.
-
- To start batch mode use a command line like:
-
- fback "" "" cfg=myback.cfg
-
- or
-
- fback "" "" config=whatever
-
-
- NOTE: To detect in which mode (CLI or GUI) FBack
- will run the first option entry is taken.
-
- Thus, specifying GUI in the 1st option entry
- will trigger GUI mode for all subsequent batch
- entries.
- Leaving GUI out of the 1st option entry will
- run all subsequent entries in CLI mode.
-
- NOWAIT is also only interpreted in the 1st
- option entry.
-
- When running batch mode with GUI, the current
- gadget will display the batch entry it is going
- to process for a couple of seconds. After the
- batch entry is done the "Estimated processor
- time" is displayed. When all batch entries are
- finished the "Total processor time" will be
- shown.
-
- ********* BATCH MODE CHANGES **************
- Now supports BUF= and PRI= options
- *******************************************
-
- BEFORE=/K This triggers the date selection. Enter the date in DOS
- format (dd-mmm-yy) meaning this is also localized.
-
- For example: 15-okt-97 for Belgian/Dutch users.
-
- ASOF=/K Opposite of the previous, will backup files as of the
- the date given and after it.
- So,the date given is included in the selection.
-
-
- The return code is either RETURN_OK (0) or RETURN_WARN (5) in all
- other cases.
- For some examples look at next section "2.2. Examples".
-
- While in CLI mode the program can be interrupted by pressing CTRL-C.
- Tip: for GUI mode you could send a break with a task manager !
-
- If you have Argue V1.3a you can use the GUI (FBackGUI) version to
- specify options.
-
- NOTE: the logical sequence to run FBack/FMirror is run FBack first,
- then run FMirror (as you see in the first example below).
- Some users do it the other way round (the logic escapes me!).
-
- 2.2. Examples
- ----------
- This section lists some examples of usage.
-
- - Backup changed prefs files:
-
- ; Startup-sequence
- ...
- FBack sys:prefs/env-archive/ to work:backup/prefs/ ALL FORCE QUIET
- FMirror work:backup/prefs/ to sys:prefs/env-archive/ ALL QUIET
- ...
-
- - Mirror a disk at startup & create logfile:
-
- ; Startup-sequence
- ...
- FBack sys: to mirror:boot/ ALL >T:FBack.log
- FMirror mirror:boot/ to sys: ALL >T:FMirror.log
- ...
-
-
- - Mirror files before shutdown:
-
- .key FLAG
- .bra {
- .ket }
- ; Shutdown script
- echo "Just a moment, valuable files are checked..."
- ;
- if {FLAG} EQ "GFX"
- FBack work:data/gfx/ to backup:data/gfx/ ALL GUI NOWAIT
- echo "Gfx data has been saved."
- endif
- if {FLAG} EQ "ALL"
- FBack work:data/ to mirror:data/ ALL GUI NOWAIT
- FMirror mirror:data/ work:data/ ALL GUI
- echo "All data has been mirrored."
- endif
- ;
- FBack sys:prefs/ to mirror:prefs/ ALL PACK=BZLW QUIET
- echo "System preferences have been saved."
- ;
- if exists C:Halt
- echo "It now safe to switch me OFF !"
- Halt
- endif
-
- - Backup certain files in a range of dates:
-
- fback data:texts/ backup: all clone asof=01-feb-97 before=10-feb-97
-
- Will backup the files from 01 february 1997 till 09 february 1997.
-
- 3. Appendix
- ----------
- 3.1. Common problems
- -----------------
-
- Q: It doesn't find its source/backup files ?
-
- A: Enter the correct path: see section 2.1 (FROM,TO option).
-
-
-
- Q: Fback picks up not any file ?
-
- A: Did you end the source path with a '/' ? Leaving it out
- will traverse the entire source drive without touching
- any file. Call it a side-effect !
-
-
- Q: When I backup to a JAZ/ZIP drive it takes a long time !
-
- A: Add a large number of disk buffers, eg. 'AddBuffers JAZ5: 2000'.
- This is not caused by FBack, but due to the way JAZ/ZIP works.
-
- 3.2. Error messages
- ----------------
-
- 'Source/Destination not found'
-
- The entered path could not be located. Correct your paths !
-
- 'File not found'
-
- The file you typed could not be found.
-
- 'Invalid date'
-
- Enter the date in ADOS format, thus dd-mmm-yyy. Example: 01-jan-97.
-
- 'No xxxxx date'
-
- Supply a date with the BEFORE/ASOF keywords.
-
-
- AmigaDOS errors are in format :
-
- 'FBack: nnn - message'
-
-
- 3.3. Language support
- ------------------
-
- From V1.5 onwards the program supports different languages. This initial
- archive contains a translation for Dutch only. I suppose there are users
- around willing to make translations of their own. For this purpose a
- catalog translation source file has been included. Make one and send it
- to me, then I will generate it and release it as a seperate archive.
- If you know how to generate a catalog yourself then use the supplied
- description file, then use the command line:
-
- catcomp languages/fback.cd fback.ct catalog fback.catalog
- copy fback.catalog locale:catalogs/<language>
-
- Here is the path to the files in the distribution:
- Catalog description file -> languages/fback.cd
- Catalog translation file -> languages/fback.ct
-
- 3.4. The future
- ------------
-
- Any suggestions/motivations/gifts from you are welcome !
-
- Thanks to all guys & dolls sending me real MAIL.
-
- It is because of YOU this program keeps getting better and better...
-
- Things I wish to examine myself:
-
- - multi-volume target
- - smarter pack mode (if lost bytes, then don't pack)
-
- 3.5. About me
- ----------
-
- Well, I'm working as a "Technical Analist" for a multinational company.
- My main responsibilities are "Implementing and supporting the WINDOWS NT
- LAN/WAN environment" (shame on me !). It's only for the money... give me
- a break ?? (If my bosses read this -> I'm only sucking up the great Amiga
- community !).
-
- At home I have a Amiga 4000T (68060/50/PPC, 80Mb Fast, 1GB SCSI HD, 2GB
- IDE HD, Syquest 105, a JAZ (my backup device!), VLab digitizer, Cybervision
- 64, Y/C genlock, 2 VCR's, etc).
- Which I primarily use for desktop video, animations, LightWaving,
- programming [and making backups (I detect a bit of sarcasm here !)].
-
- I started my Amiga carrier on a A500, upgraded to A2000 and later a 68020
- accelerator card (somewhere in the cellar now).
- Gosh, I've got a PPC 604e (200Mhz) now !
-
- Anyway, hope you can use the program (I do !).
-
- Other programs available from Aminet or author:
-
- BCompress -> Huffman compressor
- BCrypt -> encrypt data files with key
- LCount -> count lines/records in ASCII/bin file
- CExt -> change/delete/(re)number extentions of files
- DispIFF -> appicon on WB to display IFF images
- R3Version -> version of Real 3D data files + IFF chunk scanner
- BruVol -> estimates no. volumes in BRU backup
- MyLists -> link lib for data structures
- UCDoor -> link lib for MAX's BBS doors
- LevelMan -> MAX's door for access requests
- SysValues -> MAX's door displays system values
- CtdlBull -> STDIO door for BBS bulletins
- IsamMake -> make db defs for Redwood's engine
- MidiTrack -> monitor for MIDI packets
- SetMouse -> switch mouse port
- Cedee -> GUI CDDA sound player
- ...
-
- See yo.
-