{ "info": { "author": "GoTLiuM InSPiRiT", "author_email": "gotlium@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License (GPL)", "Natural Language :: English", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: System :: Systems Administration", "Topic :: Utilities" ], "description": "Django-Db-Snapshot\n==================\n\nWhat's that\n-----------\nReusable Django app for fully automatic database snapshots.\nWe are using it for backup big databases (100GB+).\nApp can be run on several instances and managing from one place.\n\n\nInstallation\n------------\n\n1. Install backup server with LVM support. Install and configure ``mylvmbackup`` config file\n\n.. code-block:: bash\n\n $ apt-get install mylvmbackup\n $ cp /etc/mylvmbackup.conf{,.bak}\n $ cat > /etc/mylvmbackup.conf << END\n [mysql]\n user=root\n password=123password123\n\n socket=/var/run/mysqld/mysqld.sock\n\n [lvm]\n vgname=vg0\n lvname=mysql\n lvsize=2G\n END\n\n2. Install ``dbsnapshot`` using pip:\n\n.. code-block:: bash\n\n $ pip install django-db-snapshot\n\n3. Add the ``dbsnapshot`` application to ``INSTALLED_APPS``\n4. Configure django-celery on project settings\n\n.. code-block:: bash\n\n $ apt-get install redis-server\n $ pip install django-celery\n\n.. code-block:: python\n\n INSTALLED_APPS += ('djcelery',)\n\n BROKER_URL = 'redis://127.0.0.1:6379/1'\n CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler'\n\n import djcelery\n djcelery.setup_loader()\n\n\n5. Sync database (``./manage.py syncdb`` or ``./manage.py migrate``)\n6. Run internal dbsnapshot server (``./manage.py run_dbsnapshot_server``)\n7. Restart Redis instance\n\n.. code-block:: bash\n\n $ /etc/init.d/redis-server restart\n\n8. Add backup server and configure backup options on django admin interface (``/admin/dbsnapshot/server/``)\n9. That's all. Enjoy.\n\n\nDemo\n----\n\n.. code-block:: bash\n\n $ apt-get install virtualenvwrapper redis-server\n $ mkvirtualenv django-db-snapshot\n $ git clone https://github.com/LPgenerator/django-db-snapshot\n $ cd django-db-snapshot\n $ python setup.py develop\n $ cd demo\n $ pip install -r requirements.txt\n $ python manage.py syncdb\n $ python manage.py migrate\n $ redis-server >& /dev/null &\n $ python manage.py runserver >& /dev/null &\n $ xdg-open http://127.0.0.1:8000/admin/\n\n\nBackup server configuration\n---------------------------\n\n.. code-block:: bash\n\n $ sudo -i\n $ cd /srv/\n $ apt-get install python-mysqldb python-django python-pip supervisor\n $ pip install django-db-snapshot\n $ django-admin startproject dbback\n $ cd dbback/\n $ cat >> dbback/settings.py << END\n DATABASES = {\n 'default': {\n 'ENGINE': 'django.db.backends.mysql',\n 'NAME': 'mysql',\n 'USER': 'root',\n 'PASSWORD': '',\n 'HOST': 'localhost',\n 'PORT': 3306,\n 'TEST_COLLATION': 'utf8_general_ci',\n }\n }\n INSTALLED_APPS += ('dbsnapshot',)\n DBS_SERVER_HOST = '0.0.0.0'\n DBS_SERVER_PORT = 61216\n END\n $ tail -12 dbback/settings.py\n $ iptables -A INPUT -p tcp --dport 61216 -j ACCEPT\n $ python manage.py run_dbsnapshot_server\n $ cat > /etc/supervisor/conf.d/dbsnapshot.conf << END\n [program:dbsnapshot_server]\n command=/usr/bin/python /srv/dbback/manage.py run_dbsnapshot_server\n user=root\n numprocs=1\n autostart=true\n autorestart=true\n stdout_logfile=/var/log/dbsnapshot.log\n stderr_logfile=/var/log/dbsnapshot.err.log\n startretries=25\n END\n $ /etc/init.d/supervisor restart\n $ supervisorctl status\n\n\nScreenshots\n-----------\n.. image:: /screenshots/server_change_list.jpg\n.. image:: /screenshots/logs_chage_list.jpg\n\n\nCompatibility:\n-------------\n* Python: 2.6, 2.7\n* Django: 1.4.x, 1.5.x, 1.6.x", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/LPgenerator/django-db-snapshot", "keywords": "", "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "django-db-snapshot", "package_url": "https://pypi.org/project/django-db-snapshot/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-db-snapshot/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/LPgenerator/django-db-snapshot" }, "release_url": "https://pypi.org/project/django-db-snapshot/1.0.b/", "requires_dist": null, "requires_python": null, "summary": "Reusable Django app for fully automatic database snapshots", "version": "1.0.b" }, "last_serial": 1146701, "releases": { "1.0.b": [ { "comment_text": "", "digests": { "md5": "d88a557e7fc3a7a3a6fa4cc49783e68b", "sha256": "3bb5f75bf9e8dae31fcde8afd7c71d261c48b1a81a996c45384e8d62570b7db3" }, "downloads": -1, "filename": "django_db_snapshot-1.0.b-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "d88a557e7fc3a7a3a6fa4cc49783e68b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18414, "upload_time": "2014-07-03T22:00:23", "url": "https://files.pythonhosted.org/packages/c7/c3/454c9f5a47467199a458ccdf070feefa24079024225bef6476e6c0de406e/django_db_snapshot-1.0.b-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e29529ebcc3d45f44e9a5e81c1d20d44", "sha256": "5b4c4d642c933657de73022916d1d22af4364fc310b28ba5b81923bf40b199bb" }, "downloads": -1, "filename": "django-db-snapshot-1.0.b.tar.gz", "has_sig": true, "md5_digest": "e29529ebcc3d45f44e9a5e81c1d20d44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20206, "upload_time": "2014-07-03T22:00:14", "url": "https://files.pythonhosted.org/packages/c8/0c/49b61f0f10c1710839570012a989a5dcdae4439c4ed94edfca59bc60ddcc/django-db-snapshot-1.0.b.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d88a557e7fc3a7a3a6fa4cc49783e68b", "sha256": "3bb5f75bf9e8dae31fcde8afd7c71d261c48b1a81a996c45384e8d62570b7db3" }, "downloads": -1, "filename": "django_db_snapshot-1.0.b-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "d88a557e7fc3a7a3a6fa4cc49783e68b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18414, "upload_time": "2014-07-03T22:00:23", "url": "https://files.pythonhosted.org/packages/c7/c3/454c9f5a47467199a458ccdf070feefa24079024225bef6476e6c0de406e/django_db_snapshot-1.0.b-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e29529ebcc3d45f44e9a5e81c1d20d44", "sha256": "5b4c4d642c933657de73022916d1d22af4364fc310b28ba5b81923bf40b199bb" }, "downloads": -1, "filename": "django-db-snapshot-1.0.b.tar.gz", "has_sig": true, "md5_digest": "e29529ebcc3d45f44e9a5e81c1d20d44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20206, "upload_time": "2014-07-03T22:00:14", "url": "https://files.pythonhosted.org/packages/c8/0c/49b61f0f10c1710839570012a989a5dcdae4439c4ed94edfca59bc60ddcc/django-db-snapshot-1.0.b.tar.gz" } ] }