A zc.buildout recipe to copy files from one location to another via rsync
Project description
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.
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for collective.recipe.rsync-2.0.0.zip
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5e3f0adb540104bfc01ace1eb987a506c10945b9228b4cbfafca4f78a4ff8ef |
|
MD5 | 1b0bbcbf9c2d6b8453ec3a1eb521004d |
|
BLAKE2b-256 | 6902d33c423d9cd5e159e1546b23be9015105f7040b6be21266d2acc4dc2a933 |