Welcome to File Syncer documentation!¶
File Syncer is a Python program which synchronized files from a local directory to one of the cloud object storage providers supported by Apache Libcloud.
Besides local <-> remote synchronization it also supports restoring files from the remote server to a local directory.
For more information and background, please see blog post titled Hosting APT repository on Rackspace CloudFiles.
Features¶
- Synchronize files from a local directory to one of the supported providers
- User can specify a list of filename patterns which are excluded
- User can specify to delete files in the container that do not exist locally
- Restore files from the remote server to a local directory
- All the operations (deletes, uploads and downloads) happen in parallel
Installation¶
Latest stable version can be installed from PyPi using pip:
If you want to install latest development version, you can install it from this Git repository:
pip install -e git+https://github.com/Kami/python-file-syncer.git@master#egg=file_syncer
Usage¶
file-syncer --help
Synchronizing files from a local directory to a remote server¶
file-syncer --username=<api username> --key=<api key or password> \
--provider=<libcloud provider constant - e.g. CLOUDFILES_US> \
--container-name=<target container name> \
--directory=<path to directory used to synchronize> \
--delete
Restoring files from the remote server to a local directory¶
file-syncer --username=<api username> --key=<api key or password> \
--restore \
--provider=<libcloud provider constant - e.g. CLOUDFILES_US> \
--container-name=<remote container name> \
--directory=<path to directory where the files will be restored to>
Specifying a region with a CloudFiles provider¶
file-syncer --username=<api username> --key=<api key or password> \
--provider=CLOUDFILES_US \
--region=ord \
--container-name=<target container name> \
--directory=<path to directory used to synchronize> \
--delete
Changelog¶
For changelog, please see the CHANGES file.
License¶
File syncer is distributed under the Apache 2.0 license.