home *** CD-ROM | disk | FTP | other *** search
/ Amiga Times / AmigaTimes.iso / sonstiges / tools / fback-dist / doc / fback15.doc < prev    next >
Encoding:
Text File  |  1998-10-06  |  26.1 KB  |  605 lines

  1.  
  2.   *********************************************************************
  3.                                FBack  V1.5
  4.                             By Chris De Maeyer
  5.                             For  AmigaDOS  68k
  6.   *********************************************************************
  7.  
  8.  
  9.   0. Contents
  10.     ----------
  11.  
  12.      1. Introduction
  13.         1.1. Legal
  14.         1.2. What it does...
  15.         1.3. Requirements
  16.         1.4. Contact address
  17.         1.5. Development info
  18.         1.6. Versions
  19.  
  20.      2. Using it
  21.         2.1. Command line options
  22.         2.2. Examples
  23.  
  24.      3. Appendix
  25.         3.1. Common problems
  26.         3.2. Error messages
  27.         3.3. Language support
  28.         3.4. The future
  29.         3.5. About me
  30.  
  31.  
  32.   1. Introduction
  33.     --------------
  34.  
  35.      If you have used this program before try to make the effort to read this doc
  36.      again. Some useful info is updated, not listed in previous versions.
  37.  
  38.      Read also 'fmirr15.doc' for changes !
  39.           
  40.      1.1. Legal
  41.          -------
  42.           Type  : - MAILWARE (as of V1.5 only send email for bug reports)
  43.  
  44.           Terms : - no modifications to any file in this archive
  45.                   - add no additional files to this archive
  46.                   - use this program longer than 30 days, then you should
  47.                     reward the author with a postcard/letter/email, hence the term
  48.                     mailware
  49.                   - author can not be held responsible for data loss, the program
  50.                     has been tested and the behaviour has been described below
  51.                   - any commercial distribution is prohibited (except on Aminet).
  52.  
  53.  
  54.      1.2. What it does
  55.          --------------
  56.           'FBack' is a file copy tool. It will check the archive bit of files
  57.           and copy them if the archive bit is not set. After copying it will
  58.           add the archive bit. It can be used to perform a 'Daily' backup of
  59.           changed files.
  60.           
  61.           As an option you can run the program in GUI mode, this will open up
  62.           a window which keeps up with the process. When processing has
  63.           finished the window will remain open until you close it with the close
  64.           gadget. Unless you specify NOWAIT, then the window is closed immediately
  65.           after processing. In GUI mode the 'Current' gadget displays the files it
  66.           is scanning.
  67.           In CLI mode it merely reports the directories it is scanning, but the files
  68.           being backed up are listed.
  69.           
  70.           On request of some users a CLONE option has been added, meaning the
  71.           date/time is preserved on the backup.
  72.  
  73.           The filenotes are copied by default, specifying the NOCOMMENT option
  74.           will suppress this.
  75.  
  76.           The program includes a batch mode, paths and options are then specified
  77.           with a configuration file. Several entries are allowed.
  78.  
  79.           Some extra statistics, the estimated processor time (for now only in
  80.           second(s)) are displayed.
  81.  
  82.           New features:
  83.           
  84.                 - PRI option (also in batch mode)
  85.                 - BUF option now supported in batch mode
  86.                 - report on Kilobytes processed 
  87.                 - report on packed bytes gained/lost
  88.                 - language support
  89.                 - executable for 68020/060                
  90.                           
  91.           'FMirror' is included. Its purpose is to delete files which no longer
  92.           exist in the original directory, thus creating a mirror. It also
  93.           deletes empty (obsolete) directories from the backup, cleaning up etc.
  94.  
  95.           There has been a remark concerning the mirror concept in combination
  96.           with the pack mode, if you take it word for word, issuing PACK is no
  97.           EXACT mirror (jeezes!). Mirroring is portrayed in this implementation as
  98.           following concept: you have a copy (normal or packed) on the backup volume
  99.           of what is on your source path (Comprendo!).
  100.  
  101.  
  102.      1.3. Requirements
  103.          --------------
  104.           Properly installed Amiga ROM 2.1+.
  105.           Needs XPK library when using PACK option.
  106.           GUI window uses standard GADTOOLS library.
  107.           
  108.           May need Argue (V1.3+) to use FBackGUI, FMirrorGUI.
  109.           [Can be found in the "CyberQT" archive on Aminet]
  110.  
  111.  
  112.      1.4. Contact address
  113.          -----------------
  114.           For mail/information/problems/gifts/bugs etc. write to the address
  115.           below, state version & add postage for reply:
  116.  
  117.                  Visionary Software
  118.                  tav. Chris De Maeyer
  119.  
  120.                  Norbertijnenstraat 4
  121.                  B-2040       BELGIUM
  122.                  EUROPE
  123.  
  124.                  Internet :cdemaeyer1@mmm.com
  125.                  Alternate:ceppe@geocities.com
  126.                  Homepage :http://www.geocities.com/siliconValley/peaks/8452   
  127.                            http://www.crosswinds.com/antwerp/~visionary
  128.  
  129.      1.5. Development info
  130.          ------------------
  131.           Sources were written in C and compiled using SAS/C V6.58.
  132.  
  133.           All file I/O has been coded using standard system library
  134.           functions (V38+).
  135.  
  136.  
  137.      1.6. Versions
  138.          ----------
  139.         
  140.           The actual version can be determined by typing 'version fback' in a
  141.           CLI window.
  142.           It is recommended to always upgrade to the latest version.
  143.  
  144.           V0.9  TEST RELEASE 
  145.                 - first internal test version.
  146.  
  147.           V1.0  FIRST PUBLIC RELEASE 
  148.                 - cleaned up code
  149.                 - adapt stack size + compile with stackextend, optimize
  150.                 - first public release.
  151.                  
  152.           V1.1  MAJOR UPDATE 
  153.                 - added file report after processing
  154.                 - shortened output strings + reformat
  155.                 - changed ExamineDir() flow, performs better with patterns
  156.                 - message to indicate NOCOPY mode
  157.                 - fixed error in document (FROM/A & TO/A examples).
  158.  
  159.           V1.1a MINOR UPDATE 
  160.                 - changed some buffer sizes for speed, copybuffer = 16Kb.
  161.           
  162.           V1.2  MAJOR UPDATE
  163.                 - added packing mode
  164.                 - added XPK packer/unpacker
  165.                 - added date in version string.
  166.           
  167.           V1.2a MINOR UPDATE
  168.                 - updated some internal values
  169.                 - added Argue GUI
  170.                 - added BUF option.        
  171.                 
  172.           V1.2b MINOR UPDATE
  173.                 - added FORCE option
  174.                 - changed some displayed strings.
  175.                 
  176.           V1.2c MINOR UPDATE
  177.                 - replaced SAS pattern match function with 'dos.library'
  178.                   function MatchPatternNoCase()
  179.                 - fixed pattern matching.
  180.                                       
  181.           V1.3  MAJOR UPDATE
  182.                 - archive bits are also set on destination (Oops!)
  183.                 - added GUI window option 
  184.                 - added NOWAIT option
  185.                 - added CLONE option, to keep date on destination.
  186.  
  187.           V1.3a MINOR UPDATE
  188.                 - filenotes of files are copied now
  189.                 - added NOCOMMENT option
  190.                 - code generation with SAS/C 6.58.
  191.                 
  192.           V1.4  MAJOR UPDATE
  193.                 - fixed traversing the directory tree
  194.                 - HandleIDCMP() uses Wait() now
  195.                 - added estimated processor time (and total time) report
  196.                 - changed output attributes of some strings
  197.                 - FROM, TO paths are checked now
  198.                 - filenotes of directories are copied now
  199.                 - added configuration file mode (batch).
  200.                 
  201.           V1.4a MINOR UPDATE
  202.                 - added BEFORE/ASOF date possibility
  203.                 
  204.                 Remark: I tested with async I/O functions but these
  205.                         gave a poor result ! Why ? Rather simple to be honest,
  206.                         I can not do/find any other task to do while copy is
  207.                         busy...
  208.                         
  209.                         ASYNC TEST RESULTS
  210.                         ------------------
  211.                         Mb     Buffer      Time To Backup
  212.                         ---------------------------------
  213.                         24     16 Kb        98 seconds
  214.                         24     64 Kb        68 seconds
  215.                         
  216.                         1.5    16 Kb        30 seconds (small files)
  217.                          
  218.                         See table with BUF option for reference to normal
  219.                         implemented routines.
  220.                         
  221.           V1.4b MINOR UPDATE
  222.                 - support for more files               
  223.                 - default copy buffer size 32Kb
  224.                 
  225.           V1.4c MINOR UPDATE
  226.                 - bugfix in file arrays
  227.                 - aborts on CTRL_C in CLI mode      
  228.                           
  229.           V1.5  MAJOR UPDATE
  230.                 - added PRI option, also in batch mode (CFG)
  231.                 - BUF option can now also be specified in batch mode (CFG)
  232.                 - reports Kilobytes backed up/examined (CLI)
  233.                 - reports bytes gained/lost in PACK mode (CLI)
  234.                 - some reformatting of strings
  235.                 - added language support
  236.                 - executable for 68020/060
  237.                            
  238.                                   
  239.   2. Using it
  240.     ----------
  241.      2.1. Command line options
  242.          ----------------------
  243.           The program uses standard AmigaDOS command templates, so
  244.           typing 'FBack ?' will list all the options available.
  245.  
  246.            Detail explanation of options:
  247.  
  248.              FROM/A       - the source path, a AmigaDOS file pattern may be
  249.                             given.
  250.                             
  251.                                 fe.   BOOT:
  252.                                       BOOT:Prefs/
  253.                                       BOOT:S/#?.keyfile
  254.                                       
  255.                             As you can see, a volume needs no '/'. However, a 
  256.                             directory always needs a '/'.
  257.                             If a volume\directory is entered, only that part will
  258.                             be checked, to include all subdirectories include the
  259.                             'ALL' switch.
  260.                             
  261.                                 fe.   FBack BOOT: TO BACKUP: ALL
  262.                                       FBack WORK:data/ TO BACKUP:Sys/ PACK=HUFF ALL
  263.                                       Fback WORK:data/calc/#?.wk1 TO BACKUP:Wks/ ALL
  264.                                                
  265.              TO/A         - the destination path.
  266.              
  267.                                 fe.  BACKUP:
  268.                                      SQ0:Backup/Workbench/
  269.                                      
  270.                             Same rules as above, a volume needs no '/'. A directory
  271.                             always needs an ending '/'. 
  272.                             As you might expect, the 'ALL' switch will create any
  273.                             missing subdirectories in the destination path.
  274.                                      
  275.              NOCOPY/S     - this does exactly what it says, when a file has
  276.                             been modified it is normally copied to the backup
  277.                             location. Adding this parameter prevents this and the
  278.                             program will merely report the file. Call it a SIMULATE
  279.                             mode.
  280.  
  281.              ALL/S        - include subdirectories.
  282.              
  283.              QUIET/S      - no output messages (shut it up).
  284.  
  285.     *NEW*    PRI=/K/N     - set priority (-100 to 5), in the old days you could
  286.                             use a task manager to do this, now you can simply add
  287.                             it as an option either to speed-up or let it creep in
  288.                             the background.
  289.              
  290.                             A test result:
  291.                             
  292.                                 Fback sys: to backup: all clone          289s
  293.                                 Fback sys: to backup: all clone pri=5    206s
  294.  
  295.                             (Do not pin me on these times, they are dep. on
  296.                             various parameters...)
  297.  
  298.                             Q: Why I've put in a min. and max. ?
  299.                             A: To avoid problems. As a Amiga guy you should know that
  300.                                setting priorities wrong can give strange results. Fe.
  301.                                program keeps running and doesn't react to input anymore.
  302.                                Eg. console.device runs at priority 5 etc.
  303.                             
  304.              PACK=/K      - enables packer mode, supply preferred packer. In this
  305.                             mode make sure your recovery disk includes the XPK library
  306.                             + some XPK unpacker (fe. xpk [included]) to restore files.
  307.                             
  308.                                 fe. PACK=nuke
  309.                                 
  310.              BUF=/K/N     - choose the buffer size used for copying, default is 32 Kb.
  311.                             Size limited only by your available RAM (but do not try to
  312.                             use TOO big sizes, 32 Kb will do fine for most users).
  313.                             
  314.                             *********** READ THIS HERE !!! ***************
  315.                                The buffer size is specified in bytes.
  316.                             **********************************************   
  317.  
  318.                             This table states a test result (on my system!):
  319.                             
  320.                                 Mb    Buffer          Time To Backup
  321.                                 ------------------------------------
  322.                                 24    16 Kb            84 seconds (big files)
  323.                                 24    64 Kb            47 seconds   "    "
  324.                                 24    128Kb            32 seconds   "    "
  325.  
  326.                                 1.5   16 Kb            29 seconds (small files)
  327.                                 1.5   64 Kb            28 seconds    "     "
  328.                                 1.5   128Kb            28 seconds    "     "
  329.                                 
  330.                             Obviously, the speed increase is optimal while backing
  331.                             up large files and vanishes if little files are processed.
  332.                             
  333.              FORCE/S      - specifying this option will ignore the archive bit, thus
  334.                             copying every file (= full backup).
  335.         
  336.              GUI/S        - opens GUI showing some statistics, no more CLI output.
  337.     
  338.              NOWAIT/S     - when using GUI mode, closes the window immediately after
  339.                             processing finishes, otherwise window remains open until you
  340.                             click the close gadget.
  341.                             
  342.              CLONE/S      - clones file date/time to destination.
  343.  
  344.              NOCOMMENT/S  - specifying this option will instruct FBack NOT to copy
  345.                             the filenotes.
  346.  
  347.              CONFIG=/K    - run in batch mode, this parameter contains the filename
  348.                             of the configuration file to process. 
  349.                             
  350.                             Syntax configuration file (text file):
  351.                             
  352.                             ----------------- cut ----------------------
  353.                                 [FBack]
  354.                                 NumberOfPaths = <N>
  355.                                 
  356.                                 [Paths]
  357.                                 SrcPath1 = <source path 1>
  358.                                 DstPath1 = <destination path 1>
  359.                                 ...
  360.                                 SrcPathN = <source path N>
  361.                                 DstPathN = <destination path N>
  362.                                 
  363.                                 [Options]
  364.                                 BOptions1 = <fback options for entry 1>
  365.                                 MOptions1 = <fmirror options for entry 1>
  366.                                 ...
  367.                                 BOptionsN = <fback options for entry N>
  368.                                 MOptionsN = <fmirror options for entry N>
  369.                             ----------------- cut ----------------------
  370.                                  
  371.                             Example: study "MYBACK.CFG" included in the archive.
  372.                                 
  373.                             To start batch mode use a command line like:
  374.                             
  375.                                 fback "" "" cfg=myback.cfg
  376.                                 
  377.                                             or
  378.                                 
  379.                                 fback "" "" config=whatever
  380.                                     
  381.                                     
  382.                             NOTE: To detect in which mode (CLI or GUI) FBack
  383.                                   will run the first option entry is taken.
  384.                                   
  385.                                   Thus, specifying GUI in the 1st option entry
  386.                                   will trigger GUI mode for all subsequent batch
  387.                                   entries.
  388.                                   Leaving GUI out of the 1st option entry will 
  389.                                   run all subsequent entries in CLI mode.    
  390.  
  391.                                   NOWAIT is also only interpreted in the 1st
  392.                                   option entry.
  393.                                   
  394.                                   When running batch mode with GUI, the current
  395.                                   gadget will display the batch entry it is going
  396.                                   to process for a couple of seconds. After the
  397.                                   batch entry is done the "Estimated processor
  398.                                   time" is displayed. When all batch entries are
  399.                                   finished the "Total processor time" will be
  400.                                   shown.
  401.                                   
  402.                                   ********* BATCH MODE CHANGES **************
  403.                                      Now supports BUF= and PRI= options
  404.                                   *******************************************
  405.                                   
  406.             BEFORE=/K     This triggers the date selection. Enter the date in DOS
  407.                            format (dd-mmm-yy) meaning this is also localized.
  408.                            
  409.                            For example: 15-okt-97    for Belgian/Dutch users.
  410.                            
  411.             ASOF=/K       Opposite of the previous, will backup files as of the
  412.                            the date given and after it.
  413.                            So,the date given is included in the selection.
  414.           
  415.                                   
  416.            The return code is either RETURN_OK (0) or RETURN_WARN (5) in all
  417.            other cases.
  418.            For some examples look at next section "2.2. Examples".
  419.  
  420.            While in CLI mode the program can be interrupted by pressing CTRL-C.
  421.            Tip: for GUI mode you could send a break with a task manager !
  422.  
  423.            If you have Argue V1.3a you can use the GUI (FBackGUI) version to
  424.            specify options.
  425.  
  426.            NOTE: the logical sequence to run FBack/FMirror is run FBack first,
  427.                  then run FMirror (as you see in the first example below).
  428.                  Some users do it the other way round (the logic escapes me!).
  429.                  
  430.      2.2. Examples
  431.          ----------
  432.           This section lists some examples of usage.
  433.  
  434.           - Backup changed prefs files:
  435.  
  436.                ; Startup-sequence
  437.                ...
  438.                FBack sys:prefs/env-archive/ to work:backup/prefs/ ALL FORCE QUIET
  439.                FMirror work:backup/prefs/ to sys:prefs/env-archive/ ALL QUIET
  440.                ...
  441.  
  442.           - Mirror a disk at startup & create logfile:
  443.  
  444.                ; Startup-sequence
  445.                ...
  446.                FBack sys: to mirror:boot/ ALL >T:FBack.log
  447.                FMirror mirror:boot/ to sys: ALL >T:FMirror.log
  448.                ...
  449.                
  450.  
  451.           - Mirror files before shutdown:
  452.           
  453.                .key FLAG
  454.                .bra {
  455.                .ket }
  456.                ; Shutdown script
  457.                echo "Just a moment, valuable files are checked..."
  458.                ;
  459.                if {FLAG} EQ "GFX"
  460.                     FBack work:data/gfx/ to backup:data/gfx/ ALL GUI NOWAIT
  461.                     echo "Gfx data has been saved."
  462.                endif
  463.                if {FLAG} EQ "ALL"
  464.                     FBack work:data/ to mirror:data/ ALL GUI NOWAIT
  465.                     FMirror mirror:data/ work:data/ ALL GUI
  466.                     echo "All data has been mirrored."
  467.                endif
  468.                ;
  469.                FBack sys:prefs/ to mirror:prefs/ ALL PACK=BZLW QUIET
  470.                echo "System preferences have been saved."
  471.                ; 
  472.                if exists C:Halt
  473.                     echo "It now safe to switch me OFF !"
  474.                     Halt 
  475.                endif
  476.  
  477.           - Backup certain files in a range of dates:
  478.           
  479.                fback data:texts/ backup: all clone asof=01-feb-97 before=10-feb-97
  480.                
  481.             Will backup the files from 01 february 1997 till 09 february 1997.
  482.                
  483.   3. Appendix
  484.     ----------
  485.      3.1. Common problems
  486.          -----------------
  487.  
  488.           Q: It doesn't find its source/backup files ?
  489.           
  490.           A: Enter the correct path: see section 2.1 (FROM,TO option).
  491.  
  492.  
  493.  
  494.           Q: Fback picks up not any file ?
  495.           
  496.           A: Did you end the source path with a '/' ? Leaving it out
  497.              will traverse the entire source drive without touching
  498.              any file. Call it a side-effect !           
  499.  
  500.           
  501.           Q: When I backup to a JAZ/ZIP drive it takes a long time !
  502.           
  503.           A: Add a large number of disk buffers, eg. 'AddBuffers JAZ5: 2000'.
  504.              This is not caused by FBack, but due to the way JAZ/ZIP works.          
  505.                     
  506.      3.2. Error messages
  507.          ----------------
  508.  
  509.           'Source/Destination not found'
  510.  
  511.              The entered path could not be located. Correct your paths !
  512.  
  513.           'File not found'
  514.  
  515.              The file you typed could not be found.
  516.  
  517.           'Invalid date'
  518.           
  519.              Enter the date in ADOS format, thus dd-mmm-yyy. Example: 01-jan-97.
  520.           
  521.           'No xxxxx date'
  522.           
  523.              Supply a date with the BEFORE/ASOF keywords.
  524.              
  525.              
  526.           AmigaDOS errors are in format :
  527.  
  528.              'FBack: nnn - message'
  529.                                                               
  530.  
  531.      3.3. Language support
  532.          ------------------
  533.          
  534.          From V1.5 onwards the program supports different languages. This initial
  535.          archive contains a translation for Dutch only. I suppose there are users
  536.          around willing to make translations of their own. For this purpose a
  537.          catalog translation source file has been included. Make one and send it
  538.          to me, then I will generate it and release it as a seperate archive.
  539.          If you know how to generate a catalog yourself then use the supplied
  540.          description file, then use the command line:
  541.          
  542.                    catcomp languages/fback.cd fback.ct catalog fback.catalog
  543.                    copy fback.catalog locale:catalogs/<language>
  544.          
  545.          Here is the path to the files in the distribution:
  546.                    Catalog description file -> languages/fback.cd
  547.                    Catalog translation file -> languages/fback.ct
  548.          
  549.      3.4. The future
  550.          ------------
  551.  
  552.           Any suggestions/motivations/gifts from you are welcome !
  553.           
  554.           Thanks to all guys & dolls sending me real MAIL.
  555.  
  556.           It is because of YOU this program keeps getting better and better...
  557.  
  558.           Things I wish to examine myself:
  559.           
  560.                 - multi-volume target
  561.                 - smarter pack mode (if lost bytes, then don't pack)
  562.  
  563.      3.5. About me
  564.          ----------
  565.          
  566.          Well, I'm working as a "Technical Analist" for a multinational company.
  567.          My main responsibilities are "Implementing and supporting the WINDOWS NT
  568.          LAN/WAN environment" (shame on me !). It's only for the money... give me
  569.          a break ?? (If my bosses read this -> I'm only sucking up the great Amiga   
  570.          community !).
  571.          
  572.          At home I have a Amiga 4000T (68060/50/PPC, 80Mb Fast, 1GB SCSI HD, 2GB
  573.          IDE HD, Syquest 105, a JAZ (my backup device!), VLab digitizer, Cybervision
  574.          64, Y/C genlock, 2 VCR's, etc).
  575.          Which I primarily use for desktop video, animations, LightWaving,
  576.          programming [and making backups (I detect a bit of sarcasm here !)].
  577.  
  578.          I started my Amiga carrier on a A500, upgraded to A2000 and later a 68020
  579.          accelerator card (somewhere in the cellar now). 
  580.          Gosh, I've got a PPC 604e (200Mhz) now !
  581.  
  582.          Anyway, hope you can use the program (I do !).
  583.          
  584.          Other programs available from Aminet or author:
  585.          
  586.                 BCompress       -> Huffman compressor
  587.                 BCrypt          -> encrypt data files with key
  588.                 LCount          -> count lines/records in ASCII/bin file
  589.                 CExt            -> change/delete/(re)number extentions of files
  590.                 DispIFF         -> appicon on WB to display IFF images
  591.                 R3Version       -> version of Real 3D data files + IFF chunk scanner
  592.                 BruVol          -> estimates no. volumes in BRU backup
  593.                 MyLists         -> link lib for data structures
  594.                 UCDoor          -> link lib for MAX's BBS doors
  595.                 LevelMan        -> MAX's door for access requests
  596.                 SysValues       -> MAX's door displays system values
  597.                 CtdlBull        -> STDIO door for BBS bulletins
  598.                 IsamMake        -> make db defs for Redwood's engine
  599.                 MidiTrack       -> monitor for MIDI packets
  600.                 SetMouse        -> switch mouse port
  601.                 Cedee           -> GUI CDDA sound player
  602.                 ...
  603.                 
  604.          See yo.
  605.