Skip to content

Instantly share code, notes, and snippets.

@janoskk
Created May 28, 2014 22:27
Show Gist options
  • Save janoskk/339d76a40b63969ea568 to your computer and use it in GitHub Desktop.
Save janoskk/339d76a40b63969ea568 to your computer and use it in GitHub Desktop.
Create (if necessary) and replicate all databases from a couchdb server to another one
#!/bin/sh
#
# Janos Kasza (@janoskk)
#
# Creates (if necessary) and replicates all databases from a couchdb server to another one
#
if [ -z "$2" ]; then
cat <<EOF
Usage: $0 <sourceUrl> <targetUrl>
Creates (if necessary) and replicates all databases from a couchdb server to another one.
Note that the urls must not contain the trailing '/' and the targetUrl may need to contain
authentication for admin.
Example: $0 http://example.com:5984 http://admin:admin@localhost:5984
EOF
exit 1
fi
DBNAMES=`curl -s -X GET $1/_all_dbs | sed 's/\[//;s/\]//;s/"_[a-z]*"//g;s/[,\"]/ /g'`
for i in $DBNAMES; do
curl -s -X PUT $2/$i
curl -s -X POST $2/_replicate -d '{"source":"'$1/$i'", "target":"'$2/$i'"}' -H "Content-Type: application/json"
done
@touy
Copy link

touy commented Mar 15, 2021

it was working well, thank you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment