{ "info": { "author": "Alex Clark", "author_email": "aclark@aclark.net", "bugtrack_url": null, "classifiers": [ "Framework :: Buildout", "Intended Audience :: Developers", "License :: OSI Approved :: Zope Public License", "Programming Language :: Python :: 2.7", "Topic :: Software Development :: Build Tools", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Introduction\n============\n\n``collective.recipe.rsync`` is a `zc.buildout`_ recipe that copies files between two locations via the ``rsync`` program.\n\n.. Note::\n\n ``collective.recipe.rsync`` assumes you have a UNIX-based operating system and the ``rsync`` binary is in your PATH when you run Buildout or the ``rsync`` script.\n\nInstallation\n------------\n\nAdd a new section to your ``buildout.cfg`` file to use the ``collective.recipe.rsync`` recipe, e.g.::\n\n [buildout]\n extends = https://raw.github.com/plock/pins/master/plone-4-3\n parts += backup\n\n [backup]\n recipe = collective.recipe.rsync\n source = ${buildout:directory}/var/filestorage/Data.fs\n target = /var/backup\n\nThis copies a Plone Data.fs file from the `source` to the `target`.\n\nCreate a script\n~~~~~~~~~~~~~~~\n\nNormally ``collective.recipe.rsync`` will run ``rsync`` during the recipe installation. Optionally you can create a script to execute ``rsync`` later by configuring the ``script = true`` option e.g.::\n\n [backup]\n recipe = collective.recipe.rsync\n source = ${buildout:directory}/var/filestorage/Data.fs\n target = /var/backup\n script = true\n\nThis is useful in cases where you want to automate an ``rsync`` script with cron e.g. via `z3c.recipe.usercrontab`_.\n\nConfigure options\n~~~~~~~~~~~~~~~~~\n\nThe default options are ``-av --partial --progress``. Use the ``options`` parameter to change them e.g.::\n\n [backup]\n recipe = collective.recipe.rsync\n source = ${buildout:directory}/var/filestorage/Data.fs\n target = /var/backup\n # Omit \"-v\" option\n options = -a --partial --progress\n\nExclude files\n~~~~~~~~~~~~~\n\nYou can exclude files with the ``exclude`` option e.g.::\n\n [backup]\n recipe = collective.recipe.rsync\n source = ${buildout:directory}/var/filestorage/Data.fs\n target = /var/backup\n exclude = Data.fs.index Data.fs.old\n\nSpecify alternate SSH port\n~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nOptionally you may specify an alternate SSH port for ``rsync`` to use e.g.::\n\n [backup]\n recipe = collective.recipe.rsync\n source = ${buildout:directory}/var/filestorage/Data.fs\n target = /var/backup\n port = 2222\n\n.. _`zc.buildout`: http://pypi.python.org/pypi/zc.buildout\n.. _`z3c.recipe.usercrontab`: http://pypi.python.org/pypi/z3c.recipe.usercrontab\n\nChangelog\n---------\n\n2.3.0 (2019-03-21)\n~~~~~~~~~~~~~~~~~~\n\n- Python 3 fix [petschki]\n\n2.2.2 (2014-02-23)\n~~~~~~~~~~~~~~~~~~\n\n- Bug fix: provide all parameters to script option unless None\n\n2.2.1 (2014-02-23)\n~~~~~~~~~~~~~~~~~~\n\n- Bug fix: provide all parameters to script option\n\n2.2.0 (2014-02-23)\n~~~~~~~~~~~~~~~~~~\n\n- Add ``exclude`` support\n\n- None have quote around when script option is use and port is not in use. Fixes #3\n [bsuttor]\n\n2.1.0 (2012-04-09)\n~~~~~~~~~~~~~~~~~~\n\n- Clean up package\n\n2.0.0 (2011-05-24)\n~~~~~~~~~~~~~~~~~~\n\n- Don't prefix scripts with \"rsync-\"\n\n1.9 (2011-04-12)\n~~~~~~~~~~~~~~~~\n\n- Call install on update\n- UI tweaks\n\n1.8 (2011-03-29)\n~~~~~~~~~~~~~~~~\n\n- Switched to using subprocess to call rsync (to show progress to stdout)\n [mattss]\n\n- Replace print statements with logger\n\n- Update docs\n\n1.7 (2011-01-21)\n~~~~~~~~~~~~~~~~\n\n- Doc fixes\n- Make script name based on section name\n\n - Support more than one script in the same buildout\n\n1.6 (2011-01-20)\n~~~~~~~~~~~~~~~~\n\n- Add ``script`` option\n\n - Generates bin/rsync script\n - Disables rsync during buildout execution\n - Facilitates creation of scheduled rsyncs via cron\n\n1.5 (2011-01-10)\n~~~~~~~~~~~~~~~~\n\n- Add a note about UNIX compat only\n\n1.4 (2011-01-10)\n~~~~~~~~~~~~~~~~\n\n- Support alternate ssh ``port`` parameter in recipe section. This allows ``collective.recipe.rsync`` to execute rsync with: -e 'ssh ', which facilitates copying over non-standard ssh ports.\n\n1.3 (2010-12-19)\n~~~~~~~~~~~~~~~~\n\n- Fix docs\n\n1.2 (2010-12-19)\n~~~~~~~~~~~~~~~~\n\n- Fix docs\n- Add new test harness\n- Clean up package\n\n1.1 (2010-11-05)\n~~~~~~~~~~~~~~~~\n\n- Modified output to include rsync command line being executed\n\n1.0 (2010-02-28)\n~~~~~~~~~~~~~~~~\n\n- Rename package from collective.recipe.rsync_datafs to collective.recipe.rsync\n\n0.1 (2009-08-26)\n~~~~~~~~~~~~~~~~\n\n- Created recipe with ZopeSkel", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://collective.github.com/collective.recipe.rsync", "keywords": "plone rsync", "license": "ZPL", "maintainer": "", "maintainer_email": "", "name": "collective.recipe.rsync", "package_url": "https://pypi.org/project/collective.recipe.rsync/", "platform": "", "project_url": "https://pypi.org/project/collective.recipe.rsync/", "project_urls": { "Homepage": "http://collective.github.com/collective.recipe.rsync" }, "release_url": "https://pypi.org/project/collective.recipe.rsync/2.3.0/", "requires_dist": null, "requires_python": "", "summary": "A zc.buildout recipe to copy files from one location to another via rsync", "version": "2.3.0" }, "last_serial": 4968047, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "727005fcfa4dc94f938d36926b06cd3d", "sha256": "65fca91c8d8b6c3af52b09b5fdf35e9b1b0de05dcd7b9b2868aa158f5a864880" }, "downloads": -1, "filename": "collective.recipe.rsync-1.0.zip", "has_sig": false, "md5_digest": "727005fcfa4dc94f938d36926b06cd3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10463, "upload_time": "2010-03-01T00:46:21", "url": "https://files.pythonhosted.org/packages/bc/fa/ed3cd2b0377dc08ed5702453ee2aa6c68726e9916d74aa0ba049795100a4/collective.recipe.rsync-1.0.zip" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "e4e0cb42d4ec45b47f47e142219e5eb8", "sha256": "8c5f8777e14a334ca3d17aee78f185c4aed5ae08eb6143393cd5fad9511c45ef" }, "downloads": -1, "filename": "collective.recipe.rsync-1.1.zip", "has_sig": false, "md5_digest": "e4e0cb42d4ec45b47f47e142219e5eb8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13230, "upload_time": "2010-11-06T00:46:01", "url": "https://files.pythonhosted.org/packages/8f/24/9ce39f954734a3e01ad18f8c7bda2950da3ce6d083fb51881563e6b3c507/collective.recipe.rsync-1.1.zip" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "a61f3b3817e1fdff0a467a269e5b382e", "sha256": "294aac2cc2655db183058aac1d77a172f6291bb85cf3ed604adbcec53e6a0510" }, "downloads": -1, "filename": "collective.recipe.rsync-1.2.zip", "has_sig": false, "md5_digest": "a61f3b3817e1fdff0a467a269e5b382e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12127, "upload_time": "2010-12-20T00:24:55", "url": "https://files.pythonhosted.org/packages/b3/eb/ae98c9fc0d302b526fafdd8dbab2fe676d2dfe245e20d97aa2ead8bc9276/collective.recipe.rsync-1.2.zip" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "1083f5c57c122cf4a6073347c65c7853", "sha256": "6a2053303585b96a9816be97dac5d235036b5cb0d0ed2d42c727a7992438655d" }, "downloads": -1, "filename": "collective.recipe.rsync-1.3.zip", "has_sig": false, "md5_digest": "1083f5c57c122cf4a6073347c65c7853", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12118, "upload_time": "2010-12-20T00:29:55", "url": "https://files.pythonhosted.org/packages/bd/b1/f476aea7e5f3737b2f355e06cad93237d937c6e0960ee10af6ed3afaeac5/collective.recipe.rsync-1.3.zip" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "dc4423bc11e1406c9a506b2f06adf5bc", "sha256": "b72e2ab5edbf31fdb44feb2c677f7b27445aa8b74ae014d3c34d92efb892c671" }, "downloads": -1, "filename": "collective.recipe.rsync-1.4.zip", "has_sig": false, "md5_digest": "dc4423bc11e1406c9a506b2f06adf5bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12817, "upload_time": "2011-01-10T13:50:32", "url": "https://files.pythonhosted.org/packages/0d/c5/d0c670c9ce932ec85e10aa10d80e5726cd0a8c2e156b33ac3ff5fe927987/collective.recipe.rsync-1.4.zip" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "b5ab7cc4727f9ccd934700fff0aa8e6f", "sha256": "da2092b30e19417cc1d86d4538abb0a1957eb4aa1fb90fc15417378117e4804e" }, "downloads": -1, "filename": "collective.recipe.rsync-1.5.zip", "has_sig": false, "md5_digest": "b5ab7cc4727f9ccd934700fff0aa8e6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12974, "upload_time": "2011-01-10T14:22:31", "url": "https://files.pythonhosted.org/packages/f5/b1/6fec2be20dffc2bbedf0c45f2bab4feb4d3a162ae58ea74a4fe895a6a3b1/collective.recipe.rsync-1.5.zip" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "52e93f7f5e71317f0bd18be272c42083", "sha256": "990f00cffaf20834182251bcfd721bf86534ddb7901bd8ffa1f6a79056a92bbb" }, "downloads": -1, "filename": "collective.recipe.rsync-1.6.zip", "has_sig": false, "md5_digest": "52e93f7f5e71317f0bd18be272c42083", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15044, "upload_time": "2011-01-21T03:08:18", "url": "https://files.pythonhosted.org/packages/0b/e4/0eb6c1cbc9a01b19ca0ffd3ac090cb99ea0648dd8eaa734e62e24aa2bbc4/collective.recipe.rsync-1.6.zip" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "82b0ef6df37b50298efe6b7e58496d41", "sha256": "e5dc74ad92cf00098ebe074f638022a20002b5a31f10d68344003fb64030eae6" }, "downloads": -1, "filename": "collective.recipe.rsync-1.7.zip", "has_sig": false, "md5_digest": "82b0ef6df37b50298efe6b7e58496d41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14928, "upload_time": "2011-01-22T00:13:52", "url": "https://files.pythonhosted.org/packages/67/55/33542b3926e9f235fe78d5aad682df1a849602969ca582b303df27051ebf/collective.recipe.rsync-1.7.zip" } ], "1.8": [ { "comment_text": "", "digests": { "md5": "489e18541faf51d2bd33a7e380b7a015", "sha256": "97704b945958dfad4a81b04a43232124d04a9f9fc7a53c3fdde2d66dde485309" }, "downloads": -1, "filename": "collective.recipe.rsync-1.8.zip", "has_sig": false, "md5_digest": "489e18541faf51d2bd33a7e380b7a015", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15523, "upload_time": "2011-03-29T17:01:47", "url": "https://files.pythonhosted.org/packages/06/fb/ef10b83a77c3cbbe9d2369f988c4fdbf1f5f58f3967dbb91b0aa1528fa4f/collective.recipe.rsync-1.8.zip" } ], "1.9": [ { "comment_text": "", "digests": { "md5": "05a0c1556e9787cc3362ad3be2bc105e", "sha256": "0c128983c20e5fc54c889ffbfb566a25eaea9a069f819afb40dad825ed992fea" }, "downloads": -1, "filename": "collective.recipe.rsync-1.9.zip", "has_sig": false, "md5_digest": "05a0c1556e9787cc3362ad3be2bc105e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15566, "upload_time": "2011-04-13T02:31:20", "url": "https://files.pythonhosted.org/packages/6f/7b/42209c5145fb8c3dcd995a67be4a99ad229b179d834a54f59ba87ecf4a2a/collective.recipe.rsync-1.9.zip" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "1b0bbcbf9c2d6b8453ec3a1eb521004d", "sha256": "c5e3f0adb540104bfc01ace1eb987a506c10945b9228b4cbfafca4f78a4ff8ef" }, "downloads": -1, "filename": "collective.recipe.rsync-2.0.0.zip", "has_sig": false, "md5_digest": "1b0bbcbf9c2d6b8453ec3a1eb521004d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15749, "upload_time": "2011-05-24T20:18:56", "url": "https://files.pythonhosted.org/packages/69/02/d33c423d9cd5e159e1546b23be9015105f7040b6be21266d2acc4dc2a933/collective.recipe.rsync-2.0.0.zip" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "24ed4be381de91e36966ad2ebb25c84a", "sha256": "7509de6ad73a574d108a248171ceed99c7466dc4672485f984cc6b7f931555a6" }, "downloads": -1, "filename": "collective.recipe.rsync-2.1.0.zip", "has_sig": false, "md5_digest": "24ed4be381de91e36966ad2ebb25c84a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19001, "upload_time": "2012-04-09T22:07:53", "url": "https://files.pythonhosted.org/packages/ac/21/2527085f44749a14c2ee13d0423583d7453e2ae0c9f4f897810e96bbe9f3/collective.recipe.rsync-2.1.0.zip" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "efc94558e8d5567687a9671741d18bd2", "sha256": "fd1342cffc34c377152b6382067bb83350da8f07a061a68d276c276984790931" }, "downloads": -1, "filename": "collective.recipe.rsync-2.2.0.zip", "has_sig": false, "md5_digest": "efc94558e8d5567687a9671741d18bd2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 602901, "upload_time": "2014-02-23T23:56:41", "url": "https://files.pythonhosted.org/packages/ba/79/8bdec01ac4803b0b861a72f583d3fff4fcabe36809c035d237ea6c34d915/collective.recipe.rsync-2.2.0.zip" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "62674a902a66b2b9746923409107373d", "sha256": "3193a9589e97a026e64cc7dc1ebc7833873ec545717e386f73f38c484aa10e2c" }, "downloads": -1, "filename": "collective.recipe.rsync-2.2.1.zip", "has_sig": false, "md5_digest": "62674a902a66b2b9746923409107373d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 601471, "upload_time": "2014-02-24T00:53:41", "url": "https://files.pythonhosted.org/packages/83/30/8989c825daf52b2b6679e55c0f74695d070463e08c168fe0e4e0597b01f8/collective.recipe.rsync-2.2.1.zip" } ], "2.2.2": [ { "comment_text": "", "digests": { "md5": "59f598f187ceff01f3814853d3cd673a", "sha256": "728c508e5a38cdabc753ea78278eab1ef06ba3ad2d97ead16f68c8b3a45c87ab" }, "downloads": -1, "filename": "collective.recipe.rsync-2.2.2.zip", "has_sig": false, "md5_digest": "59f598f187ceff01f3814853d3cd673a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 601614, "upload_time": "2014-02-24T01:06:05", "url": "https://files.pythonhosted.org/packages/22/d6/c6fae92a85f47a26db30ea99aa43e5ab9674113a6e1cc9c0730ce48d2bc6/collective.recipe.rsync-2.2.2.zip" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "693636391ede070da65894c13cbc3aee", "sha256": "f9d9a740fc486f0b9f3329c615b2677f12c4796fcf4b9da573ad5874e450cc91" }, "downloads": -1, "filename": "collective.recipe.rsync-2.3.0.tar.gz", "has_sig": false, "md5_digest": "693636391ede070da65894c13cbc3aee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4756, "upload_time": "2019-03-21T13:14:16", "url": "https://files.pythonhosted.org/packages/f4/97/ae6216ad1b93d9ce4f1014b17bf723956ba1a192ebb1400d9b2a54a09212/collective.recipe.rsync-2.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "693636391ede070da65894c13cbc3aee", "sha256": "f9d9a740fc486f0b9f3329c615b2677f12c4796fcf4b9da573ad5874e450cc91" }, "downloads": -1, "filename": "collective.recipe.rsync-2.3.0.tar.gz", "has_sig": false, "md5_digest": "693636391ede070da65894c13cbc3aee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4756, "upload_time": "2019-03-21T13:14:16", "url": "https://files.pythonhosted.org/packages/f4/97/ae6216ad1b93d9ce4f1014b17bf723956ba1a192ebb1400d9b2a54a09212/collective.recipe.rsync-2.3.0.tar.gz" } ] }