



          SimpleBackup v1.8.1
          Documentation

*12 January 2007*

------------------------------------------------------------------------


*[ 1. Authors ],*

    * Miguel Angelo Martins Morais Leite.


*[ 2. On-line Help ],*

    * *[ 1. Forum ],*
          o http://sourceforge.net/projects/migas-sbackup
    * *[ 2. Program E-Mail ],*
          o migas.miguel@gmail.com <mailto:migas.miguel@gmail.com>


*[ 3. Program Site ],*

    * http://migas-sbackup.sourceforge.net


*[ 4. Quick start ],*

    * This software is a cross-platform backup program that you can use
      to build automatic backups of directories and files.
    * Here are the very basic steps to get simplebackup doing a
      backup/restore :
         1. Check the requirements. <#M10>
         2. Install simplebackup. <#M12>
         3.

            *Create* a configuration file.
                o *unix:* simplebackup.pl --econf
                  /tmp/my_new_config_file.conf
                o *windows using perl:* perl -w simplebackup.pl --econf
                  c:\my_new_config_file.conf
                o *windows using the executable:* simplebackup --econf
                  c:\my_new_config_file.conf
         4.

            *Test* the configuration file.
                o *unix:* simplebackup.pl --tconf
                  /tmp/my_new_config_file.conf
                o *windows using perl:* perl -w simplebackup.pl --tconf
                  c:\my_new_config_file.conf
                o *windows using the executable:* simplebackup --tconf
                  c:\my_new_config_file.conf
         5.

            Executing the *backup*.
                o *unix:* simplebackup.pl --conf
                  /tmp/my_new_config_file.conf
                o *windows using perl:* perl -w simplebackup.pl --conf
                  c:\my_new_config_file.conf
                o *windows using the executable:* simplebackup --conf
                  c:\my_new_config_file.conf
         6.

            Executing the *restore*.
                o *unix:* simplebackup.pl --rconf
                  /tmp/my_new_config_file.conf
                o *windows using perl:* perl -w simplebackup.pl --rconf
                  c:\my_new_config_file.conf
                o *windows using the executable:* simplebackup --rconf
                  c:\my_new_config_file.conf
    * Notes:
          o The configuration file can be created and placed in any
            location.
          o There is no limit on the number configuration files created
            and used.
          o This is a command line program, there are no fancy buttons
            or graphics.
          o To check all command line options open a prompt/shell and type:
                + *unix:* simplebackup.pl
                + *windows using perl:* perl -w simplebackup.pl
                + *windows using the executable:* simplebackup.exe

    * If you are updating check the section "Updating from previous
      simplebackup versions" <#M13>


*[ 5. Running Simplebackup (Details) ],*

    * Here is a detailed explanation on all simplebackup arguments and
      options :
          o

            Simplebackup is a perl application designed to run across
            many different systems so there are 3 ways to call the
            simplebackup program.
                + Under Unix systems (Linux, Solaris, OpenBds, etc)
                  simply type [ simplebackup.pl +arguments ].
                + Under Microsoft Windows systems (Windows NT4 and
                  above) and if using the Perl version type [ *perl -w
                  simplebackup.pl +arguments* ]. This needs perl 5.6.1
                  or above installed but notice the use of perl 5.8.x is
                  recommended.
                + Under Microsoft Windows systems (Windows NT4 and
                  above) and if using the Win32 Compiled version [
                  simplebackup.exe ] type [ *simplebackup +arguments * ]
                  . This is a self contained program, perl does not need
                  to be installed, but will only run on x86 32 bits (or
                  32 bits compatible) machines running Microsoft Windows. 
          o

            Simplebackup arguments are :
                + *[ --econf ]*, for creating or editing the
                  configuration file. This argument makes simplebackup
                  creates (if file does not exist) configuration files
                  and then editing them using the operating system
                  default text editor, *vi* for Unix systems and
                  *notepad* for Windows systems. Example [ perl -w
                  simplebackup.pl --econf c:\new_config.conf ].
                + *[ --tconf ]*, for testing the configuration file.
                  This makes simplebackup test the configuration file
                  showing the configuration if no errors occurred or
                  reporting what errors where found. Users should pay
                  attention to the configuration info to all extra notes
                  or warnings reported. Example [ perl -w
                  simplebackup.pl --tconf c:\new_config.conf ].
                + *[ --conf ]*, to run a backup. Example [ perl -w
                  simplebackup.pl --conf c:\new_config.conf ].
                + *[ --rconf ]*, to run a restore. Simplebackup has
                  several restore modes and options making him extremely
                  powerful.
                      # *[ --rconf configuration_file.conf ]*, to run a
                        restore in manual mode, using the restore text
                        menu, with default the settings. Example [ perl
                        -w simplebackup.pl --rconf c:\new_config.conf ].
                      # *[ --rconf configuration_file.conf
                        +extra_options ]*, to run a restore using the
                        restore options, please notice that you can use
                        one or more options.
                            * *[ --rlist_file list.txt ]*, use a text
                              file that contains a list of what to
                              restore and optionally where to restore,
                              check the "Restore list file on the
                              Simplebackup files technical
                              documentation" <#MT5> for more details.
                              Example [ perl -w simplebackup.pl --rconf
                              c:\new_config.conf --rlist_file
                              my_restore_list.txt ]
                            * *[ --to some_path ]*, default restore path
                              where files and directories will be
                              restored. This can be overwritten by using
                              options in restore menu or by the restore
                              list file (--rlist_file). Example [ perl
                              -w simplebackup.pl --rconf
                              c:\new_config.conf --to r:\ ]
                            * *[ --session session_number ]*, session
                              number to take has a reference during
                              restores, if this is used only files and
                              directories existing during that backup
                              session will be restored. If defined has 0
                              (zero) simplebackup will match up against
                              the most recent backup session, this is
                              the default value. Example [ perl -w
                              simplebackup.pl --rconf c:\new_config.conf
                              --session 5 ]
                            * *[ --erase_extra yes/no ]*, erase or not
                              files and directories not found on the
                              defined session number (--session),
                              default value is no (in manual or auto
                              modes) or yes (in autosync mode). Example
                              [ perl -w simplebackup.pl --rconf
                              c:\new_config.conf --erase_extra yes ]
                            * *[ --mode manual/auto/autosync ]*, how
                              simplebackup will restore. Example [ perl
                              -w simplebackup.pl --rconf
                              c:\new_config.conf --mode autosync ]
                                  o in *[ manual ]* a menu will be
                                    presented and questions will be
                                    made, this is the default mode.
                                  o in *[ auto ]* the restore starts and
                                    no questions are made.
                                  o in *[ autosync ]* the restore starts
                                    and no questions are made but only
                                    restores the backup files and
                                    directories that where backup ed
                                    after the last autosync restore
                                    session, it will also automatically
                                    erase files and directories not
                                    found on the last backup session
                                    (similar to using --session 0
                                    --erase_extra yes), notice that this
                                    can be changed by using
                                    --erase_extra no. This allows
                                    simplebackup to create syncing
                                    mechanisms across different systems.
                + *[ --lconf ]*, to show the log file belonging to the
                  configuration file using the operating system editor,
                  vi for Unix systems or notepad for Windows systems.
                  Example [ perl -w simplebackup.pl --lconf
                  c:\new_config.conf ].
                + *[ --sconf ]*, list the existing backup sessions or
                  the details of a backup session for a given
                  configuration file.
                      # *[ --sconf configuration_file.conf ]*, to list
                        the existing backup sessions. Example [ perl -w
                        simplebackup.pl --sconf c:\new_config.conf ].
                      # *[ --sconf configuration_file.conf
                        session_number ]*, to list what a given backup
                        session contains. Example [ perl -w
                        simplebackup.pl --sconf c:\new_config.conf 10 ].
                + *[ --ffconf ]*, to force a full backup when running in
                  differential or incremental backups, this will erase
                  the management data records from the support file.
                  Example [ perl -w simplebackup.pl --ffconf
                  c:\new_config.conf ].
                + *[ no arguments ]*, to check the arguments simply type
                  simplebackup. Example [ perl -w simplebackup.pl ].
                + *[ --help ]*, to check the arguments with full
                  details. Example [ perl -w simplebackup.pl --help ].
                + *[ --requirements ]*, to show a full list of all
                  simplebackup requirements and in what situations.
                  Example [ perl -w simplebackup.pl --requirements ].
                + *[ --version ]*, to print a single line with the
                  simplebackup version. Example [ perl -w
                  simplebackup.pl --version ].

          o Notice that the examples use Windows paths just for question
            of documentation simplicity, Unix paths are fully supported.
          o The configuration keys present on the configuration files
            are fully documented on them self's, just create and edit
            them using the [ --econf ] argument.


*[ 6. How it works ],*

    * Sometimes a image is worth more than a thousand words so for
      better understanding here are the simplebackup backup and restore
      schemes.




*[ 7. Features ],*

    * Support for three backup modes: full, incremental and differential.
    * Restores can be made automatically or manually using text menus. [
      improved in version 1.8.x ].
    * Can create syncing mechanisms across different systems, even unix
      to windows or windows to unix. [ improved in version 1.8.x ].
    * Support for several backup formats (rar, 7z, zip, tar, tar.Z,
      tar.gz, tar.bz2). [ improved in version 1.8.x ].
    * Can encrypt the backup data using a build in encryption algorithm,
      the SimpleCrypt algorithm.
    * The SimpleCrypt algorithm is also available has the separated
      simplecrypt program included in the simplebackup package. This
      program can be used to encrypt/decrypt any file desired.
    * Creates separate backup files for each backup directory or file on
      the backup list.
    * Can read the backup list from a separated text file.
    * Can read the restore list from a separated text file, even with
      the use of wild cards and with the definition of the restore path.
      [ new in version 1.8.x ].
    * Backups can be made on a type of system (example windows) and
      restored on a different type (example linux). [ new in version
      1.8.x ].
    * Allows the selection of the compression ratio.
    * Can reject files and directories by full paths, even with the use
      of wild cards. [ improved in version 1.8.x ].
    * Can reject files by file type/extention.
    * Can reject files by full name.
    * Can reject files by size limit, example only backup files up to 1
      Megabyte.
    * Can limit the maximal size of the backup data, this can control
      the amount of data that will flow into the backup destination.
    * Can backup into ftp servers, and make use a ftp proxy (must be in
      open mode). [ improved in version 1.8.x ].
    * Can backup into ssh/sftp servers with or without the use of
      public/private keys. This backup mode uses ssh2 encryption so it's
      very safe to use across the internet. [ new in version 1.8.x ].
    * Can backup into http web-dav servers. [ new in version 1.8.x ].
    * Can backup by email into one or more email accounts.
    * Under unix operating systems it can backup into tape devices, but
      beware that this feature is experimental.
    * Also related to tape devices, it can execute any command desired
      before and after writing to tape, example mt -t /dev/tape0 rewind.
    * Works fully unattended, so you can easily program a at/cron job
      (unix) or task scheduler (windows).
    * Automatic backup session management, old backup data can be
      automatically erased.
    * Can run a script/batch file/command before the backup, example,
      you can use this feature to shut-down the database and free the
      data files for backup.
    * Can run a script/batch file/command after the backup, again a
      example, you can use this feature to bring the database back on-line.
    * Can run a script/batch file/command before the restore, example,
      you can use this feature to shut-down the database and free the
      data files for restore.
    * Can run a script/batch file/command after the restore, again a
      example, you can use this feature to bring the database back on-line.
    * Can send backup reports by e-mail (using smtp mail servers only).
    * Very detailed log information. [ improved in version 1.8.x ].
    * Build in debug to help in the detection of possible bugs or problems.
    * Can export the backup reports into any external program(s) or
      command(s).
    * Can log all operations into a file that can be consulted latter.


*[ 8. Runs On (Portability) ],*

    * Should run on almost all Unix systems.
    * Microsoft Windows NT 4, Windows 2000, Windows XP, Windows 2003.


