{ "info": { "author": "Aleksey Sivokon", "author_email": "aleksey.sivokon@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Database", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "mongooplog-alt\n==============\n\nAbout\n-----\n\n**mongooplog-alt** is the Python remake of `official mongooplog utility`_,\nshipped with MongoDB starting from version 2.2.0. It reads oplog of a remote\nserver, and applies operations to the local server. This can be used to keep\nindepended replica set loosly synced in a sort of one way replication, and may\nbe useful in various backup and migration scenarios.\n\n``mongooplog-alt`` implements basic functionality of the official utility and\nadds following features:\n\n* tailable oplog reader: runs forever polling new oplog event which is extremly\n useful for keeping two independent replica sets in almost real-time sync.\n\n* option to sync only selected databases/collections.\n\n* option to exclude one or more namespaces (i.e. dbs or collections) from\n being synced.\n\n* ability to \"rename\" dbs/collections on fly, i.e. destination namespaces can\n differ from the original ones.\n\n* works on mongodb 1.8.x, 2.0.x, and 2.2.x. Official utility only supports\n version 2.2.x and higher.\n\n* save last processed timestamp to file, resume from saved point later.\n\n* at the time of writing (2.2.0), official ``mongooplog`` suffers from bug that\n limits its usage with replica sets (https://jira.mongodb.org/browse/SERVER-6915)\n\n\n.. _official mongooplog utility: http://docs.mongodb.org/manual/reference/mongooplog/\n\n\nInstallation\n------------\n\nUsing pip (preferred)::\n\n pip install --upgrade mongooplog-alt\n\nUsing easy_install::\n\n easy_install -U mongooplog-alt\n\n\nCommand-line options\n--------------------\n\nOptions common to original ``mongooplog``::\n\n --from <:port>\n Hostname of the mongod server from which oplog operations are going to be\n pulled.\n\n --host <:port>, -h\n\n Hostname of the mongod server to which oplog operations are going to be\n applied. Default is \"localhost\"\n\n --port \n\n Port of the mongod server to which oplog operations are going to be\n applied, if not specified in ``--host``. Default is 27017.\n\n -s SECONDS, --seconds SECONDS\n\n seconds to go back. If not set, try read timestamp from --resume-file.\n If the file not found, assume --seconds=86400 (24 hours)\n\n\nOptions specific to ``mongooplog-alt``::\n\n --to\n An alias for ``--host``.\n\n --follow, -f\n\n Wait for new data in oplog. Makes the utility polling oplog forever (until\n interrupted). New data is going to be applied immideately with at most one\n second delay.\n\n --exclude, -x\n\n List of space separated namespaces which should be ignored. Can be in form\n of ``dname`` or ``dbname.collection``.\n\n --ns\n\n Process only these namespaces, ignoring all others. Space separated list of\n strings in form of ``dname`` or ``dbname.collection``.\n\n --rename [ns_old=ns_new [ns_old=ns_new ...]]\n\n Rename database(s) and/or collection(s). Operations on namespace ``ns_old``\n from the source server will be applied to namespace ``ns_new`` on the\n destination server.\n\n --resume-file FILENAME\n\n resume from timestamp read from this file and write last processed\n timestamp back to this file (default is mongooplog.ts).\n Pass empty string or 'none' to disable this feature.\n\n\nExample usages\n--------------\n\nConsider the following sample usage::\n\n mongooplog-alt --from prod.example.com:28000 --to dev.example.com:28500 -f --exclude logdb data.transactions --seconds 600\n\nThis command is going to take operations from the last 10 minutes from prod,\nand apply them to dev. Database ``logdb`` and collection ``transactions`` of\n``data`` database will be omitted. After operations for the last minutes will\nbe applied, command will wait for new changes to come, keep running until\nCtrl+C or other termination signal recieved.\n\n\nTesting\n-------\n\nTests for ``mongooplog-alt`` are written in javascript using test harness\nwhich is used for testing MongoDB iteself. You can run the whole suite with::\n\n mongo tests/suite.js\n\nNote, that you will need existing writable ``/data/db`` dir.\n\nTests produce alot of output. Succesfull execution ends with line like this::\n\n ReplSetTest stopSet *** Shut down repl set - test worked ****", "description_content_type": null, "docs_url": null, "download_url": "http://github.com/asivokon/mongooplog-alt/archive/0.4.2.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/asivokon/mongooplog-alt", "keywords": "mongodb,mongo,oplog,mongooplog", "license": "http://www.apache.org/licenses/LICENSE-2.0.html", "maintainer": null, "maintainer_email": null, "name": "mongooplog-alt", "package_url": "https://pypi.org/project/mongooplog-alt/", "platform": "any", "project_url": "https://pypi.org/project/mongooplog-alt/", "project_urls": { "Download": "http://github.com/asivokon/mongooplog-alt/archive/0.4.2.tar.gz", "Homepage": "https://github.com/asivokon/mongooplog-alt" }, "release_url": "https://pypi.org/project/mongooplog-alt/0.4.2/", "requires_dist": null, "requires_python": null, "summary": "Improved alternative to official mongooplog utility.", "version": "0.4.2" }, "last_serial": 998431, "releases": { "0.1.0-dev": [ { "comment_text": "", "digests": { "md5": "4d3df3b6e4a609cd9c4492f5f270cc11", "sha256": "fbd4fe0e7b26988de4298ba4fe8d9b1198662488177d65be5b2b7e9234f2e248" }, "downloads": -1, "filename": "mongooplog-alt-0.1.0-dev.linux-x86_64.exe", "has_sig": false, "md5_digest": "4d3df3b6e4a609cd9c4492f5f270cc11", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 66739, "upload_time": "2012-09-11T20:23:18", "url": "https://files.pythonhosted.org/packages/eb/b5/150df87ef92d1386328047c407b91f9951e43f24de45afb17fbde2e8dd92/mongooplog-alt-0.1.0-dev.linux-x86_64.exe" }, { "comment_text": "", "digests": { "md5": "245e5076a0094c28a2649b08384790ea", "sha256": "c10c55560dd51621de6319c032d4ff44e8a206ca440d619bd7ba88a608dde1b2" }, "downloads": -1, "filename": "mongooplog-alt-0.1.0-dev.tar.gz", "has_sig": false, "md5_digest": "245e5076a0094c28a2649b08384790ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2452, "upload_time": "2012-09-11T20:23:16", "url": "https://files.pythonhosted.org/packages/84/93/698aa5bf36d3e95f26b1494c367448088f05fefdea761537755ba2c0078d/mongooplog-alt-0.1.0-dev.tar.gz" } ], "0.1.1-dev": [ { "comment_text": "", "digests": { "md5": "d435c52707d3913ed204e2a539b56779", "sha256": "a2c62e716bc3254dc02309ceb6d3ad4474f7460912cd68df4d12176e44504d99" }, "downloads": -1, "filename": "mongooplog-alt-0.1.1-dev.linux-x86_64.exe", "has_sig": false, "md5_digest": "d435c52707d3913ed204e2a539b56779", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 66737, "upload_time": "2012-09-11T20:27:37", "url": "https://files.pythonhosted.org/packages/88/41/77aae69d8dac2049a9493876712431fe1a7d1b44b47e40d531efc1829dc6/mongooplog-alt-0.1.1-dev.linux-x86_64.exe" }, { "comment_text": "", "digests": { "md5": "a46cc15db3917ee7b3f90750202db0da", "sha256": "ab3134e98641aa9b51d757d7fe7e5b9e7de5b6c0df6482f8a766b503b6d92d7e" }, "downloads": -1, "filename": "mongooplog-alt-0.1.1-dev.tar.gz", "has_sig": false, "md5_digest": "a46cc15db3917ee7b3f90750202db0da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2473, "upload_time": "2012-09-11T20:27:33", "url": "https://files.pythonhosted.org/packages/0a/41/dc06f6d01ec8f844649c3f283ccd0f71c5787a184c409fba8edb0f73ee88/mongooplog-alt-0.1.1-dev.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "a427d080891ea69444d5e6c40e1ec9d1", "sha256": "df2c389cb02fc3b85122ab05893daaf1ea1e73e6988b1d53394c2be053a8f5fb" }, "downloads": -1, "filename": "mongooplog-alt-0.4.linux-x86_64.exe", "has_sig": false, "md5_digest": "a427d080891ea69444d5e6c40e1ec9d1", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 68811, "upload_time": "2013-01-19T17:22:49", "url": "https://files.pythonhosted.org/packages/44/fe/1f5e41c391624c488b411059302ea357f6caea6d1da97334c2420bbcf0e6/mongooplog-alt-0.4.linux-x86_64.exe" }, { "comment_text": "", "digests": { "md5": "4eed655ff042e8f2942cce559b6e69a7", "sha256": "b09e8cf456e0638d42a3bf11e4209e1c31d4c53b69d77198630f4e35e0e94343" }, "downloads": -1, "filename": "mongooplog-alt-0.4.tar.gz", "has_sig": false, "md5_digest": "4eed655ff042e8f2942cce559b6e69a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3104, "upload_time": "2013-01-19T17:22:47", "url": "https://files.pythonhosted.org/packages/f9/23/ac9bd72f17089c62f7b04147a196c07ecfa443ce3f6de9160bcc4044a425/mongooplog-alt-0.4.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "fa800dcd0a581e196ecee6d207810481", "sha256": "21f7b664cb9bb8ec102f3bf177584fe50c2be324b5c2d723f68912c82d2ce772" }, "downloads": -1, "filename": "mongooplog-alt-0.4.1.linux-x86_64.exe", "has_sig": false, "md5_digest": "fa800dcd0a581e196ecee6d207810481", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 68914, "upload_time": "2013-01-21T17:53:41", "url": "https://files.pythonhosted.org/packages/ba/5f/46cc812f3b335ef22122ddf16e95af6d574cf51c12e565408526eabf3508/mongooplog-alt-0.4.1.linux-x86_64.exe" }, { "comment_text": "", "digests": { "md5": "c44fc37b8a8b5660e37d9ed6e072ac57", "sha256": "f843caf827c374c20cc2a4e99629bffc1068ddcecffa9102ba21999b3978e02c" }, "downloads": -1, "filename": "mongooplog-alt-0.4.1.tar.gz", "has_sig": false, "md5_digest": "c44fc37b8a8b5660e37d9ed6e072ac57", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3126, "upload_time": "2013-01-21T17:53:38", "url": "https://files.pythonhosted.org/packages/3e/39/f2a5058e874cfeb8b3fec3c231f01455863329de0a5985c18aa9cf3d18a6/mongooplog-alt-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "cb0a8cfbdaea4bfed47fd6d79c4ef76d", "sha256": "0e0e62986dea7ba3246b19231fa223a6e3602761a767b197e32b77eb834b83e6" }, "downloads": -1, "filename": "mongooplog-alt-0.4.2.tar.gz", "has_sig": false, "md5_digest": "cb0a8cfbdaea4bfed47fd6d79c4ef76d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6008, "upload_time": "2014-02-12T18:33:17", "url": "https://files.pythonhosted.org/packages/b6/a8/f263cef63dec4222a8dbc258f628371e232d946a81230011faf267dfe079/mongooplog-alt-0.4.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cb0a8cfbdaea4bfed47fd6d79c4ef76d", "sha256": "0e0e62986dea7ba3246b19231fa223a6e3602761a767b197e32b77eb834b83e6" }, "downloads": -1, "filename": "mongooplog-alt-0.4.2.tar.gz", "has_sig": false, "md5_digest": "cb0a8cfbdaea4bfed47fd6d79c4ef76d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6008, "upload_time": "2014-02-12T18:33:17", "url": "https://files.pythonhosted.org/packages/b6/a8/f263cef63dec4222a8dbc258f628371e232d946a81230011faf267dfe079/mongooplog-alt-0.4.2.tar.gz" } ] }