mirror of https://github.com/ceph/ceph
144 lines
3.3 KiB
ReStructuredText
144 lines
3.3 KiB
ReStructuredText
========================================
|
|
obsync -- The object synchronizer tool
|
|
========================================
|
|
|
|
.. program:: obsync
|
|
|
|
Synopsis
|
|
========
|
|
|
|
| **obsync** [ *options* ] *source-url* *destination-url*
|
|
|
|
|
|
Description
|
|
===========
|
|
|
|
**obsync** is an object syncrhonizer tool designed to transfer objects
|
|
between different object storage systems. Similar to rsync, you
|
|
specify a source and a destination, and it will transfer objects
|
|
between them until the destination has all the objects in the
|
|
source. Obsync will never modify the source -- only the destination.
|
|
|
|
By default, obsync does not delete anything. However, by specifying
|
|
``--delete-after`` or ``--delete-before``, you can ask it to delete
|
|
objects from the destination that are not in the source.
|
|
|
|
|
|
Target types
|
|
============
|
|
|
|
Obsync supports S3 via ``libboto``. To use the s3 target, your URL
|
|
should look like this: ``s3://host-name/bucket-name``
|
|
|
|
Obsync supports storing files locally via the ``file://`` target. To
|
|
use the file target, your URL should look like this:
|
|
``file://directory-name``
|
|
|
|
Alternately, give no prefix, like this: ``./directory-name``
|
|
|
|
Obsync supports storing files in a RADOS Gateway backend via the
|
|
``librados`` Python bindings. To use the ``rgw` target, your URL
|
|
should look like this: ``rgw:ceph-configuration-path:rgw-bucket-name``
|
|
|
|
|
|
Options
|
|
=======
|
|
|
|
.. option:: -h, --help
|
|
|
|
Display a help message
|
|
|
|
.. option:: -n, --dry-run
|
|
|
|
Show what would be done, but do not modify the destination.
|
|
|
|
.. option:: -c, --create-dest
|
|
|
|
Create the destination if it does not exist.
|
|
|
|
.. option:: --delete-before
|
|
|
|
Before copying any files, delete objects in the destination that
|
|
are not in the source.
|
|
|
|
.. option:: -L, --follow-symlinks
|
|
|
|
Follow symlinks when dealing with ``file://`` targets.
|
|
|
|
.. option:: --no-preserve-acls
|
|
|
|
Don't preserve ACLs when copying objects.
|
|
|
|
.. option:: -v, --verbose
|
|
|
|
Be verbose.
|
|
|
|
.. option:: -V, --more-verbose
|
|
|
|
Be really, really verbose (developer mode)
|
|
|
|
.. option:: -x SRC=DST, --xuser SRC=DST
|
|
|
|
Set up a user translation. You can specify multiple user
|
|
translations with multiple ``--xuser`` arguments.
|
|
|
|
.. option:: --force
|
|
|
|
Overwrite all destination objects, even if they appear to be the
|
|
same as the source objects.
|
|
|
|
|
|
Environment variables
|
|
=====================
|
|
|
|
.. envvar:: SRC_AKEY
|
|
|
|
Access key for the source URL
|
|
|
|
.. envvar:: SRC_SKEY
|
|
|
|
Secret access key for the source URL
|
|
|
|
.. envvar:: DST_AKEY
|
|
|
|
Access key for the destination URL
|
|
|
|
.. envvar:: DST_SKEY
|
|
|
|
Secret access key for the destination URL
|
|
|
|
.. envvar:: AKEY
|
|
|
|
Access key for both source and dest
|
|
|
|
.. envvar:: SKEY
|
|
|
|
Secret access key for both source and dest
|
|
|
|
.. envvar:: DST_CONSISTENCY
|
|
|
|
Set to 'eventual' if the destination is eventually consistent. If the destination
|
|
is eventually consistent, we may have to retry certain operations multiple times.
|
|
|
|
|
|
Examples
|
|
========
|
|
|
|
::
|
|
|
|
AKEY=... SKEY=... obsync -c -d -v ./backup-directory s3://myhost1/mybucket1
|
|
|
|
Copy objects from backup-directory to mybucket1 on myhost1::
|
|
|
|
SRC_AKEY=... SRC_SKEY=... DST_AKEY=... DST_SKEY=... obsync -c -d -v s3://myhost1/mybucket1 s3://myhost1/mybucket2
|
|
|
|
Copy objects from mybucket1 to mybucket2
|
|
|
|
|
|
Availability
|
|
============
|
|
|
|
**obsync** is part of the Ceph distributed file system. Please refer
|
|
to the Ceph wiki at http://ceph.newdream.net/wiki for more
|
|
information.
|