*[ 9. Tested Systems ],*

    * .
      *System* 	*Compatible* 	*Notes*
      Microsoft Windows 95/98 	No 	lack of file locking ability.
      Microsoft Windows Millennium 	Unknown 	Operating system was not
      tested.
      Microsoft Windows NT4 	Yes 	Need to install Perl 5.6.1 or over *1,
      or use the Win32 compiled version (simplebackup.exe /
      simplecrypt.exe).
      It might be needed to install some extra Perl modules if using the
      Perl version (simplebackup.pl), check the requirements for more
      details.
      Microsoft Windows 2000 	Yes 	Need to install Perl 5.6.1 or over
      *1, or use the Win32 compiled version (simplebackup.exe /
      simplecrypt.exe).
      It might be needed to install some extra Perl modules if using the
      Perl version (simplebackup.pl), check the requirements for more
      details.
      Microsoft Windows XP 	Yes 	Need to install Perl 5.6.1 or over *1,
      or use the Win32 compiled version (simplebackup.exe /
      simplecrypt.exe).
      It might be needed to install some extra Perl modules if using the
      Perl version (simplebackup.pl), check the requirements for more
      details.
      Microsoft Windows 2003 	Yes 	Need to install Perl 5.6.1 or over
      *1, or use the Win32 compiled version (simplebackup.exe /
      simplecrypt.exe).
      It might be needed to install some extra Perl modules if using the
      Perl version (simplebackup.pl), check the requirements for more
      details.
      Microsoft Windows Vista 	Unknown 	Operating system was not tested.
      Redhat 8.0 Linux 	Yes 	It might be needed to install some extra
      Perl modules, check the requirements for more details.
      Redhat 9.0 Linux 	Yes 	It might be needed to install some extra
      Perl modules, check the requirements for more details.
      SuSe 8.1 Linux 	Yes 	It might be needed to install some extra Perl
      modules, check the requirements for more details.
      SuSe 9.1 Linux 	Yes 	It might be needed to install some extra Perl
      modules, check the requirements for more details.
      Openbsd 3.5 	Yes 	It might be needed to install some extra Perl
      modules, check the requirements for more details.
      Openbsd 3.6 	Yes 	It might be needed to install some extra Perl
      modules, check the requirements for more details.
      Openbsd 3.8 	Yes 	It might be needed to install some extra Perl
      modules, check the requirements for more details.
      FreeBsd 4.1.0 	Unknown 	Operating system was not tested. It
      requires a perl version upgrade since the one build in is far to old.
      FreeBsd 5.2.1 	Yes 	It might be needed to install some extra Perl
      modules, check the requirements for more details.
      The Perl libnet module is definitely required to use ftp/email
      backups and email reporting.
      Mac OS/X 	Unknown 	Operating system was not tested, but success
      runs have been reported by some users.
      HP-UX 	Unknown 	Operating system was not tested, but the tar
      command is very limited so tar or tar like backups will not work
      with simplebackup.
      Solaris 10 	Yes 	It might be needed to install some extra Perl
      modules, check the requirements for more details.
      Aix 	Unknown 	Operating system was not tested.
      Other Unix's 	Unknown 	Since simplebackup is a Perl program it
      should work on almost all Unix like systems.


    * *1 The use of Perl 5.8.x is recommended.


*[ 10. Requirements ],*

    * At least one of the following programs on your operating system
      $PATH variable :
      *Requirement* 	*Notes*
      Perl 5.6.1 or over *1 	If running simplebackup or simplecrypt with
      the Perl version [ simplebackup.pl ; simplecrypt.pl ].
      rar/winrar 3.6 or over 	For the creation of rar type of archive
      backups.
      7-Zip v4.42 or over 	For the creation of 7z type of archive backups.
      info-zip zip 2.3 or over 	For the creation of zip type of archive
      backups (A windows version of info-zip, zip v2.3.1 and unzip 5.53
      is included with the simplebackup package) *2.
      info-zip unzip 5.52 or over 	For the creation of zip type of
      archive backups (A windows version of info-zip, zip v2.3.1 and
      unzip 5.53 is included with the simplebackup package) *2.
      tar 	For the creation of tar type of archive backups, *3.
      tar and compress 	For the creation of tar.Z type of archive
      backups, *3.
      tar and gzip 	For the creation of tar.gz type of archive backups, *3.
      tar and bzip2 	For the creation of tar.bz2 type of archive
      backups, *3.
      Openssh sftp 	For secure ftp (sftp) backup when using the sftp
      transport (sftp_transport = sftp), this is usually used on Unix
      systems.
      Putty psftp 	For secure ftp (sftp) backup when using the sftp
      transport (sftp_transport = psftp), this is on Windows systems
      only *2.
      cat 	For passing the backup or restore list into the archive
      command *4.
      vi 	For editing configuration files and showing the log file *4.
      type 	For passing the backup or restore list into the archive
      command *5.
      notepad 	For editing configuration files and showing the log file *5.
      HTTP::DAV perl module 	Required if you intend to do http web-dav
      backups/restores *6 *7.
      Libnet perl module 	Required if you intend to do ftp or email
      backups/restores or if using email reporting *6 *7.
      Authen-SASL perl module 	Required if your smtp mail server needs
      authentication *6 *7.
      Expect perl module 	Required if you intend to do sftp (secure ftp)
      backups/restores using the openssh sftp program, this usually is
      only required on unix systems *6 *7.


    * *1 - The use of Perl 5.8.x is recommended, mainly because of all
      the Perl improvements and bug fixes and to fully support unicode
      (required by the rar and 7-Zip formats).
    * *2 - The Windows compiled version [ simplebackup.exe ] features
      build in zip archive support and sftp backup/support support, for
      more info check the faq "Q. What is build into [ simplebackup.exe
      ] ?" <#MF63>
    * *3 - Notice there are two differente ways to support tar under
      simplebackup, standard tar (tar ; tar.Z ; tar.gz ; tar.bz2), or
      "advanced" tar (advanced_tar ; advanced_tar.Z ; advanced_tar.gz ;
      advanced_tar.bz2), for more info check the faq "Q. What is the
      difference between standard tar and advanced tar ?" <#MF61>
    * *4 - This is a standard command for the Unix operating system.
    * *5 - This is a standard command for the Windows operating system.
    * *6 - Not required if you are using the windows compiled version [
      simplebackup.exe ], for more info check the faq "Q. What is build
      into [ simplebackup.exe ] ?" <#MF63>
    * *7 - This perl module might required the installation of other
      perl modules prior to his installation, also called software
      dependencies.


