collective.recipe.rsync 2.0.0
A zc.buildout recipe to copy files from one location to another via rsync
Latest Version: 2.1.0
Contents
Introduction
collective.recipe.rsync is a zc.buildout recipe that copies files between two locations via the rsync program.
It was originally created to make it easy to copy a Data.fs file between two Plone application environments e.g. from production to development, but you can use it to copy anything; e.g. ZODB blob files, and so on.
Note
collective.recipe.rsync currently assumes you have a UNIX-based operating system and that the rsync binary is in your path when you execute buildout or the rsync script. Windows testers are welcome.
Installation
Add a section to your buildout.cfg file, e.g. data:
[buildout]
parts =
...
data
[data]
recipe = collective.recipe.rsync
source = myhost.com:/path/to/Data.fs
target = var/filestorage/Data.fs
This copies a Data.fs file from myhost.com to ./var/filestorage/Data.fs.
Specify alternate SSH port
Optionally, you may specify an alternate SSH port for rsync to use:
[data] recipe = collective.recipe.rsync source = myhost.com:/path/to/Data.fs target = var/filestorage/Data.fs port = 22001
This copies a Data.fs file from myhost.com to ./var/filestorage/Data.fs over port 22001.
Create a script
Normally, 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:
[data] recipe = collective.recipe.rsync source = myhost.com:/path/to/Data.fs target = var/filestorage/Data.fs script = true
This is useful in cases where you want to automate an rsync process with cron e.g. via http://pypi.python.org/pypi/z3c.recipe.usercrontab.
Example
Here is a real life example. This is one of the ways in which the author uses collective.recipe.rsync:
# Create scripts to deploy staging data to production. # Be VERY careful with this. You could easily overwrite your # live production data if you either forget to use the script # option, or accidentally run the bin/rsync-filestorage-to-production # script without stopping the production site first. [filestorage-to-production] recipe = collective.recipe.rsync source = var/filestorage/Data.fs target = ../aclark_net_website/var/filestorage/Data.fs script = true [blobstorage-to-production] recipe = collective.recipe.rsync source = var/blobstorage/ target = ../aclark_net_website/var/blobstorage/ script = true
As the warning suggests, you should be careful with this. The author uses this particular configuration to deploy a staging site to production.
Contact
Questions/comments/concerns? E-mail: aclark@aclark.net.
Changelog
2.0.0 (2011-05-24)
- Don't prefix scripts with "rsync-"
1.9 (2011-04-12)
- Call install on update
- UI tweaks
1.8 (2011-03-29)
- Switched to using subprocess to call rsync (to show progress to stdout) [mattss]
- Replace print statements with logger [aclark]
- Update docs
1.7 (2011-01-21)
- Doc fixes
- Make script name based on section name
- Support more than one script in the same buildout
1.6 (2011-01-20)
- Add script option
- Generates bin/rsync script
- Disables rsync during buildout execution
- Facilitates creation of scheduled rsyncs via cron
1.5 (2011-01-10)
- Doc fixes
- Add a note about UNIX compat only
1.4 (2011-01-10)
- Support alternate ssh port parameter in recipe section. This allows collective.recipe.rsync to execute rsync with: -e 'ssh <port>', which facilitates copying over non-standard ssh ports.
1.3 (2010-12-19)
- Fix docs
1.2 (2010-12-19)
- Fix docs
- Add new test harness
- Clean up package
1.1 (2010-11-05)
- Modified output to include rsync command line being executed
1.0 (2010-02-28)
- Rename package from collective.recipe.rsync_datafs to collective.recipe.rsync
0.1 (2009-08-26)
- Created recipe with ZopeSkel
| File | Type | Py Version | Uploaded on | Size | # downloads |
|---|---|---|---|---|---|
| collective.recipe.rsync-2.0.0.zip (md5) | Source | 2011-05-24 | 15KB | 534 | |
- Author: Alex Clark
- Home Page: http://svn.plone.org/svn/collective/buildout/collective.recipe.rsync/
- License: ZPL
- Categories
- Package Index Owner: aclark
- DOAP record: collective.recipe.rsync-2.0.0.xml
