Provided by: s3ql_5.2.3+dfsg-2_amd64 bug

NAME

       s3qlcp - Copy-on-write replication on S3QL file systems

SYNOPSIS

          s3qlcp [options] <source-dir> <dest-dir>

DESCRIPTION

       S3QL  is  a  file  system  for  online  data  storage.  Before  using S3QL, make sure to consult the full
       documentation (rather than just the man  pages  which  only  briefly  document  the  available  userspace
       commands).

       The  s3qlcp command duplicates the directory tree source-dir into dest-dir without physically copying the
       file contents.  Both source and destination must lie inside the same S3QL file system.

       The replication will not take any additional space for the file contents. Metadata  usage  will  increase
       proportional  to the amount of directory entries and inodes. Only if one of directories is modified later
       on, the modified data will take additional storage space.

       s3qlcp can only be called by the user that mounted the file system and (if the file  system  was  mounted
       with --allow-other or --allow-root) the root user.

       After  the  replication,  both source and target directory will still be completely ordinary directories.
       You can regard <src> as a snapshot of <target> or vice versa. However, the most common usage of s3qlcp is
       to regularly duplicate the same source directory, say documents, to different target directories.  For  a
       e.g.   monthly   replication,   the   target   directories   would  typically  be  named  something  like
       documents_January for the replication in January, documents_February for the replication in February etc.
       In this case it is clear that the target directories should  be  regarded  as  snapshots  of  the  source
       directory.

       Exactly the same effect could be achieved by an ordinary copy program like cp -a. However, this procedure
       would  be  orders  of magnitude slower, because cp would have to read every file completely (so that S3QL
       had to fetch all the data over the network from the backend) before writing  them  into  the  destination
       folder (at which point S3QL would de-duplicate the data).

   Snapshotting vs Hardlinking
       Snapshot support in S3QL is inspired by the hardlinking feature that is offered by programs like rsync or
       storeBackup.  These programs can create a hardlink instead of copying a file if an identical file already
       exists in the backup. However, using hardlinks has disadvantages:

       • backups  and restores always have to be made with a special program that takes care of the hardlinking.
         The backups must not be touched by any other programs (they may make changes that inadvertently  affect
         other hardlinked files)

       • special  care needs to be taken to handle files which are already hardlinked (the restore program needs
         to know that the hardlink was not introduced by the backup program)

       S3QL snapshots do not have these problems, and they can be used with any backup program.

OPTIONS

       The s3qlcp command accepts the following options:

          --log <target>
                 Destination for log messages. Specify none for standard output or syslog for the system logging
                 daemon. Anything else will be interpreted as a file name. Log files will be rotated  when  they
                 reach 1 MiB, and at most 5 old log files will be kept. Default: None

          --debug-modules <modules>
                 Activate  debugging  output  from  specified  modules (use commas to separate multiple modules,
                 'all' for everything). Debug messages will be written to the  target  specified  by  the  --log
                 option.

          --debug
                 Activate  debugging  output from all S3QL modules. Debug messages will be written to the target
                 specified by the --log option.

          --quiet
                 be really quiet

          --version
                 just print program version and exit

EXIT CODES

       s3qlcp may terminate with the following exit codes:

       0      Everything went well.

       1      An unexpected error occurred. This may indicate a bug in the program.

       2      Invalid command line argument or configuration file key.

SEE ALSO

       The S3QL homepage is at https://github.com/s3ql/s3ql/.

       The full S3QL documentation should also be installed somewhere  on  your  system,  common  locations  are
       /usr/share/doc/s3ql or /usr/local/doc/s3ql.

COPYRIGHT

       © 2008 Nikolaus Rath <Nikolaus@rath.org>

5.2.3                                             Nov 02, 2024                                         S3QLCP(1)