*[ 11. Links ],*

    * The simplebackup package includes most of the required software
      including most Perl modules but if you want to download newer
      versions of the software here is a list and links of software.
      *Software* 	*Link (URL)* 	*Notes*
      Perl 	http://www.perl.com <http://www.perl.com/> 	Source code
      version for compiling and installing in Unix systems.
      Perl 	http://www.activestate.com/Products/ActivePerl 	Compiled
      version to use in Microsoft Windows systems.
      Perl Cpan 	http://www.cpan.org 	This is the central area of Perl
      code, containing a large and updated collection of Perl modules
      and scripts. This site is mostly useless for Microsoft Windows
      users since it contains source code.
      Activestate Programmer Network 	http://aspn.activestate.com/ASPN
      This is the central area of Perl code and Perl compiled modules
      for ActiveState Perl. This site should be used by Microsoft
      Windows users to download and install Perl Modules.
      Rar and Winrar 	http://www.rarlab.com 	This is commercial
      software, you can download and try it but to use it you need to
      buy a license (it's not very expensive).
      7-zip 	http://www.7-zip.org 	This is open source software, unix
      versions exist but the main version is for Microsoft Windows only.
      Info-Zip 	http://www.info-zip.org 	This is open source software,
      required to support zip archives. Versions exist for Unix and
      Microsoft Windows systems.
      Tar 	http://www.gnu.org/software/tar/tar.html 	This is a link for
      the gnu tar version, generally this is not need in Unix systems
      and support in Microsoft Windows is bit problematic.
      Gzip 	http://www.gzip.org 	This is open source software. Versions
      exist for Unix and Microsoft Windows systems.
      Bzip2 	http://sources.redhat.com/bzip2 	This is open source
      software. Versions exist for Unix and Microsoft Windows systems.
      Perl Cpan 	http://www.cpan.org 	This is the central area of Perl
      code, containing a large and updated collection of Perl modules
      and scripts. This site is mostly useless for Microsoft Windows
      users since it contains source code.
      Putty SSH Tools
      http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
      This is a group of free (not open source) ssh (secure
      comunications) programs and contains the psftp program that is
      used by simplebackup to allow sftp (secure ftp) backups and
      restores on Microsoft Windows systems.
      Openssh 	http://www.openssh.com 	This is a group of open source
      ssh (secure comunications) programs and contains the sftp program
      that is used by simplebackup to allow sftp (secure ftp) backups
      and restores. This is source code and generally speaking it should
      only be compiled and installed in Unix Systems. Please notice that
      most modern Unix systems feature Openssh so probably you don't
      need to install this.


*[ 12. Installing ],*

    * *[ 1. Under a Unix operating system ],*
         1.

            Uncompress the package,
            *Type: *gzip -d simplebackup-1.8.0_rc1.tar.gz
            *Type: *tar -xvf simplebackup-1.8.0_rc1.tar
            (or you can use any other text or graphical utility).
         2.

            Check were the Perl executable lives,
            * Type: *which perl
            or
            * Type: *locate perl
            Note: If you don't have Perl on your system check
            "Requirements <#M10>" and "Links <#M11>".
         3.

            Check if the declare path on the simplebackup.pl file
            matches the one found on your system
            *Type: *vi unix/simplebackup.pl
            Now check the first line, by default the line reads
            #!/usr/bin/perl -w
            If the path is different replace it with yours, example:
            #!/opt/perl/perl -w
         4.

            Check permissions, the adviced are:
            chown root:root unix/simplebackup.pl
            chmod 755 unix/simplebackup.pl
            (owner root, others can only read and execute, but please
            notice that simplebackup can work and be installed by any
            user).
         5.

            Copy the executable to any directory, it can live on the
            $PATH or not (it's your choice), example: [ cp
            unix/simplebackup.pl /usr/local/bin ].
         6.

            Optionally you can also install the simplecrypt program:
               1. Check were the Perl executable lives,
                  *Type: *which perl
                  or
                  *Type: *locate perl
                  Note: If you don't have Perl on your system check
                  "Requirements <#M10>" and "Links <#M11>".
               2.

                  Check if the declare path on the simplecrypt.pl file
                  matches the one found on your system
                  *Type: *vi unix/simplecrypt.pl
                  Now check the first line, by default the line reads
                  #!/usr/bin/perl -w
                  If the path is different replace it with yours,
                  example: #!/opt/perl/perl -w
               3.

                  Check permissions, the adviced are:
                  chown root:root unix/simplecrypt.pl
                  chmod 755 unix/simplecrypt.pl
                  (owner root, others can only read and execute, but
                  please notice that simplebackup can work and be
                  installed by any user).
               4.

                  Copy the executable to any directory, it can live on
                  the $PATH or not (it's your choice), example: [ cp
                  unix/simplecrypt.pl /usr/local/bin ].
         7.

            Check "Requirements <#M10>" and "Links <#M11>" to see what
            else you might need.
         8.

            Now the program is installed you can create has many
            different backups has you want using simplebackup or
            encrypt/decrypt files using simplecrypt.

    * *[ 2. Under a Microsoft operating system ],*
         1.

            Uncompress the [ simplebackup-1.8.0_rc1.zip ] file using
            Winrar, Winzip, etc.
                o

                  If you intend to use the Perl version [
                  simplebackup.pl ],
                     1. install Perl 5.8.x or over (if not already
                        installed), check "Requirements <#M10>" and
                        "Links <#M11>".
                     2. >Copy the [ windows\simplebackup.pl ] file into
                        a directory of your choice.
                o

                  If you intend to use the windows 32 bits compiled
                  version [ simplebackup.exe ] (under Windows this is
                  recommended),
                     1. in this case you don't need to install perl,
                        simply copy the [ windows\simplebackup.exe ]
                        file into any directory on your $PATH variable.
                        Notice : the file [ simplebackup.pl ] is only
                        needed if you want to check the program source code.
         2.

            Optionally you can also install the simplecrypt program :
                o

                  If you intend to use the Perl version [ simplecrypt.pl ],
                     1. install Perl 5.8.x or over (if not already
                        installed), check "Requirements <#M10>" and
                        "Links <#M11>".
                     2. >Copy the [ windows\simplecrypt.pl ] file into a
                        directory of your choice.
                o

                  If you intend to use the windows 32 bits compiled
                  version [ simplecrypt.exe ] (under Windows this is
                  recommended),
                     1. in this case you don't need to install perl,
                        simply copy the [ windows\simplecrypt.exe ] file
                        into any directory on your $PATH variable.
                        Notice : the file [ simplecrypt.pl ] is only
                        needed if you want to check the program source code.
         3.

            Check "Requirements <#M10>" and "Links <#M11>" to see what
            else you might need.
         4.

            Now the program is installed you can create has many
            different backups has you want using simplebackup or
            encrypt/decrypt files using simplecrypt.


*[ 13. Updating from previous simplebackup versions ]*

   1. Make a backup copy of previous version.
   2. Copy the program (file simplebackup.pl or simplebackup.exe) from
      the new version over the previous version (again file
      simplebackup.pl or simplebackup.exe).
   3. Starting with version 1.8.0, there was major upgrade on how the
      backup and restore information is stored, everything is now stored
      on the "support file". For already running backups you need to
      *move or erase all backup files created* from the backup
      destination (output_backup), newer backups will be restarted at
      session number *1*.

    * You can use the new options on old configuration files, just check
      them by creating a new configuration file [ --econf new_file.conf
      ] argument, and add the new options.
    * For new backups simply create a new configuration file, again with
      the [ --econf new_file.conf ] argument.


*[ 14. Backup format differences ]*

    * Please notice that this is the simplebackup author perceptions and
      opinions about the each of the backup formats, and has such they
      might be wrong or someone else might not agree.
      *Format* 	*Created by* 	*Compression rate* 	*Data corruption
      correction* 	*Size limits* 	*Speed* 	*Notes*
      tar 	tar 	None 	No 	Depends on his version and "flavor" 	Very
      Fast 	This format has the main advantage of being a "standard" on
      all Unix systems, but it does not compresses the backup data and
      it has no build in data corruption correction, you can possibly
      fix a tar archive but you will lose some data. Windows support for
      it is not usual.
      tar.Z 	tar and compress 	Poor 	No 	Depends on the version and
      "flavor" of both 	Very Fast 	The compress archiver is a very
      ancient piece of software, older than this developer, i'm shore
      that it had his prime time some day but from my testing (in HP-UX)
      it's fast but has a very limited compression algorithm and many
      others limitations. It's strongly recommended not USING it at all.
      Windows support for it is not usual.
      tar.gz 	tar and gzip 	Good 	No 	Depends on the versions of both
      and the "flavor" of tar 	Fast 	The gzip archiver is a good
      archiver the algorithm is effective. For me the main bad thing
      about is that it can only compress files, so usually we have to
      create a tar archive and then gzip it, there for creating the
      tar.gz archive. It has no build in data corruption correction, you
      can possibly fix a tar.gz archive but you will lose some data.
      Windows support for it is not usual.
      tar.bz2 	tar and bzip2 	Almost Excelent 	No 	Depends on the
      versions of both and the "flavor" of tar 	Fast 	The bzip2 archiver
      is a good archiver the algorithm is even more effective than gzip.
      For me the main bad thing about is that it can only compress
      files, so usually we have to create a tar archive and then bzip
      it, there for creating the tar.gz archive. It has no build in data
      corruption correction, you can possibly fix a tar.bz2 archive but
      you will lose some data. Windows support for it is not usual.
      7z 	7-Zip 7z.exe 	Excelent 	No 	16000000000GB 	Not very fast 	The
      7-ZIP archiver uses a very good algorithm, things get compressed a
      lot, the price you pay is time, loads of cpu time. For me the main
      bad thing about it is the lack of data corruption correction, if a
      7z archive is corrupted i have no idea if you can recover it
      without losing something. Unix support for it exists but is a bit
      "erratic" to say the least, the program is open source but the
      main author of it is more of a Windows person i think. The
      compression technology is probably the best in this list, the
      program is stable for most uses but there are still some parts
      where it does not appear "stable".
      zip 	info-zip zip.exe and unzip.exe 	Medium 	No 	2Gb on most
      systems 	Fast 	This format has the main advantage of being a web
      "standard" most systems and users can compress and uncompress zip
      archives, but it has limitations when dealing with large amounts
      of data and it has no error correction build in, you can possibly
      fix a zip archive but you will lose some data.
      rar 	rar or winrar 	Excelent 	Yes 	8589934591GB 	Not very fast
      This is my favourite compression archiver, it's close source but
      the program is very reliable, with load of features, cross
      platform, easy to use, has very large limits almost has high has
      7-ZIP, and the compression algorithm is very good, the error
      correction also enables it to recover from some error without
      losing data. Has a plus the main developer is a great person.


*[ 15. License ],*

    * This program is under the "GNU GENERAL PUBLIC LICENSE Version 2,
      June 1991", see the copying.txt file for details.


*[ 16. File list ],*

    * */simplebackup-1.8.0_rc1/*
      *File or Directory* 	*Description*
      unix_readme.txt 	The first simplebackup documentation (*in Unix
      format*) that points into the full documentation in the [
      documentation/ ] directory.
      windows_readme.txt 	The first simplebackup documentation (*in
      Microsoft format*) that points into the full documentation in the
      [ documentation\ ] directory.
      documentation/readme.html 	The full simplebackup documentation
      under standard html format.
      documentation/unix_readme.txt 	Full Simplebackup documentation
      (*in Unix format*).
      documentation/windows_readme.txt 	Full Simplebackup documentation
      (*in Microsoft format*).
      documentation/unix_copying.txt 	GNU License, by which simplebackup
      is licensed (*in Unix format*).
      documentation\windows_copying.txt 	GNU License, by which
      simplebackup is licensed (*in Microsoft format*).

    * *unix/*
      (Files and directories in unix ascii format)
      *File or Directory* 	*Description*
      simplebackup.pl 	The simplebackup program.
      simplecrypt.pl 	The simplecrypt encryption program, this can be
      used to encrypt/decrypt files using the SimpleCrypt algorithm.
      perl.modules/readme.txt 	Small help on how to install the perl
      modules.
      perl.modules/Authen-SASL-2.10/ 	SASL 2.0.8 mail module for perl,
      required in mail reporting if you are using a smtp mail server
      that required authentication for sending emails. *4.
      perl.modules/http-dav/ 	Contains all the perl modules and a c
      library required by simplebackup (and other perl programs) to
      support http web-dav backups and restores.
      perl.modules/http-dav/HTTP-DAV-0.31/ 	Contains the Perl HTTP DAV
      module that is required by the Perl to support http web dav
      backups. *4.
      perl.modules/http-dav/XML-DOM-1.44/ 	Contains the Perl XML-DOM
      module that is required by the HTTP Dav module *4..
      perl.modules/http-dav/expat-2.0.0/ 	Contains the C expat library
      for parsing XML (written by James Clark Perl) it's needed by
      XML-DOM module *4..
      perl.modules/http-dav/libwww-perl-5.805/ 	Contains the Perl Libwww
      module that are required by the HTTP DAV and XML-DOM modules *4..
      perl.modules/http-dav/Digest-MD5-2.36/ 	Contains the Perl
      Digest-MD5 module that is required by the Libwww module. *4..
      perl.modules/http-dav/HTML-Parser-3.55/ 	Contains the Perl
      HTML-Parser module that is required by the Libwww module. *4..
      perl.modules/http-dav/HTML-Tagset-3.10/ 	Contains the Perl
      HTML-Tagset module that is required by the HTML-Parser module. *4..
      perl.modules/http-dav/Compress-Zlib-2.001/ 	Contains the Perl
      Compress-Zlib module that is required by the Libwww module. *4..
      perl.modules/http-dav/Compress-Raw-Zlib-2.001/ 	Contains the Perl
      Compress-Raw-Zlib module that is required by the Compress-Zlib
      module. *4..
      perl.modules/http-dav/IO-Compress-Zlib-2.001/ 	Contains the Perl
      IO-Compress-Zlib module that is required by the Compress-Zlib
      module. *4..
      perl.modules/http-dav/IO-Compress-Base-2.001/ 	Contains the Perl
      IO-Compress-Base module that is required by the IO-Compress-Zlib
      module. *4..
      perl.modules/http-dav/MIME-Base64-3.07/ 	Contains the Perl
      MIME-Base64 module that is required by the Libwww module. *4..
      perl.modules/http-dav/URI-1.35/ 	Contains the Perl URI module that
      is required by the Libwww module. *4..
      perl.modules/http-dav/Crypt-SSLeay-0.51/ 	Contains the Perl
      Crypt-SSLeay that is a optional requirement of the Libwww module.
      To install this you need to have the openssh and the openssh
      libraries installed. The Crypt-SSLeay provides https webdav
      support (encrypted http) to perl programs, future simplebackup
      versions might support this so you are suggested to install it. *4..
      perl.modules/http-dav/IO-Socket-SSL-1.01/ 	Contains the Perl
      IO-Socket-SSL that is a optional requirement of the Libwww module.
      The IO-Socket-SSL provides https webdav support (encrypted http)
      to perl programs, future simplebackup versions might support this
      so you are suggested to install it. *4..
      perl.modules/http-dav/Net_SSLeay.pm-1.30/ 	Contains the Perl
      Net_SSLeay that is a requirement of the IO-Socket-SSL module. To
      install this you need to have the OpenSSL and the OpenSSL
      libraries installed. The Net_SSLeay provides https webdav support
      (encrypted http) to perl programs, future simplebackup versions
      might support this so you are suggested to install it. *4..
      perl.modules/http-dav/libxml-perl-0.08/ 	Contains the Perl libxml
      module that is required by the XML-DOM module *4..
      perl.modules/http-dav/XML-Parser-2.34/ 	Contains the Perl
      XML-Parser module that is required by the XML-DOM module *4..
      perl.modules/http-dav/XML-RegExp-0.03/ 	Contains the Perl XML
      Regular Expressions module that is required by the XML-DOM module
      *4..
      perl.modules/Expect-1.20/ 	Contains the Perl Expect module that is
      required by simplebackup if you intend to do sftp backups (secure
      ftp) using the open ssh sftp program *4.
      perl.modules/IO-Tty-1.07/ 	Contains the Perl IO-Tpy module that is
      required by the Perl Expect module. *4.
      perl.modules/libnet-1.19/ 	LibNet module for Perl, required for
      ftp backup support, e-mail backups and mail reporting. Any
      standard Perl installation should already have this included but
      it's here just in case you require it *4.

    * *windows\*
      (Files and directories in ms-dos ascii format)
      *File or Directory* 	*Description*
      simplebackup.pl 	The simplebackup program.
      simplebackup.exe 	The simplebackup program in Windows 32 bits
      compiled version, this can be used to run simplebackup in x86
      Windows Machines without installing perl.
      simplecrypt.pl 	The simplecrypt encryption program, this can be
      used to encrypt/decrypt files using the SimpleCrypt algorithm.
      simplecrypt.exe 	The simplecrypt encryption program in Windows 32
      bits compiled version, this can be used to run simplecrypt in x86
      Windows Machines without installing perl.
      info-zip\readme.txt 	Small help about the info zip package and how
      to install it *1.
      info-zip\zip-2.32\ 	A copy of the Info-Zip zip program v2.3.2 for
      Windows, downloaded from http://www.info-zip.org/pub/infozip/ This
      is required by simplebackup if you want to create zip backups.
      Notice this is not my software and it's NOT under the GNU License,
      for license details about it see the LICENSE file inside of this
      directory *1 *3.
      info-zip\unzip-5.52\ 	A copy of the Info-Zip unzip program v5.5.2
      for Windows, downloaded from http://www.info-zip.org/pub/infozip/
      This is required by simplebackup if you want to restore from zip
      backups. Notice this is not my software and it's NOT under the GNU
      License, for license details about it see the LICENSE file inside
      of this directory *1 *3.
      putty-0.58\readme.txt 	Small help about the putty package and how
      to install it.
      putty-0.58\putty-0.58-installer.exe 	A copy of the putty install
      package v0.58 which includes several ssh programs such has
      putty.exe, pscp.exe, psftp *1, etc *3.
      7-zip-4.42\readme.txt 	Small help about the 7-zip package and how
      to install it .
      7-zip-4.42\7z442.exe 	A copy of the 7-zip v4.42 install program *3.
      perl.modules\perl-5.6.x\readme.txt 	A small help on how to install
      the activestate perl modules. This is relevant for activestate
      perl 5.6.x *1 *2.
      perl.modules\perl-5.6.x\install.cmd 	A Windows cmd script to
      install all simplebackup perl modules on activestate perl 5.6.x *1
      *2.
      perl.modules\perl-5.6.x\Authen-SASL-2.09\ 	SASL 2.0.9 mail module
      for activestateperl 5.6.x, required in mail reporting if you are
      using a smtp mail server that requires authentication for sending
      emails *1 *2 *3.
      perl.modules\perl-5.8.x\readme.txt 	A small help on how to install
      the activestate perl modules. This is relevant for activestate
      perl 5.6.x *1 *2.
      perl.modules\perl-5.8.x\install.cmd 	A Windows cmd script to
      install all simplebackup perl modules on activestate perl 5.8.x *1
      *2.
      perl.modules\perl-5.8.x\Authen-SASL-2.10\ 	SASL 2.1.0 mail module
      for activestateperl 5.8.x, required in mail reporting if you are
      using a smtp mail server that requires authentication for sending
      emails *1 *2 *3.
      perl.modules\perl-5.8.x\http_dav_0.3.1\ 	HTTP-DAV v0.3.1 perl
      module, required to do http webdav backups/restores *1 *2 *3.
      perl.modules\perl-5.8.x\libxml-perl-0.08\ 	libxml v0.08, perl
      module required by the HTTP-DAV Module *1 *2 *3.
      perl.modules\perl-5.8.x\XML-DOM-1.44\ 	xml-dom v1.44, perl module
      required by the HTTP-DAV Module *1 *2 *3.
      perl.modules\perl-5.8.x\XML-RegExp-0.03\ 	xml-regexp v1.44, perl
      module required by the HTTP-DAV Module *1 *2 *3.


    * *1 - This is not required to be installed if you are using the
      windows compiled version (simplebackup.exe).
    * *2 - The most recent version of this module can be downloaded and
      installed from activestate.
    * *3 - This this program/software is included to make installation
      easier. All have a "free use" license, no money is required, but
      is not done by me and you should read each software license for
      legal details. You should not assume them to be open source.
    * *4 - The most recent version of this module can be downloaded and
      installed from perl cpan.


*[ 17. Bugs and Bug Reporting ],*

    * This program was heavily tested in several different operating
      systems and it's being used by me daily, on a Microsoft Windows XP
      and on a Linux system so there are no bugs that i'm aware. If you
      think you found one please e-mail to [ migas.miguel@gmail.com
      <mailto:migas.miguel@gmail.com> ] or use the support forum [
      http://sourceforge.net/projects/migas-sbackup ]. Your help is
      greatly appreciated.
      The following things can help to better determine and fix the
      problem :
          o A detailed expanation on what happen and how it can be
            reproduced.
          o Sending the configuration and log files.
          o Sending the debug dump of the process by :
               1. Editing the configuration file and adding the
                  configuration key [ debug_level = full ].
               2. Running the backup or restore process and redirecting
                  the debug dump into a text file, example
                  simplebackup.pl --conf my_config_file.conf >
                  backup_debug.txt
               3. Now please compress the debug dump file and send it. 
          o Providing a patch fix is very appreciated since i'm a bit
            lazy :).


*[ 18. Revision History (Change log) ],*

    * To view this information edit the [ simplebackup.pl ] file using a
      text editor (notepad, vi, jedit, etc) and search for the "Revision
      History", or check the [ Program Site <#M3> ].


*[ 19. Future Plans (To do) ],*

    * Add a build in logic to allow backup file spanning, so that it is
      possible to span large backup files across different backup
      mediums, for example across two or more dvd's.
    * Add backup support to CD-R/CD-RW or DVD-R/DVD-RW.
    * Create a cross-platform graphical front-end possibly using Java.
    * Add a install/uninstall program.
    * Implement sftp support using perl modules.
    * Adding multi-language support, English and Portuguese for a start.


*[ 20. Simplebackup files technical documentation ],*

    * Simplebackup can use and generate several auxiliary files.

         1. *Configuration file*
            This is the configuration file for any backup session.
                o Always required.
                o This file can and should be edited to configure each
                  backup session.
                o Use one configuration file per backup session.
                o Defines the paths into all other files related to the
                  backup session.
                o Can be created by simplebackup, using the command [
                  simplebackup.pl --econf new_config_file.conf ].
                o Ascii format, the line termination depends on how the
                  file was created originally by the user.
                o Comments are supported, just include the # char in the
                  start of any line.
                o Contains several configuration parameters, some are
                  optional or have default values while others must
                  always be configured. The general format is similar to
                  the squid proxy configuration syntax.
                o Each configuration key is written in a single file
                  line and is defined by the combination : key_name =
                  key_value.
                o For a full list of all configuration keys simply
                  create a new configuration file.

         2. *Log file*
            The log file is where simplebackup keeps all the messages
            related to the backup activities.
                o Not always required.
                o This file shouldn't be edited.
                o It's defined in the configuration file in the key [
                  log_file ].
                o You can share a single log file for all your
                  simplebackup backups, but it's not recommended since
                  it tends to mix up all the backup messages.
                o It's created by simplebackup.
                o Can be safely erased.
                o Ascii format, the line termination depends on the host
                  operating system.
                o Comments are not supported.
                o It's defined in the configuration file key [ log_file ].
                o There are 3 level of messages, Informative, Warnings
                  and Errors :
                      + Informative just produce some kind of extra
                        information, example reporting the type of backup.
                      + Warnings show a tolerable error.
                      + Errors are serious messages that cause the
                        backup or restore to fail.
                o Notice for security reasons if any error is detected
                  on the configuration file, a error message is printed
                  into the terminal but nothing is written to the log file.

         3. *Support file*
            A central "database" file that keeps information about the
            backup data managed by simplebackup in relation to a
            configuration file. This file contains information about
            backup and restore activities and because it's so vital for
            simplebackup operations up to 3 copies of it per
            configuration file can exist.
                o Always required.
                o Can't share support files across different
                  configuration files.
                o This file should NEVER be edited, if corrupted backups
                  and restores can fail.
                o Using a system similar to oracle database control
                  files, up to 3 copies of this file can exist and be
                  managed by simplebackup, if one copy is corrupted
                  simplebackup will use another one.
                o If all support file copies are corrupted simplebackup
                  will be unable to backup or restore.
                o Comments are not supported.
                o Ascii format, the line termination depends on the host
                  operating system. It might change to unicode format in
                  the future.
                o It's defined in the configuration file keys [
                  backup_support_file_copy1 , backup_support_file_copy2,
                  backup_support_file_copy3 ].
                o The structure of the file is constituted several
                  parts. A start marker, one or more different data
                  lines and end marker, example (with microsoft paths) :
                     1. <-- start of support file -->
                     2. write_counter = 2
                     3. current_session = 2
                     4. current_session_date = friday 20-10-2006
                        <javascript:void(0)>
                     5. autosync_session = 0
                     6. autosync_session_date = never_restored
                     7. restore_count = 0
                     8. last_restore_date = never_restored
                     9. last_restore_username = never_restored
                    10. backup_working = local file system
                    11. backup_mode = differential
                    12. backup_host_os = winnt4/win2000/xp/2003
                    13. backup_real_host_os = MSWin32
                    14. backup_os_name = DGOI249
                    15. backup_username = miandsio
                    16. total_lines_number = 32
                    17. 0<crc805025609<v:\<9ias\HTTPS-WDOMUS.url<1073422104<198
                    18. 0<crc805025609<v:\<9ias\NT05\EMPTY_DIR<1072703411<dir
                    19. 0<crc805025609<v:\<9ias\NT05\TEMPORARY_DIR<1022705411<dir
                    20. 1<crc805025609<disk_v.1 full thursday 19-10-2006
                        <javascript:void(0)>
                        crc805025609.zip<1594675373<never_restored<0
                    21. 1<crc805025609<disk_v.2 full thursday 20-10-2006
                        <javascript:void(0)>
                        crc805025609.zip<1594000000<never_restored<0
                    22. 2<crc805025609<disk_v.1 full thursday 19-10-2006
                        <javascript:void(0)>
                        crc805025609.zip<v:\<9ias\HTTPS-WDOMUS.url<1073422104<198<never_restored<0
                    23. 2<crc805025609<disk_v.1 full thursday 19-10-2006
                        <javascript:void(0)>
                        crc805025609.zip<v:\<9ias\NT05\EMPTY_DIR<1072703411<dir<never_restored<0
                    24. 2<crc805025609<disk_v.1 full thursday 19-10-2006
                        <javascript:void(0)>
                        crc805025609.zip<v:\<9ias\NT05\TEMPORARY_DIR<1022705411<dir<never_restored<0
                    25. 2<crc805025609<disk_v.2 full thursday 19-10-2006
                        <javascript:void(0)>
                        crc805025609.zip<v:\<9ias\HTTPS-WDOMUS.url<1073422104<198<never_restored<0
                    26. 2<crc805025609<disk_v.2 full thursday 19-10-2006
                        <javascript:void(0)>
                        crc805025609.zip<v:\<9ias\NT05\EMPTY_DIR<1072703411<dir<never_restored<0
                    27. 3<1<v:\<9ias\HTTPS-WDOMUS.url<198
                    28. 3<1<v:\<9ias\NT05\EMPTY_DIR<dir
                    29. 3<1<v:\<9ias\NT05\TEMPORARY_DIR<dir
                    30. 3<2<v:\<9ias\HTTPS-WDOMUS.url<198
                    31. 3<2<v:\<9ias\NT05\EMPTY_DIR<dir
                    32. <-- end of support file -->

                o Line by Line explanation :
                     1. The marker that says that the support file start
                        here.
                     2. The write counter, reports the number of times
                        that this file has been written by simplebackup.
                        It's used to determine what is the most recent
                        support file in a given backup configuration
                        detecting synchronization problems. This is
                        similar to the Sync number user by oracle
                        control files.
                     3. The last backup session used by simplebackup,
                        this is a number that increases every time a
                        backup is done.
                     4. The weekday and date of the last backup session.
                     5. The last session used during the last autosync
                        restore. This is used during autosync restores
                        that enable simplebackup to act has a
                        syncronization tool, similar to rsync. For
                        example if working in autosync and if this reads
                        12 then only files and directories with backup
                        session number over 12 will be restored.
                     6. The weekday and date when the last autosync
                        restore occured.
                     7. The total number of restores done, in any mode:
                        manual, auto or autosync.
                     8. The weekday and date of the last restore
                        session, in any mode: manual, auto or autosync.
                     9. The operating system user name of the last
                        person that did a restore, in any mode: manual,
                        auto or autosync.
                    10. How was the backup operating during the last
                        backup execution, local directory, smtp, ftp,
                        sftp, tape, etc.
                    11. What was the backup mode configured (in
                        configuration file) during the last backup
                        executaion, full, incremental or differential
                    12. The operating system detected by simplebackup,
                        winnt4/win2000/xp/2003 or Unix.
                    13. The operating system detected by perl, MSWin32,
                        Linux, Solaris, OpenBsd, etc
                    14. The name of the machine that did the last backup.
                    15. The name of the user that did the last backup.
                    16. Total lines that the support file has, this is
                        used has a control.
                    17. This is a management file record it's used by
                        simplebackup during incremental and differential
                        backup to now what files and directories changed
                        and there for determining what needs to be
                        backup ed, by comparing the file modification
                        time and file size. There can be one or more
                        lines or this type, one per each file or
                        directory (empty directories only !!).
                        It's constituted by 6 columns separated by the <
                        char, for example [
                        0<crc805025609<v:\<9ias\HTTPS-WDOMUS.url<1073422104<198
                        ] :
                           1. [ *0* ] means that this line is a
                              management file record.
                           2. [ *crc805025609* ] is a crc32 number
                              generated from the path referred in the
                              configuration file (input_backup
                              configuration key), in this case [ v:\ ].
                           3. [ *v:\* ] is the root directory in
                              relation to what is being backup ed, it is
                              used by simplebackup has a marker for him
                              to know where to change directory, in this
                              case [ cd v:\ ]
                           4. [ *9ias\HTTPS-WDOMUS.url* ] is the
                              relative path into the file, link or
                              directory to be backup.
                           5. [ *1073422104* ] is a number that
                              represents the file/link modification
                              time. In case of a empty directory the
                              number is replaced by the string [ dir ].
                           6. [ *198* ] is a number that represents the
                              file/link size in bytes. In case of a
                              empty directory is replaced by the string
                              [ dir ].
                    18. Same has line 17.
                    19. Same has line 17.
                    20. This is the backup file record, it's used by
                        simplebackup to keep a record of the backup
                        files created by him.
                        It's constituted by 6 columns separated by the <
                        char, for example [ 1<crc805025609<disk_v.1 full
                        thursday 19-10-2006 <javascript:void(0)>
                        crc805025609.zip<1594675373<never_restored<0 ] :
                           1. [ *1* ] means that this line is a backup
                              file record.
                           2. [ *crc805025609* ] is a crc32 number
                              generated from the path referred in the
                              configuration file (input_backup
                              configuration key), in this case [ v:\ ].
                           3. [ *disk_v.1 full thursday 19-10-2006
                              <javascript:void(0)> crc805025609.zip* ]
                              is the name of the backup file.
                           4. [ *1594675373* ] is the size of the backup
                              file in bytes..
                           5. [ *never_restored* ] is the last restore
                              date in the format weekday day-month-year,
                              example [ monday 30-10-2006
                              <javascript:void(0)> ]. If the file was
                              never restored by simplebackup then it's
                              replaced by the string [ never_restored ].
                           6. [ *0* ] is the total number of times that
                              this file was restored.
                    21. Same has line 20.
                    22. This is the backup file details record, it's
                        used by simplebackup to know what files and
                        directories are inside of the backup files
                        created by him.
                        It's constituted by 9 columns separated by the <
                        char, for example [ 2<crc805025609<disk_v.1 full
                        thursday 19-10-2006 <javascript:void(0)>
                        crc805025609.zip<v:\<9ias\HTTPS-WDOMUS.url<1073422104<198<never_restored<0
                        ] :
                           1. [ *2* ] means that this line is a backup
                              file details record.
                           2. [ *crc805025609* ] is a crc32 number
                              generated from the path referred in the
                              configuration file (input_backup
                              configuration key), in this case [ v:\ ].
                           3. [ *disk_v.1 full thursday 19-10-2006
                              <javascript:void(0)> crc805025609.zip* ]
                              is the name of the backup file.
                           4. [ *v:\* ] is the root directory in
                              relation to what was backup ed, in this
                              case [ cd v:\ ]
                           5. [ *9ias\HTTPS-WDOMUS.url* ] is the
                              relative path into the file, link or
                              directory that was backup ed.
                           6. [ *1073422104* ] is a number that
                              represents the file/link modification
                              time. In case of a empty directory the
                              number is replaced by the string [ dir ].
                           7. [ *198* ] is a number that represents the
                              uncompress file/link size in bytes. In
                              case of a empty directory is replaced by
                              the string [ dir ].
                           8. [ *never_restored* ] is the last restore
                              date in the format weekday day-month-year,
                              example [ monday 30-10-2006
                              <javascript:void(0)> ]. If the file/link
                              or directory was never restored by
                              simplebackup then it's replaced by the
                              string [ never_restored ].
                           9. [ *0* ] is the total number of times that
                              this file/link or directory was restored.
                    23. Same has line 22.
                    24. Same has line 22.
                    25. Same has line 22.
                    26. Same has line 22.
                    27. This is the full list record, it's used by
                        simplebackup to keep a list of files/links and
                        directories (empty directories only !!), every
                        time simplebackup makes a backup it creates a
                        list of everything existing on his backup list
                        (input_backup), even if it's not backup ed.
                        It's constituted by 5 columns separated by the <
                        char, for example [
                        3<1<v:\<9ias\HTTPS-WDOMUS.url<198 ] :
                           1. [ *3* ] means that this line is a full
                              list record.
                           2. [ *1* ] is the backup session number used
                              by simplebackup when it created this
                              record entry.
                           3. [ *v:\* ] is the root directory in
                              relation to what was backup ed, in this
                              case [ cd v:\ ]
                           4. [ *9ias\HTTPS-WDOMUS.url* ] is the
                              relative path into the file, link or
                              directory that was backup ed.
                           5. [ *198* ] is a number that represents the
                              file/link size in bytes. In case of a
                              empty directory is replaced by the string
                              [ dir ].
                    28. Same has line 27.
                    29. Same has line 27.
                    30. Same has line 27.
                    31. Same has line 27.
                    32. The marker that says that the support file ends
                        here.

         4. *Backup list file*
            A text file that contains a list of files and directories to
            backup.
                o Not always required.
                o This file is not created by simplebackup to use it you
                  can created it using any standard text file editor.
                o Ascii format, the line termination depends on how the
                  file was created originally by the user.
                o The use of wild cards is not supported.
                o It's used by using the configuration file key [
                  input_backup ], for example [ input_backup =
                  file://@c:\my_backup_list.txt
                o Comments are supported, just include the # char in the
                  start of any line.
                     1. v:\9ias\HTTPS-WDOMUS.url
                     2. t:\
                     3. #v:\trash
                o Line by Line explanation :
                     1. In this line the file [ v:\9ias\HTTPS-WDOMUS.url
                        ] will be backup ed.
                     2. In this line the entire [ t:\ ] drive will be
                        backup ed.
                     3. This line is comment out it will be ignored by
                        simplebackup.

         5. *Restore list file*
            A text file that contains a list of files and directories to
            restore and optionally where to restore them.
                o Not always required.
                o This file is not created by simplebackup to use it you
                  can created it using any standard text file editor.
                o Ascii format, the line termination depends on how the
                  file was created originally by the user.
                o The use of wild cards is supported.
                o It's used during restores by using the [ --rlist_file
                  ] argument.
                o Comments are supported, just include the # char in the
                  start of any line.
                o If used, files and directories not listed on this file
                  are not restored, unless the user is working in manual
                  mode and changes the restore list on the restore menu.
                     1. v:\9ias\HTTPS-WDOMUS.url
                     2. *.txt < d:\tmp
                     3. v:\9ias\ora_dmp\*
                     4. c:\mp3\music\good*.mp3
                     5. #c:\mp3\music\good2*.mp3
                o Line by Line explanation :
                     1. In this line the file [ v:\9ias\HTTPS-WDOMUS.url
                        ] is restored into the original path.
                     2. In this line all text files are restored into [
                        d:\tmp ], the restore path will be created if it
                        does not exists.
                     3. In this line all files and directories existing
                        in [ v:\9ias\ora_dmp ] will be restored into
                        their original path.
                     4. In this line all mp3 files with the name
                        starting with [ good ] in the directory [
                        c:\mp3\music\ ] will be restored into their
                        original path.
                     5. This line is comment out it will be ignored by
                        simplebackup.


*[ 21. Faqs (Frequently Asked Questions) ],*

    * *Q. In a Unix system, why does the program works correctly if i
      run it on a shell, and under a cron or at job it fails ?*
    * A. Your [cron or at] environment $PATH variable is different from
      the one used on your shell, this causes the failure since
      simplebackup calls some external programs (rar, zip, tar, gzip,
      bzip, compress). In Unix(Linux at least) you can add the path
      variable to your crontab (check man 5 crontab), is is a sample of
      my crontab:
      ------------------------------------------------------------------------
      SHELL=/bin/sh
      PATH=/usr/bin:/usr/sbin:/sbin:/bin:/opt/utils:/usr/local/bin
      # Backup my Works
      # Run : Every Day at 05:00
      0 5 * * * /opt/utils/simplebackup.pl --conf /root/admin/my.works.conf
      ------------------------------------------------------------------------

    * *Q. In a Microsoft windows system, simplebackup doesn't work it's
      not even a executable file !*
    * A. Starting with simplebackup 1.6.0 a compiled version
      (simplebackup.exe) is being included with the simplebackup package.
      But notice there is more than a way to execute a program on a
      operating system, this is a interpreted program which means that
      it can be executed by a interpreter, in this case it's Perl. There
      is no point in compiling everything. By the way Windows is a very
      limited platform with almost no utilities build in, if you want to
      run simplebackup check the "Requirements <#M10>", "Links <#M11>"
      and "Installing <#M12>" sections.
      Some examples of lack of utilities in windows:
          o There is no way you can create zip file, in XP you can open
            them up but you can't create them with out installing
            something, Winrar, Winzip, etc.
          o Complete lack of any decent script languages, batch files
            are created using a very (VERY !!) poor language, Microsoft
            could have included on of the many free available: Perl,
            Python, etc.
          o No free compilers.
          o Almost no "command line" administration tools, that could
            help a lot in system administration and remote administration.

    * *Q. Right fine, but i really really really want simplebackup to be
      a standard windows executable file (.exe).*
    * A. Starting with simplebackup 1.6.0 a compiled version
      (simplebackup.exe) is being included with the simplebackup
      package, simply copy this file into any directory on your $PATH
      and use it.

    * *Q. What is the difference between the three backup modes: full,
      incremental and differential ?*
    * A.
          o

            [ In full mode ], simplebackup will always backup everything
            found. To do a full restore you only have to restore the
            most recent compress backup file, you gain simplicity in
            both backups and restores but comes at a price of more space
            used and generally more used time.
            *Backup scheme :*
            full_backup->full_backup->full_backup->full_backup
            Notice that simplebackup can also delete older full backups
            by using the configuration key [ keep_last_n_files = ? ].
          o

            [ In incremental mode ], simplebackup will only backup files
            that where modified in relation to the last backup, this is
            done by comparing each file modification time and size with
            a list that is keep on the support file. You gain the use of
            less space and generally less used time, but comes at a
            price of a more complicated restore method.
            *Backup scheme :*
            full_backup->update_list->delete_previous_backups->incremental->update_list->incremental->etc
            The full backup day is defined by the configuration key [
            full_backup_day = ? ].
          o

            [ In differential mode ], the backup is similar to the
            incremental mode, but here simplebackup will only backup
            files that where modified in relation to the last full
            backup, this again is done by comparing the each file
            modification time and size with a list that is keep on on
            the support file. This method is a mix of the full and
            incremental modes with advantages and disadvantages of both.
            *Backup scheme :
            *full_backup->update_list->delete_previous_backups->differential->differential->etc
            The full backup day is defined by the configuration key [
            full_backup_day = ? ].
          o

            Notice that all backup modes will consider the available
            restrictions (defined in the configuration file), like:
                + full path rejections [ backup_full_path_rejections = ? ].
                + extension rejections [ backup_extension_rejections = ? ].
                + file size limit [ backup_file_size_limit = ? ].
                + filename rejections [ backup_filenames_rejections = ? ].
          o

            Also notice that starting with simplebackup 1.8.0 the
            restore algorithm was hugely improved, and simplebackup
            takes care of all the backup file selections automatically.
            So for the end user the restore will be "easy" to use in any
            backup mode.

    * *Q. What is the best backup mode ?*
    * A. There is no definite answer, it all depends on your needs and
      the data that is going into the backup. You will have to know each
      backup mode (check the upper faq) and the actual data to backup.

    * *Q. Starting with simplebackup 1.3.0, backups appear slower why ?,
      it takes a long time during the "Building backup list" phase.*
    * A. The speed of simplebackup was hugely improved in simplebackup
      1.5.0, please upgrade to a newer version.

    * *Q. In some backups during "Building backup list" phase the memory
      usage seams to go up a lot why ?*
    * A. Simplebackup generates the entire backup list in memory, so if
      you have many files and directories to backup the memory usage
      will rise accordantly.

    * *Q. I have updated my simplebackup and the first time than i run a
      backup it reported that the management file was corrupted why ?*
    * A. Starting with simplebackup 1.8.0 this error no longer occurs
      because there is no management file, please update.

    * *Q. Simplebackup is reporting in a warning that there is no data
      do backup, but there are several files or directories available
      why isn't him doing a backup ?*
    * A. You are using a incremental or differential backups or you have
      turn on one or more advance restrictions
      (backup_extension_rejections ; backup_file_size_limit ;
      backup_filenames_rejections ; backup_full_path_rejections)
      simplebackup has follow all this rules and found nothing to
      backup. You have to edit the backup configuration file and check
      if the rules are correct.
      Examples:
          o You are using incremental backups, and there was a full
            backup on monday, in the meanwhile no files where changed so
            the next backup on tuesday come up with nothing to backup.
          o You have configured simplebackup to reject mp3 audio files
            (backup_extension_rejections) and you attempted to backup a
            directory that only contains mp3 files.
          o You have limit of 1 megabyte maximal file size on your
            backup (backup_file_size_limit) and all the files are 20
            megabytes each.

    * *Q. Simplebackup is doing a backup of a specific backup file even
      if i have one or more advance restrictions
      (backup_extension_rejections ; backup_file_size_limit ;
      backup_directory_rejections ; backup_filenames_rejections ;
      backup_full_path_rejections), why ?*
    * A. Because you pointed a specific file to backup, simplebackup
      will assume that you REALLY want that file to be backup so it will
      NOT use those rules.

    * *Q. Simplebackup is reporting that the backup files are out of
      sync with the backup list, what does this mean ?*
    * A. Has a precaution simplebackup will force a full backup during
      incremental/differential backup modes, if the total of full backup
      files available on the backup destiny (defined in configuration
      key output_backup) is different from the total groups required
      (defined in the configuration key input_backup) or if
      incremental/differential files are detected and the backup mode is
      working in the reverse backup mode, this situation could occurred
      if the you add a new directory or file into the backup list, if
      you accidentally erase a full backup file or if you started doing
      incremental backups but then switch into differential backups (or
      the other way around).

    * *Q. How can i force a full backup if i have the backups configured
      in incremental or differential mode ?*
    * A. You can edit the configuration file and change the backup mode
      or type use the --ffconf argument [ simplebackup.pl --ffconf
      config_file.conf ], to force a full backup just this time. The [
      --ffconf ] argument will make simplebackup erase the management
      data from the support file and force a single full backup.

    * *Q. Some times a backup fails during "Backup into temporary file"
      when in other backup directories or even in the same backup
      directory it works without problems why ?*
    * A. If you are using the same type of configuration on the
      configuration files check if you aren't having, permission
      problems or lack of free space on the temporary area indicated by
      the [ temporary_dir ] variable in the configuration file.

    * *Q. Backup always fails during "Backup into temporary file" phase.*
    * A. Make shore that all the required executables are in your $PATH
      variable, simplebackup makes use of some executables, which depend
      on the select operating system and on the type of backup. Here is
      the full list:
      In a Unix system:
    *
          o [ rar ] for rar type of archives, [ backup_format = rar ].
          o [ 7z ] for 7z (7-zip) type of archives, [ backup_format = 7z ].
          o [ zip ] for zip type of archives, zip is info-zip 2.3 or
            over, [ backup_format = zip) ].
          o [ tar ] for tar type of archives, [ backup_format = tar ].
          o [ tar and compress ] for tar.Z type of archives, [
            backup_format = tar.Z ].
          o [ tar and gzip ] for tar.gz type of archives, [
            backup_format = tar.gz ].
          o [ tar and bzip2 ] for tar.bz2 type of archives, [
            backup_format = tar.bz2 ].
    * In a Microsoft windows system:
          o [ rar ] for rar type of archives, [ backup_format = rar ].
          o [ 7z ] for 7z (7-zip) type of archives, [ backup_format = 7z ].
          o [ zip ] for zip type of archives, zip is info-zip 2.3 or
            over [ backup_format = zip ] *2.
          o [ tar ] for tar type of archives, [ backup_format = tar ] *1.
          o [ tar and compress ] for tar.Z type of archives [
            backup_format = tar.Z ] *1.
          o [ tar and gzip ] for tar.gz type of archives [ backup_format
            = tar.gz ] *1.
          o [ tar and bzip2 ] for tar.bz2 type of archives [
            backup_format = tar.bz2 ] *1.

    * *1 It's not very likely that a Windows system has this kind of
      Unix commands but if yours does, then simplebackup can use them.
    * *2 The Windows compiled version [ simplebackup.exe ] features
      build in zip support, so you will not need to install info-zip on
      your path.

    * *Q. Backup always fails during "Moving temporary backup file..."
      phase.*
    * A. Starting from version 1.1.0, simplebackup will (in most but not
      all backup modes) check if the file already exists on the destiny
      backup directory (or remote location), if the file exists
      simplebackup will NOT ! overwritten it and it will fail.

    * *Q. I'm using a tar type of backup (backup_format = tar ;
      backup_format = tar.Z ; backup_format = tar.gz ; backup_format =
      tar.bz2) and the empty directories (directories with no files or
      sub-directories) are not being backup, what is wrong ?*
    * A. Some tar commands have a limitation (i consider it a bug) and
      will refuse to do backups of empty directories if we passed it a
      list of files or directories to backup.
      To overcome this you can :
          o Attempt to use the advanced_tar, and see if your tar version
            supports it.
          o Use a different backup format, zip is fine, rar is excellent
            but proprietary and not supported on all the systems.

    * *Q. When simplebackup builds the backup list and if i'm using some
      kind of tar backup (backup_format = tar ; backup_format = tar.Z ;
      backup_format = tar.gz ; backup_format = tar.bz2) the backup
      always fails when creating the tar file why ?*
    * A. You are using a Tar that does not support the -I (openbsd,
      freebsd, etc) or -T parameter (gnu tar) or -L (Aix). The only
      example that i know of this limitation is the HP-UX tar that is
      unable to read a external backup/restore list from a file.
      You can:
          o Update your tar, check the [ Links <#M11> ] section.
          o Use a different backup format.

    * *Q. I used tar and (gzip/bzip2) compression method, backup_format
      = tar.gz ; backup_format = tar.bz2 and Winrar keeps telling that
      the file is corrupted, what's up ?*
    * A. Try to uncompress the file using unix tools (tar and gnu
      gzip/bzip2), you can easily do this in Linux or in Windows if you
      have the gnu tools (Cygwin Unix tools for example), if you
      uncompress the file without problems then it's a Winrar bug. From
      the tests that i made it has something to do with non US chars on
      names of files or directories inside of the compressed file, this
      causes Winrar to say that the file is corrupted, but it's not.
      This has been reported by me to the Rar/Winrar Developers, and i
      was reported that it will be fixed on the next version of Winrar.

    * *Q. Backups/Restores don't work and nothing is reported in the log
      file.*
    * A. The configuration file has some kind of problem, when this
      occurs simplebackup will print out a error message into the
      command line, since the log file is declared on the configuration
      file simplebackup doesn't have a file to log into, even if a file
      is declared for security reasons simplebackup will not trust the
      value. Solution is to edit the configuration file and fix the
      configuration values, you can run simplebackup in test mode until
      you have the configuration file fixed (--tconf test mode), in unix
      type: simplebackup.pl --tconf /path/file.conf in Windows type:
      perl -w simplebackup.pl --tconf \path\file.conf do this until
      simplebackup stops reporting errors and dumps the configuration of
      the file. After this you can try to do a real backup (--conf
      backup mode), in unix type: simplebackup.pl --conf /path/file.conf
      in Windows type: perl -w simplebackup.pl --conf \path\file.conf.
      Also notice in Unix (at least) you can redirect the prints from
      simplebackup into a text a text file using the unix redirects [ 1>
      /somefile.log ].

    * *Q. Backups using a ftp server fail to erase previous backup files.*
    * A. You must check the log backup file to see if anything is being
      reported, your ftp account might not have the permissions required
      for a correct operation by simplebackup. Simplebackup must be able to:
          o connect into the ftp server so check firewall, proxy, ftp
            port, etc,
          o login into the ftp server (using your account),
          o upload files into the remote backup directory (put),
          o delete files from the remote backup directory (delete).

    * *Q. Backups using a ftp server still fail, and i have all those
      things you say on the previous faq.*
    * A. The problem with "weird" ftp servers was fixed in simplebackup
      1.8.0 by using the support file technology, please update.

    * *Q. Can i debug the ftp connection to check for any errors ?*
    * A. Yes, activate the option the debug option by editing the
      configuration file key [ debug_level = full ].

    * *Q. Can i debug the mail connection to check for any errors ?*
    * A. Yes, activate the option the debug option by editing the
      configuration file key [ debug_level = full ].

    * *Q. Can i debug the actual compress/uncompress commands to see
      what is happening ?*
    * A. Yes, activate the option the debug option by editing the
      configuration file key [ debug_level = full ].

    * *Q. So what are the different debug levels ?*
    * A. By default simplebackup doesn't print out anything and keeps a
      extensive log of his operations, but in order to debug possible
      problems there are 3 debug levels.
         1. [ debug_level = none ] this is the default mode, nothing is
            printed,
         2. [ debug_level = half ] in this mode simplebackup will report
            what is the internal function() that it's running and print
            out all log messages generated,
         3. [ debug_level = full ] in this mode simplebackup will do the
            same has the half mode plus it will also do a full debug of
            any smtp(mail), ftp/sftp/webdav communications and any used
            compressed/uncompressed commands.

    * *Q. In the configuration file what is the default value ?*
    * A. Most configuration options have a default value, this value is
      what simplebackup will use if nothing is configured by the user,
      and can be checked by testing the configuration by using the
      --tconf option, example [ simplebackup.pl --tconf
      your_config_file.conf ]. Notice that not all configuration options
      support this.

    * *Q. In the configuration what is the auto value ?*
    * A. This configuration value will force simplebackup to auto detect
      a option, example auto detect the operating system. Notice that
      not all configuration options support this.

    * *Q. Can i use backup configuration files from the previous versions ?*
    * A. Yes ! Simplebackup is 100% compatible the previous
      configuration files, but please don't forget to read the Updating
      from previous simplebackup versions <#M13> section.

    * *Q. So what is exactly the local database history file ?*
    * A. The use of this type of file was dropped in simplebackup 1.8.0,
      everything is now centralized on the support file.

    * *Q. So what is the local database restore history file ?*
    * A. The use of this type of file was dropped in simplebackup 1.8.0,
      everything is now centralized on the support file.

    * *Q. I'm doing a backup into a tape device and simplebackup reports
      that "Erasing previous backup session file from the support file
      (only !!)...", Why ?*
    * A. Simplebackup is unable to know what is on the actual tape,
      there for it can't know if it's erasing something on the tape or
      not. So in order to prevent the support file from growing forever
      simplebackup will, ONLY, erase the file record from it.

    * *Q. How does simplebackup writes data into the tape device ?*
    * A. Simplebackup will create the backup compressed file on the
      temporary directory based on what was chosen on the configuration
      file, then renamed the temporary file into the final name and
      finally write the file into the tape using a tar command with full
      path's.
      Resuming the tape backup steps are:
         1. Build the backup list (if required),
         2. Compress the backup data based on the selected data example:
            [ create /tmp/_tmp_1.usr.zip ],
         3. Rename the backup file example: [ /tmp/_tmp_1.usr.zip ->
            /tmp/1.usr.zip ],
         4. Place the file on tape example: [ tar -cf /dev/ftape
            /tmp/1.usr.zip 2>/dev/null ]. Future versions of
            simplebackup might support other backup formats.
    * Please notice that the tape backup support is experimental, the
      simplebackup author has his tape device damaged so his unable to
      do any further testing. It's NOT advised to use this feature on
      important data.

    * *Q. Simplebackup is reporting "[ Error ], Net::FTP module wasn't
      found...", what does this mean ?*
    * A. By some strange reason your perl installation is lacking the
      libnet library or this one is corrupted, this library is standard
      and it should always be installed, it's required by simplebackup
      for ftp backups and email reporting.
          o Under Microsoft Windows you should reinstall activestate perl.
          o Under a Unix system you can install the library from your
            operating system package if it's included (this is the
            recommended method), compiled it from perl cpan or you can
            compile the library from the version included with the
            simplebackup package.

    * *Q. Simplebackup is reporting "[ Error ], Net::SMTP module wasn't
      found...", what does this mean ?*
    * A. By some strange reason your perl installation is lacking the
      libnet library or this one is corrupted, this library is standard
      and it should always be installed, it's required by simplebackup
      for ftp backups and email backups and email reporting.
          o Under Microsoft Windows you should reinstall activestate perl.
          o Under a Unix system you can install the library from your
            operating system package if it's included (this is the
            recommended method), compiled it from perl cpan or you can
            compile the library from the version included with the
            simplebackup package.

    * *Q. Why is there a unix version and a microsoft version of
      simplebackup ?*
    * A. The only difference is the way that the file was saved, one
      version is using a unix line termination (\n), and the other is
      using microsoft line termination (\r\n), a part from this both
      files (simplebackup.pl) are exactly the same. This was done to
      make it easy for users to see the perl code on their systems.

    * *Q. The backup e-mail report appears all weird on Microsoft
      Outlook XP.*
    * A. Microsoft Outlook XP automatically removes the line termination
      chars if the text line is to long, you can click on the message
      option to restore them or change for all messages in the Microsoft
      Outlook configuration. It might also occurred on Microsoft Outlook
      2003 or over, i have not test it. This is a stupid setting and i
      have no plans to even attempt to control this, since it could
      break other e-mail programs.

    * *Q. Are there any plans to support other e-mail server, such has
      Exchange, imap or others ?*
    * A. If i find portable way i might support imap mail servers or
      others, but i have no plans to support the closed Microsoft
      Exchange protocol used by Microsoft Exchange, Microsoft Outlook
      and some few others, simplebackup can work with a Exchange server
      if the standard smtp relay is enabled.

    * *Q. My smtp mail server is not running on the default port, how
      can make simplebackup use a port number different from 25 ?*
    * A. If you are using email for your backup resports edit your
      backup configuration file, and activate (by removing the # char)
      or add the option [ mail_port ]. For example if you mail server is
      running on port 2025 you type [ mail_port = 2025 ]. If you are
      using email for the actual backup (email backup) then you should
      edit the configuration file and write the mail port on the backup
      url, example: [ output_backup =
      smtp://mail_server:2025?mail_from_address=my_email@mail_server&mail_to_addresses=my_email@mail_server,boss_email@another_server1.com
      ].

    * *Q. My smtp mail server requires authentication, to send a e-mail
      i must send a valid username and password, how can i make
      simplebackup use this information ?*
    * A. Edit your backup configuration file, and activate (by removing
      the # char) or add the options [ mail_username ] and [
      mail_password ]. For example if the username is migas and the
      password is my_cute_password you would type [ mail_username =
      migas ] and [ mail_password = my_cute_password ]. This will make
      simplebackup use SASL authentication, so remember to that you must
      have Authen-SASL library installed.

    * *Q. I get a error reporting "Authen::SASL module wasn't found"
      what does this means ?*
    * A. This occurs because you attempting to use the email backup
      report with authentication (mail_username = some_user ;
      mail_password = some_pass), and your perl installation does not
      have the standard SASL authentication module installed. If your
      mail server not not require authentication to send emails simply
      comment out both configuration keys with the # char. If your mail
      server requires authentication you need to install the appropriate
      Authen::SASL package to your perl, you can use the copies supplied
      with simplebackup or get it from perl cpan (unix) and from
      activestate perl (windows).

    * *Q. Why must i use two e-mail accounts, one to send the e-mail and
      one to receive ?, all i want is to get my backup report in my
      e-mail account.*
    * A. Well you don't, for security and practical reasons simplebackup
      requires that you always declare from which e-mail account the
      e-mail comes, but nothing stops you from declaring the same e-mail
      account on both situations, you can send a e-mail to your self ;).
      There for you can use the same e-mail account on the [
      mail_from_address ] and in the [ mail_to_addresses ].

    * *Q. What can i do with the [ pass_log_to_external_cmd ] option ?*
    * A. Anything you want, this option makes simplebackup pass the
      backup log into a external command or commands using the standard
      input (stdin). It's similar to using pipes in Unix or Windows,
      think about this has something similar to : type log_file.log |
      your_command. In real life, you can use this to print the backup
      log, send it into a sql server, convert the ascii into xml, html,
      etc. It all depends on what the command or commands do.

    * *Q. Why does simplebackup sometimes reports "Warning : unable to
      open the directory..." or "Warning : unable to access the empty
      directory..." ?*
    * A. Simplebackup was building a backup list (during
      incremental/differential or other advanced backup modes) and
      couldn't access the listed directory, this directory will not be
      added into the backup and you can miss some data. This can occur
      because of lack of permissions, file lock (mainly under Windows),
      or file system corruption.

    * *Q. Why does simplebackup sometimes reports "Warning : unable to
      access the modification date/time of..."?*
    * A. Simplebackup was building a backup list (during
      incremental/differential or other advanced backup modes) and
      couldn't access the listed file modification date (the date when
      the file was last modified), the file will not be added into the
      backup and you can miss some data. This can occur because of lack
      of permissions, file lock (mainly under Windows), file system
      corruption or if the file modification date is bellow 00:00
      January 1, 1970 GMT (Unix Epoc).

    * *Q. Why does simplebackup sometimes reports "Warning : rejection
      file [ ? ] is corrupted and his orders are being ignored" ?*
    * A. Starting with simplebackup 1.8.0 the use of this type of files
      was dropped, so this message no longer occurs.

    * *Q. What are the [ simplebackup_rejection.txt ] files ?*
    * A. Starting with simplebackup 1.8.0 the use of this type of files
      was dropped and replaced by the configuration key [
      backup_full_path_rejections ].

    * *Q. What is the logic used in the simplebackup version numbers ?*
    * A. A 3 field number is used, separated by the . char, example
      1.3.0. The first number, in this case 1, marks the main program
      version and should only change if the program is fully re-written.
      The second part, in this case 3, marks the feature number, when
      ever new features are added or major changes are done this number
      will increment. The last part, in this case 0, refers to the bug
      fix part and it's only applied to stable versions, if one or more
      bugs are found and fixed on the stable version then this number is
      incremented.

    * *Q. Can i change the detail level of the log ?*
    * A. Sorry no, it's always at "full level", what you can do is
      select if the list of files and directories backup ed or restored
      will be included on the log file by using the configuration keys [
      backup_list_on_log ] and [ restore_list_on_log ].

    * *Q. Can simplebackup do restores ?*
    * A. Yes, starting with version 1.6.0 simplebackup can backup and
      restore. Several restore options and modes are available.

    * *Q. What are the simplebackup restore modes ?*
    * A. Simplebackup can restore in 3 different ways, the so call
      restore modes.
          o Under manual restore mode (--mode manual), simplebackup will
            read any available command line restore arguments, show up a
            text menu that will allow the user access to several restore
            options before starting the restore. Please notice by
            default the restores are done under manual mode.
          o Under auto restore mode (--mode auto), simplebackup will
            read any available command line restore arguments and start
            the restore.
          o Under autosync restore mode (--mode autosync), simplebackup
            will read any available command line restore arguments and
            start the restore, but it will ONLY restore backup files
            that where never restored before, extra files and
            directories that existed on the restore destination but that
            did not existed on the backup source will be erased.

    * *Q. What can i do with the autosync restore mode ?*
    * A. This mode allows you to do a limited synchronization across
      different systems. For example, do a daily ftp backup of a web
      site from Server A (in Portugal) into Server B (in France) and
      daily restore the web site in Server B (in France). Under this
      restore mode only the backup files that where never restored
      before are restored, files and directories that where erased on
      Server A (in Portugal) will also be erased on Server B (in France).

    * *Q. Can the restore command line arguments be used during manual
      restores ?*
    * A. Yes, the command line arguments can be used under any restore mode.

    * *Q. How does simplebackup deal with unix links ?*
    * A. Starting with version 1.6.0 simplebackup will always save the
      unix link has a link and not has the file/directory where the link
      pointed, a note will also be written on the backup log for each
      link detected. This might be configurable in future versions.

    * *Q. How to restore from email/smtp backups ?*
    * A. Simplebackup is unable to read from email accounts, so it
      cannot restore files directly. You need to access the email
      account where the backup files where done, save the files into one
      directory, then create a configuration file similar the one that
      did the backup (or make a copy of it) and make the output_backup
      configuration key point into the directory where you saved the
      files, now you can use simplebackup to do restore using the
      "special" configuration file. As a alternative you can save and
      uncompress backup files directly using any standard archive tool
      (info-zip, gzip, Winzip, Winrar, etc) .

    * *Q. How to restore from tape backups ?*
    * A. My tape device is damaged, so i cannot test tape restores :(.
      You need to access and extract from the tape device using the tar
      command and save the files into one directory, then create a
      configuration file similar the one that did the backup (or make a
      copy of it) and make the output_backup configuration key point
      into the directory where you saved the files, now you can use
      simplebackup to do restore using the "special" configuration file.
      As a alternative, and if the files are not encrypted, you can
      extract and uncompress backup files directly from the tape device
      and use any standard archive tool (info-zip, gzip, Winzip, Winrar,
      etc). If the files are encrypted you can decrypt them using the
      simplecrypt tool.

    * *Q. What is this the encryption option, what does it do ?*
    * A. Starting with simplebackup 1.7.0 encryption of the backup data
      is possible, if you define a password in the configuration key
      encryption_passwd, simplebackup will create the backup files (has
      usual in a give format, zip, rar, tar, etc) and then encrypt each
      backup file using your password and (if any) your encryption
      options. The encryption is done using a new encryption algorithm
      named SimpleCrypt created by me, Miguel Angelo Martins Morais
      Leite migas.miguel@gmail.com. <mailto:migas.miguel@gmail.com>

    * *Q. This new encryption algorithm (SimpleCrypt) is it any good ?
      is it secure ? why didn't you use any of the other tried
      algorithms available ?*
    * A. The SimpleCrypt algorithm is design to be has secure and has
      portable has i know how, it should work on any operating system
      that supports perl, to make it secure it uses several tricks and
      allows several user options (not only the password) but only time
      will tell how secure it is. The encryption option was never intend
      to be the ultimate security feature, it aims at providing a simple
      and portable solution, if you need absolute security please look
      for other tools to replace or complement simplebackup. Already
      existing algorithms where consider and studied but in the end
      where rejected because :
         1. Simplebackup aims at being a simple backup tool, with low
            install requirements, using other algorithms usually imply
            that the user must install even more perl modules,
            complicating the installation a bit.
         2. The author wanted to create a cross-platform encryption
            algorithm for fun.
      Any way, this is not a radical position, if required this
      algorithm can be improved or even replaced in the future.

    * *Q. What are the SimpleCrypt algorithm features ?*
    * A. The main SimpleCrypt features are :
         1. Elaborated encryption logic.
         2. User can configure several encryption options (password,
            number of encryption cycles and what level is the data is
            encrypted, there for cracking attempts should be harder (so
            i hope...).
         3. Takes the configuration options from the user and
            information from each individual file to create the
            encryption key and the encryption method.
         4. Can be expanded in the future.
         5. Cross-Platform, should work on any system that supports perl.
         6. Files created on a operating system can be decrypted on a
            different operating system (example encrypt on Windows and
            decrypt on Openbsd).

    * *Q. How do i decrypt the backup files created by simplebackup ?*
    * A. You can use simplebackup to restore the data and he will
      automatically decrypt the data or you can use simplecrypt to
      decrypt each encrypted backup file. Either way you must use the
      correct encryption options (password, encrypting times and
      encrypting level).

    * *Encryption is slow when using the simplecrypt/simplebackup program*
    * A. The simplecrypt algorithm used by the simplecrypt and
      simplebackup programs was design to be has safe as possible, speed
      was a concern but came after security. There is no data size limit
      but it's advice to use the build in encryption in backups with
      small amounts of data, for large amounts of data you should use
      specialized security tool.

    * *Q. What is the difference between standard tar and advanced tar ?*
    * A. Simplebackup is a program that attempts to run under most
      operating systems so under this design the tar support was divided
      in two methods "standard" (backup_format = tar ; tar.Z ; tar.gz ;
      tar.bz2) and "advanced" (backup_format = advanced_tar ;
      advanced_tar.Z ; advanced_tar.gz ; advanced_tar.bz2). Under the
      "standard" method simplebackup uses the most compatible tar
      command options that should run on most operating systems, empty
      directories on the backup are not backup ed because some tar
      commands don't support this and the compression (if used) is done
      after the tar is created, imagine if you are creating a gzip tar
      archive using a command similar to "tar -cf some.tar -I
      backup_list.txt && gzip -9 some.tar" will be used, this will
      result in a temporary but much larger disk space usage on the
      temporary directory. Under the "advanced" method simplebackup will
      attempt to support more modern tar commands (such has openbsd tar,
      gnu tar, solaris tar, etc), this allows empty directories to be
      backup ed and the compression will be directly done by the tar
      command, imagine again if you are creating a gzip tar archive
      using a command similar to "tar -czf some.tar.gz -I
      backup_list.txt" will be used, this will result in a much smaller
      disk space usage of the temporary directory but might result in a
      slightly increase of space usage on the backup destination because
      the compression will be done using the build in tar compression level.

    * *Q. What is the file number or file size limit on simplebackup ?*
    * A. Simplebackup has no build in limitation, in theory it can do
      backups of any number of files and directories of any size. In the
      real world simplebackup depends on external factors and limits
      such has available memory (ram), operating system limits, file
      system limits and on the archiver (zip, rar, tar, etc) program
      limits. For example generally the zip support has a 2 Gb limit.
      It's suggested that you try a different backup format if you hit a
      limit.

    * *Q. What is build into [ simplebackup.exe ] ?*
    * A. The [ simplebackup.exe ] file is a Windows 32 bits executable,
      that can be run across several Microsoft Windows systems without
      the need to have Perl installed.
      It includes :
          o Compiled with active perl 5.8.8.
          o All required Perl modules (for http webdav, ftp, smtp, etc)
            are included.
          o Full zip support, info-zip [ zip.exe ] and [ unzip.exe ]
            files are compiled in and will be automaticly used when needed.
          o Full secure ftp support, putty [ psftp.exe ] file is
            compiled in and will be automatically used when needed.

    * *Q. What is the http webdav backup suppport and where can i backup
      into ?*
    * A. The webdav is a standard and open protocol that defines methods
      on how to interact with http servers enabling reading, witting,
      erasing and changing data on remote http servers, you can know
      about it in http://www.webdav.org, it has support from many
      software companies (including all the big ones) and from several
      open source projects. Simplebackup can use remote http servers to
      do his backups and restores opening a large array of possible
      backup destinations, for example backups can be made into any
      Apache Webdav enabled server, into Microsoft IIS server, Microsoft
      Exchange, Microsoft Sharepoint (directly into Microsoft
      Sqlserver), into the Zope (directly into the Zope Database), etc,
      basically the sky is the limit ;).

    * *Q. Can i use a public/private key during secure ftp backups
      instead of using the combination username/password ?*
    * A. Yes simplebackup can use either a combination of
      username/password or if available a combination of public key (on
      the remote ssh server) and private key (on the machine doing the
      backup), with the "very recommended" option of using a passphrase
      on the private key.

    * *Q. How do i create and use a ssh key on Microsoft Windows ?*
    * A. In Microsoft Windows simplebackup will usually use the putty
      psftp program, which in turn uses the puttygen program to create
      and maintain ssh keys. To create the public and private
      configuration key you need to know the ssh username, password and
      server name. Here are the full steps:

         1.


            Run the puttygen program.
         2.

            Click on the "Generate" button and move the mouse on the
            black area (has instructed) until the graphic reaches the end.
         3.

            You should end up with a screen similar to this.
         4.

            It's recommended that you enter your passphrase on the "Key
            passphrase" and "Confirm passphrase" *1.
         5.

            Click on the "Save private key" button and save the private
            key into a file, for example into [
            c:\sftp_backups\web\private_key_file.ppk ].
         6.

            Click on the "Save public key" button and save the public
            key into a file and store it into somewhere safe (a CD/DVD
            and into a vault :) would be great) but do not store it on
            the backup machine.
         7.

            Now use the public key on the remote ssh server, notice that
            this are instructions for Openssh that where adapted from
            the puttygen manual, if you are using another ssh server
            please check your server documentation on the public key
            section.

               1.


                  Connect to your SSH server using PuTTY with the SSH
                  protocol. When the connection succeeds you will be
                  prompted for your user name and password to login,
                  please type in the remote sftp user that will be used
                  during backups (output_backup). Once logged in, you
                  must configure the server to accept your public key
                  for authentication:
               2.

                  you should change into the .ssh directory and open the
                  file authorized_keys2 (for sftp/ssh2) with your
                  favourite editor. (You may have to create this file if
                  this is the first key you have put in it). Then switch
                  to the PuTTYgen window, select all of the text in the
                  "Public key for pasting into authorized_keys file"
                  box, and copy it to the clipboard (Ctrl+C). Then,
                  switch back to the putty window and insert the data
                  into the open file, making sure it ends up all on one
                  line. Save the file.
               3.

                  You may also need to ensure that your home directory,
                  your .ssh directory, and any other files involved
                  (such as authorized_keys, authorized_keys2 or
                  authorization) are not group-writable or
                  world-writable. You can typically do this by using a
                  command such as *type :>* [ chmod go-w $HOME
                  $HOME/.ssh $HOME/.ssh/authorized_keys ]
               4.

                  Now test the connection by attempting to connect into
                  the remote ssh server with putty using the private key
                  file.

         8.


            If all worked edit the simplebackup configuration file, look
            for the configuration key [ psftp_private_key_file ] and add
            the full path into the private key file here. Example [
            psftp_private_key_file =
            c:\sftp_backups\web\private_key_file.ppk ], and of course
            properly configure the [ output_backup ] configuration key
            with the correct url (server namer, username, passphrase *1
            if any, backup directory).

    * *1 A passphrase is a password that protects the opening of the
      private key, it can and should be something complete different
      from the ssh password. The use of a passphrase is recommended
      because if provides a extra security against private key tampering
      without any costs.

    * *Q. How do i create and use a ssh key on Openssh (usually Unix
      systems) ?*
    * A. Openssh will usually be only used in Unix systems. Here are the
      full steps:
         1. open a shell and login into the machine that will do the
            backups (not the machine that accepts the backups) with the
            user that will do the backups
         2. *type :* [ ssh-keygen -t rsa ] to create a rsa key *2.
         3. Press enter when asked where to safe the key.
         4. Write a the passphrase (recommended *1) or just type enter
            for no passphrase.
         5. Reenter the passphrase (recommended *1) if needed.
         6. This creates two files in .ssh directory of the backup user
            home directory
                o The private key [ id_rsa ]
                o The public key [ id_rsa.pub ]
         7. Login into the remote ssh server that will accept the backup
            files with the remote backup user (has defined in the
            backup_output configuration key), check if the file [
            .ssh/authorized_keys2 ] exists:
                o

                  If file does not exists. Copy the [ id_rsa.pub ] file
                  to the .ssh directory of the remote ssh user on the
                  remote host that will accept the backup files
                  (backup_output) and named it as [ authorized_keys2 ]
                  file. *type :* [ scp .ssh/id_rsa.pub
                  remote_sshuser@your_remote_ssh_server:~remote_sshuser/.ssh/authorized_keys2
                  ] *3 *4.
                o

                  If the file exists. Edit the [ id_rsa.pub ] file,
                  select and copy the private key and paste the public
                  key into a new line in the [ .ssh/authorized_keys2 ]
                  file on the remote ssh server. 

    * *1 A passphrase is a password that protects the opening of the
      private key, it can and should be something complete different
      from the ssh password. The use of a passphrase is recommended
      because if provides a extra security against private key tampering
      without any costs.
    * *2 Check the ssh-keygen manual (man ssh-keygen) for more advanced
      options, this are the basic steps to have a working pair of keys,
      but saffer options are possible.
    * *3 The [ your_remote_ssh_server ] should be replaced by the name
      of the remote ssh server.
    * *4 The [ remote_sshuser ] username should be replaced by the ssh
      username on the remote ssh server that will accept the backup files.

    * *Restores when using the zip format are slow, why ?*
    * A. For cross platform abilities simplebackup uses the info-zip
      (zip and unzip) programs, but the unzip program has big
      limitations when using a restore list. Simplebackup must call the
      unzip program for each file or directory on the restore list, so
      depending on the number of things to restore and the speed of the
      system the restore operation can get a bit slow.

    * *Q. Simplebackup is reporting "[ Error ], HTTP::DAV module wasn't
      found...", what does this mean ?*
    * A. You are using the simplebackup perl version [ simplebackup.pl ]
      and trying to do a http dav backup or restore. To do this
      simplebackup needs to have the HTTP::DAV perl module installed.
          o Under Microsoft Windows you need to have activestate 5.8.0
            or over installed and install all perl modules supplied with
            the simplebackup package in the directory [
            windows\perl.modules\perl-5.8.x ], then check the [
            readme.txt ] file in that directory for more details.
          o Under a Unix system you can install the library from your
            operating system package if it's included (this is the
            recommended method), compiled it from perl cpan or you can
            compile the library from the version included with the
            simplebackup package.

    * *Q. Simplebackup is reporting "[ Error ], Expect module wasn't
      found...", what does this mean ?*
    * A. You are using the simplebackup perl version [ simplebackup.pl ]
      and trying to do a sftp (secure ftp / ssh2) backup or restore and
      you are using the sftp openssh program, configuration key [
      sftp_transport ], usually this only occurs on unix systems. To do
      this simplebackup needs to have the Expect perl module installed.
          o Under Microsoft Windows you can't use this option, please
            use the putty psftp program by editing the configuration
            file and checking the [ sftp_transport ] key.
          o Under a Unix system you can install the library from your
            operating system package if it's included (this is the
            recommended method) or you can compile the library from the
            version included with the simplebackup package or download
            and compile from perl cpan site.

    * *Q. Is it permitted to change simplebackup in any way ?*
    * A. Yes ! Simplebackup is open source software, you are permitted
      to change it in any way you like, but remember that you must also
      share your work, for legal details check the [ copying.txt ] file.

    * *Q. Why use simplebackup ?*
    * A. Well it beats blue screens :), seriously for me it works great,
      and lift's me from the worries of doing backups of my works and
      documents, if you need a simple file backup solution that just
      works with no major buttons or complicated setup's, in a
      unattended mode then this is one possible solution.

    * *Q. Why use backups in the first place ?*
    * A. Daaaaa... living on the edge... jumping of roof's with out a
      parachute is fun and well up until to the point where your boss is
      screaming down your neck, or your neck is broken hehehe.


*[ 22. SimpleCrypt algorithm ],*

    * This section is not yet complete, in the mean while if you want to
      know how the simplecrypt algoritm works please edit the [
      simplecrypt.pl ] file and check the source code.


*[ 23. Thanks to ],*

    * Nick for reporting a bug and presenting a patch related to ftp
      support when using proftp servers. This type of servers fails to
      support the ftp size command if not working in binary mode.
    * Joseph Bacino for helping me test simplebackup.
    * Norman Uittenbogaart for his support and testing.
    * Eugene Roshal for his support and patience helping me fix a
      problem with the rar backups. Check out his rar archive program
      (http://www.rarlab.com) it's excellent, stable, can also create
      zip files, is supported by simplebackup and it's not very expensive.
    * Patrick, for reporting a problem with ftp support.
    * Jorge Gomes, for all is 100% support in my development and for
      being my friend.
    * Thomas Schwarz, for reporting a english bug and for being a nice
      guy to talk to.
    * Mikey, for reporting a bug that occurred under tape backups, the
      null device was being incorrectly added into the tape before
      backup and tape after backup procedures.
    * Uwe, for reporting a english bug :).
    * Davide Veneziano, for several test and tips, and for being a great
      guy to talk to.
    * Brandon Zehm , for his email file attachment code that was adapted
      from his send_attachment() function in the SendEmail program
      (http://caspian.dotconf.net/menu/Software/SendEmail) into
      simplebackup in the function create_email_attachment(), and for
      being a great guy to talk to. By the way, if you have the time,
      check his email anti-spam system in http://www.dotclean.com it
      seams a very interesting project.
    * John, for reporting a bug on the input_backup configuration key
      that would a backup failure if simplebackup was using
      multi-directories or multi-files and space chars.
    * Huge thanks to Dr. A.M. Genaev (Alexandr), for reporting a bug and
      presenting a patch to the backup list coming from a external file.
    * Wolfgang Fleischmann wfl@ebi.ac.uk, for his crc32 algorithm that
      was adapted from Swissknife library (crc32.pm module) into
      simplebackup in the function build_crc32().
    * Dave Edwards, for a excellent feature request, he requested that
      simplebackup add the hostname into the backup files, for several
      tests and for reporting a problem under simplebackup 1.5.0.
    * McLeod, for reporting a bug and presenting a patch in the mail
      authentication, this was a most excellent work ! thanks, and for
      presenting a true interest to improve the program.
    * Thomas, for a excellent feature request, he requested that
      simplebackup reported the size of the current backup session and
      of all backup sessions, both features where included in
      simplebackup 1.4.0.
    * lcdm, for reporting a bug in the zip format suppport that only
      occurs under unix operating systems.
    * Renato Leon, for several tests that help me fix a bug on the mail
      support, for pushing me to add tape support to simplebackup and
      for being a excellent guy to talk to.
    * Steve, for a excellent and patient testing.
    * Nelmar Alvarenga, for a good sugestion, for being a excellent
      tester and for being a great guy.
    * Alexandre Pereira, for several tests and suggestions, and for
      being my friend.
    * Goncalo Diniz Oliveira, for his help on general Unix support, and
      for being my friend.
    * Joo Santos, for his explanations on the old Windows 98, general
      Windows help, and for being my friend.
    * Nuno Muoz (Piri), for helping me test the ftp module, and for
      being my friend.
    * Carla Alexandra, the love of my life, for all her 100% support,
      friendship, love and affection :).
    * Finally to any person that has send me feedback positive or negative.


------------------------------------------------------------------------
* And thanks to you for downloading me :)
Stay happy, live long and prosper - Miguel Angelo (Migas)
*
------------------------------------------------------------------------
