{ "info": { "author": "Seth Davis", "author_email": "seth@curiasolutions.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.5", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: System :: Archiving", "Topic :: System :: Archiving :: Backup", "Topic :: System :: Archiving :: Mirroring", "Topic :: Utilities" ], "description": "================================================================================\nboto rsync v0.8.1\n================================================================================\n\n| Copyright: (c) 2012 Seth Davis\n| http://github.com/seedifferently/boto_rsync\n\n\nSynopsis\n================================================================================\n\nboto-rsync is a rough adaptation of boto's s3put script which has been\nreengineered to more closely mimic rsync. Its goal is to provide a familiar\nrsync-like wrapper for boto's S3 and Google Storage interfaces.\n\nBy default, the script works recursively and differences between files are\nchecked by comparing file sizes (e.g. rsync's --recursive and --size-only\noptions). If the file exists on the destination but its size differs from\nthe source, then it will be overwritten (unless the -w option is used).\n\n\nInstallation\n================================================================================\n\nTo install, simply::\n\n pip install boto_rsync\n\n* You'll need to have `Python`_ 2.5+ and `pip`_ installed.\n* You might have to be root (or use sudo) for pip to install the script into a\n globally executable directory in your $PATH.\n* pip should automatically install boto for you, but the advanced user can find\n it here: http://github.com/boto/boto/\n\n.. _Python: http://www.python.org\n.. _pip: http://www.pip-installer.org\n\n\nUsage\n================================================================================\n\n::\n\n boto-rsync [OPTIONS] SOURCE DESTINATION\n\nSOURCE and DESTINATION can be:\n\n* A local path to a directory or specific file\n* A custom S3 or GS URL to a directory or specific key in the format of\n s3://bucketname/path/or/key\n* A S3 to S3 transfer using two S3 URLs\n* A GS to GS transfer using two GS URLs\n\n\nExamples\n================================================================================\n\n::\n\n boto-rsync [OPTIONS] /local/path/ s3://bucketname/remote/path/\n\nor::\n\n boto-rsync [OPTIONS] gs://bucketname/remote/path/or/key /local/path/\n\nor::\n\n boto-rsync [OPTIONS] s3://bucketname/ s3://another_bucket/\n\n\nOptions\n================================================================================\n\n::\n\n -a KEY, --access-key KEY\n Your Access Key ID. If not supplied, boto will look\n for an environment variable or a credentials file.\n -s SECRET, --secret-key SECRET\n Your Secret Key. If not supplied, boto will look for\n an environment variable or a credentials file.\n --anon Connect without credentials (S3 only). Useful if\n working with others' buckets that have a global\n read/write ACL.\n --endpoint HOST Specify a specific S3 endpoint to connect to via\n boto's \"host\" connection argument (S3 only).\n -g GRANT, --grant GRANT\n A canned ACL policy that will be granted on each file\n transferred to S3/GS. The value provided must be one\n of the \"canned\" ACL policies supported by S3/GS:\n private, public-read, public-read-write (S3 only), or\n authenticated-read\n -m METADATA [METADATA ...], --metadata METADATA [METADATA ...]\n One or more \"Name: value\" pairs specifying what\n metadata to set on each file transferred to S3/GS.\n Note: Be sure to end your args with \"--\" if this is\n the last argument specified so that SOURCE and\n DESTINATION can be read properly. e.g. boto-rsync -m\n \"Content-Type: audio/mpeg\" \"Content-Disposition:\n attachment\" -- ./path/ s3://bucket/\n -r, --reduced Enable reduced redundancy on files copied to S3.\n -e, --encrypt-keys Enable server-side encryption on files copied to S3\n (only applies when S3 is the destination).\n -p, --preserve-acl Copy the ACL from the source key to the destination\n key (only applies in S3/S3 and GS/GS transfer modes).\n -w, --no-overwrite No files will be overwritten, if the file/key exists\n on the destination it will be kept. Note that this is\n not a sync--even if the file has been updated on the\n source it will not be updated on the destination.\n --glob Interpret the tail end of SOURCE as a filename pattern\n and filter transfers accordingly. Note: If globbing a\n local path, make sure that your CLI's automatic\n filename expansion is disabled (typically accomplished\n by enclosing SOURCE in quotes, e.g. \"/path/*.zip\").\n --no-recurse Do not recurse into directories.\n --skip-dirkeys When syncing to S3 or GS, skip the creation of keys\n which represent \"directories\" (an empty key ending in\n \"/\" for S3 or \"_$folder$\" for GS).\n --ignore-empty Ignore empty (0-byte) keys/files/directories. This\n will skip the transferring of empty directories and\n keys/files whose size is 0. Warning: S3/GS often uses\n empty keys with special trailing characters to specify\n directories.\n --delete Delete extraneous files from destination dirs after\n the transfer has finished (e.g. rsync's --delete-\n after).\n -n, --dry-run No files will be transferred, but informational\n messages will be printed about what would have\n happened.\n -v, --verbose Print additional informational messages.\n -d LEVEL, --debug LEVEL\n Level 0 means no debug output (default), 1 means\n normal debug output from boto, and 2 means boto debug\n output plus request/response output from httplib.\n -h, --help show the help message and exit\n\n\nAdvanced Configuration Options\n--------------------------------------------------------------------------------\n\nboto supports the option to read access/secret keys from the environment or from\na credentials file. Set the AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY or\nGS_ACCESS_KEY_ID/GS_SECRET_ACCESS_KEY environment variables or use boto's\nadvanced configuration options to set up a credentials file.\n\nMore information on boto's advanced configuration options can be found here:\nhttp://boto.cloudhackers.com/en/latest/boto_config_tut.html\n\n\nKnown Issues and Limitations\n================================================================================\n\n* Differences between keys/files are assumed *only* by checking the size.\n* Due to the nature of how directories work in S3/GS, some non-standard folder\n structures might not transfer correctly. Empty directories may also be\n overlooked in some cases. When in doubt, use \"-n\" first.\n* Simple \"globbing\" (e.g. ``/path/*.zip``) is supported but may behave strangely\n on some systems. See the \"--glob\" option's help text for more info.\n* At this time, the script does not take advantage of boto's \"multipart\"\n transfer methods. (pull requests welcome!)\n\n\nDisclaimers and Warnings\n================================================================================\n\nThis is Alpha software--always remember to use the \"-n\" option first!\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHOR BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF\nCONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\nLatest Changes\n================================================================================\n\n\nv0.8.1 -- 02/15/2012\n--------------------------------------------------------------------------------\n\n* Fixed an issue where the contents of local directories didn't get copied into\n remote directories if the remote directory existed and was empty.\n\n\nv0.8 -- 02/05/2012\n--------------------------------------------------------------------------------\n\n* Added the `--anon` option.\n* Added the `-m/--metadata` option.\n* Switched from getopt to argparse for argument parsing.\n* Changed `boto` dependency to >=2.2.1 (required for the `--anon` option).", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/seedifferently/boto_rsync", "keywords": "boto amazon aws s3 gs google storage cloud sync rsync", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "boto_rsync", "package_url": "https://pypi.org/project/boto_rsync/", "platform": "Posix; MacOS X; Windows", "project_url": "https://pypi.org/project/boto_rsync/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/seedifferently/boto_rsync" }, "release_url": "https://pypi.org/project/boto_rsync/0.8.1/", "requires_dist": null, "requires_python": null, "summary": "An rsync-like wrapper for boto's S3 and Google Storage interfaces.", "version": "0.8.1" }, "last_serial": 786988, "releases": { "0.5": [ { "comment_text": "", "digests": { "md5": "fddebea0fc6698fe93ffb435f7c51f01", "sha256": "7433785ccdb0efe2044a2de4f3317b6fa775eb6b26b9e3d1457e37c168cb0c7b" }, "downloads": -1, "filename": "boto_rsync-0.5.tar.gz", "has_sig": false, "md5_digest": "fddebea0fc6698fe93ffb435f7c51f01", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11698, "upload_time": "2011-12-08T23:10:59", "url": "https://files.pythonhosted.org/packages/c5/6f/d2b52ad97c17936c2e864a616fd42c8ed7362c7bb7f0ccd7aeccbfd1d087/boto_rsync-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "e6f4fca94dd123f838286844d9c47b84", "sha256": "9e588d747e6e1c1279905e3065dcaa82a3366cc1837a354cdfaa26650b2a7dd8" }, "downloads": -1, "filename": "boto_rsync-0.5.1.tar.gz", "has_sig": false, "md5_digest": "e6f4fca94dd123f838286844d9c47b84", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8710, "upload_time": "2011-12-08T23:41:15", "url": "https://files.pythonhosted.org/packages/e0/5a/c70b51f5f1620f7aa2adaa9afa2ff150d30361e2d7ecbbbd3d744eff2c44/boto_rsync-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "44b0de2cc425c4956509a549664f6493", "sha256": "bc2b5cc85deeae296448b45e82e829564f0c72be585b6716fb77723568543f2c" }, "downloads": -1, "filename": "boto_rsync-0.5.2.tar.gz", "has_sig": false, "md5_digest": "44b0de2cc425c4956509a549664f6493", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11720, "upload_time": "2011-12-10T00:32:09", "url": "https://files.pythonhosted.org/packages/b3/b6/7b8b59a40819d2574492b8b9e7b33ae32a4463dfca584ede7a796ca3bbd7/boto_rsync-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "906f0baa89881ef81e58410fd3a9a454", "sha256": "159505497eeae3e0f587a3d700807dc522e09393be82d5583077a290559bd473" }, "downloads": -1, "filename": "boto_rsync-0.5.3.tar.gz", "has_sig": false, "md5_digest": "906f0baa89881ef81e58410fd3a9a454", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12229, "upload_time": "2011-12-10T12:00:08", "url": "https://files.pythonhosted.org/packages/15/8a/4b3f79bdcdc3a5972c772a2f65efbb41c62f00c0a6b49174e692059d6254/boto_rsync-0.5.3.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "f80d62929753bfca2b46d7b13af1918d", "sha256": "6407aa420fd23a643b189d0d211b94663f46bbf1a40b6f3bf3beb9c08bbc6db4" }, "downloads": -1, "filename": "boto_rsync-0.6.tar.gz", "has_sig": false, "md5_digest": "f80d62929753bfca2b46d7b13af1918d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12335, "upload_time": "2011-12-12T03:51:03", "url": "https://files.pythonhosted.org/packages/c0/9c/703c5fe0ffb7b695879afbef1d75bae4528a01b8196f220982b0c25ac4bf/boto_rsync-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "ca0e2114c980fecf2b8a45d373b5d117", "sha256": "cd62a66ff56f93e90da63f5cd300cd71a8b8598a392f9e06075dc977a176b4fb" }, "downloads": -1, "filename": "boto_rsync-0.7.tar.gz", "has_sig": false, "md5_digest": "ca0e2114c980fecf2b8a45d373b5d117", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13324, "upload_time": "2012-01-10T02:28:09", "url": "https://files.pythonhosted.org/packages/d4/b1/c658b40fc8620beebe81fb3c659d5640b472889a7f430b790bc4974fb1ed/boto_rsync-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "5d3dc1e8bb337c33627dee584e1d599c", "sha256": "74ceb8a5a700a036813895d8634dd09e17e1c34b39d91caf08a825c607495fe3" }, "downloads": -1, "filename": "boto_rsync-0.8.tar.gz", "has_sig": false, "md5_digest": "5d3dc1e8bb337c33627dee584e1d599c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13748, "upload_time": "2012-02-05T23:26:12", "url": "https://files.pythonhosted.org/packages/8f/15/7b43dcb967298643e6801505b47f0eede7b3bfb866a14fd4fba3681f4abc/boto_rsync-0.8.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "741fff2d894e7c74cdc7cb1f4a0abc2d", "sha256": "0b2ffea84f8044e1b78cef043c7b2bd1d13bbc14cb850dfc5f6372cdda170fc3" }, "downloads": -1, "filename": "boto_rsync-0.8.1.tar.gz", "has_sig": false, "md5_digest": "741fff2d894e7c74cdc7cb1f4a0abc2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13822, "upload_time": "2012-02-16T02:27:20", "url": "https://files.pythonhosted.org/packages/b9/d7/989c5beeddfd9ba60c4cefdcad444ce0102e2a82f79f5ece6449e95ecf33/boto_rsync-0.8.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "741fff2d894e7c74cdc7cb1f4a0abc2d", "sha256": "0b2ffea84f8044e1b78cef043c7b2bd1d13bbc14cb850dfc5f6372cdda170fc3" }, "downloads": -1, "filename": "boto_rsync-0.8.1.tar.gz", "has_sig": false, "md5_digest": "741fff2d894e7c74cdc7cb1f4a0abc2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13822, "upload_time": "2012-02-16T02:27:20", "url": "https://files.pythonhosted.org/packages/b9/d7/989c5beeddfd9ba60c4cefdcad444ce0102e2a82f79f5ece6449e95ecf33/boto_rsync-0.8.1.tar.gz" } ] }