{"id":26650645,"url":"https://github.com/django-dbbackup/django-dbbackup","last_synced_at":"2025-03-25T02:01:58.799Z","repository":{"id":25155133,"uuid":"28577756","full_name":"jazzband/django-dbbackup","owner":"jazzband","description":"Management commands to help backup and restore your project database and media files","archived":false,"fork":false,"pushed_at":"2025-03-03T21:35:47.000Z","size":655,"stargazers_count":1029,"open_issues_count":72,"forks_count":220,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-03-17T11:01:54.489Z","etag":null,"topics":["backup","django","hacktoberfest","mongodb","mysql","postgresql","sqlite"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jazzband.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"contributing.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.txt","dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":["https://jazzband.co/donate"]}},"created_at":"2014-12-29T02:39:34.000Z","updated_at":"2025-03-13T15:05:12.000Z","dependencies_parsed_at":"2023-12-11T18:43:44.767Z","dependency_job_id":"baf50f83-fc52-4955-a2f1-41f972350b8e","html_url":"https://github.com/jazzband/django-dbbackup","commit_stats":{"total_commits":369,"total_committers":79,"mean_commits":4.670886075949367,"dds":0.6368563685636857,"last_synced_commit":"cb6a9c2fb5946cf43073f209b7753221648ce0f7"},"previous_names":["django-dbbackup/django-dbbackup"],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jazzband%2Fdjango-dbbackup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jazzband%2Fdjango-dbbackup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jazzband%2Fdjango-dbbackup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jazzband%2Fdjango-dbbackup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jazzband","download_url":"https://codeload.github.com/jazzband/django-dbbackup/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245383037,"owners_count":20606265,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backup","django","hacktoberfest","mongodb","mysql","postgresql","sqlite"],"created_at":"2025-03-25T02:01:57.210Z","updated_at":"2025-03-25T02:01:58.784Z","avatar_url":"https://github.com/jazzband.png","language":"Python","funding_links":["https://jazzband.co/donate"],"categories":["Third-Party Packages","Python"],"sub_categories":["Commands"],"readme":"Django Database Backup\n======================\n\n.. image:: https://github.com/jazzband/django-dbbackup/actions/workflows/build.yml/badge.svg\n        :target: https://github.com/jazzband/django-dbbackup/actions\n\n.. image:: https://readthedocs.org/projects/django-dbbackup/badge/?version=stable\n        :target: https://django-dbbackup.readthedocs.io/\n        :alt: Documentation Status\n\n.. image:: https://codecov.io/gh/jazzband/django-dbbackup/branch/master/graph/badge.svg?token=zaYmStcsuX\n        :target: https://codecov.io/gh/jazzband/django-dbbackup\n\n.. image:: https://jazzband.co/static/img/badge.svg\n        :target: https://jazzband.co/\n        :alt: Jazzband\n\nThis Django application provides management commands to help backup and\nrestore your project database and media files with various storages such as\nAmazon S3, Dropbox, local file storage or any Django storage.\n\nIt is made to:\n\n- Allow you to secure your backup with GPG signature and encryption\n- Archive with compression\n- Deal easily with remote archiving\n- Keep your development database up to date\n- Use Crontab or Celery to setup automated backups\n\nDocs\n====\n\nSee our official documentation at `Read The Docs`_.\n\nWhy use DBBackup\n================\n\nThis software doesn't reinvent the wheel, in a few words it is a pipe between\nyour Django project and your backup storage. It tries to use the traditional dump \u0026\nrestore mechanisms, apply compression and/or encryption and use the storage system you desire.\n\nIt gives a simple interface to backup and restore your database or media\nfiles.\n\nManagement Commands\n===================\n\ndbbackup\n--------\n\nBackup your database to the specified storage. By default this will backup all\ndatabases specified in your settings.py file and will not delete any old\nbackups. You can optionally specify a server name to be included in the backup\nfilename.\n\n::\n\n  Usage: ./manage.py dbbackup [options]\n  \n  Options:\n    --noinput             Tells Django to NOT prompt the user for input of any\n                          kind.\n    -q, --quiet           Tells Django to NOT output other text than errors.\n    -c, --clean           Clean up old backup files\n    -d DATABASE, --database=DATABASE\n                          Database to backup (default: everything)\n    -s SERVERNAME, --servername=SERVERNAME\n                          Specify server name to include in backup filename\n    -z, --compress        Compress the backup files\n    -e, --encrypt         Encrypt the backup files\n    -o OUTPUT_FILENAME, --output-filename=OUTPUT_FILENAME\n                          Specify filename on storage\n    -O OUTPUT_PATH, --output-path=OUTPUT_PATH\n                          Specify where to store on local filesystem\n    -x EXCLUDE_TABLES, --exclude-tables=EXCLUDE_TABLES\n                          Exclude tables data from backup (-x 'public.table1, public.table2')\n\ndbrestore\n---------\n\nRestore your database from the specified storage. By default this will lookup\nthe latest backup and restore from that. You may optionally specify a\nservername if you you want to backup a database image that was created from a\ndifferent server. You may also specify an explicit local file to backup from.\n\n::\n\n  Usage: ./manage.py dbrestore [options]\n  \n  Options:\n    --noinput             Tells Django to NOT prompt the user for input of any\n                          kind.\n    -d DATABASE, --database=DATABASE\n                          Database to restore\n    -i INPUT_FILENAME, --input-filename=INPUT_FILENAME\n                          Specify filename to backup from\n    -I INPUT_PATH, --input-path=INPUT_PATH\n                          Specify path on local filesystem to backup from\n    -s SERVERNAME, --servername=SERVERNAME\n                          Use a different servername backup\n    -c, --decrypt         Decrypt data before restoring\n    -p PASSPHRASE, --passphrase=PASSPHRASE\n                          Passphrase for decrypt file\n    -z, --uncompress      Uncompress gzip data before restoring\n\n\nmediabackup\n-----------\n\nBackup media files by get them one by one, include in a TAR file. ::\n\n  Usage: ./manage.py mediabackup [options]\n  \n  Options:\n    --noinput             Tells Django to NOT prompt the user for input of any\n                          kind.\n    -q, --quiet           Tells Django to NOT output other text than errors.\n    -c, --clean           Clean up old backup files\n    -s SERVERNAME, --servername=SERVERNAME\n                          Specify server name to include in backup filename\n    -z, --compress        Compress the archive\n    -e, --encrypt         Encrypt the backup files\n    -o OUTPUT_FILENAME, --output-filename=OUTPUT_FILENAME\n                          Specify filename on storage\n    -O OUTPUT_PATH, --output-path=OUTPUT_PATH\n                          Specify where to store on local filesystem\n\nmediarestore\n------------\n\nRestore media files from storage backup to your media storage. ::\n\n  Usage: ./manage.py mediarestore [options]\n  \n  Options:\n    --noinput             Tells Django to NOT prompt the user for input of any\n                          kind.\n    -q, --quiet           Tells Django to NOT output other text than errors.\n    -i INPUT_FILENAME, --input-filename=INPUT_FILENAME\n                          Specify filename to backup from\n    -I INPUT_PATH, --input-path=INPUT_PATH\n                          Specify path on local filesystem to backup from\n    -e, --decrypt         Decrypt data before restoring\n    -p PASSPHRASE, --passphrase=PASSPHRASE\n                          Passphrase for decrypt file\n    -z, --uncompress      Uncompress gzip data before restoring\n    -r, --replace         Replace existing files\n\nTests\n=====\n\nTests are stored in `dbbackup.tests` and to run them you must launch:\n\n::\n\n    python runtests.py\n\nIn fact, ``runtests.py`` acts as a ``manage.py`` file and all Django commands\nare available. So you could launch:\n\n::\n\n    python runtests.py shell\n\nto get a Python shell configured with the test project. Also all test\ncommand options are available and usable to run only a selection of tests.\nSee `Django test command documentation`_ for more information about it.\n\n.. _`Django test command documentation`: https://docs.djangoproject.com/en/stable/topics/testing/overview/#running-tests\n\nThere are even functional tests: ::\n\n    ./functional.sh\n\nSee documentation for details.\n\nTo run the tests across all supported versions of Django and Python, you\ncan use Tox. Firstly install Tox:\n\n::\n\n    pip install tox\n\nTo run the tests just use the command ``tox`` in the command line.  If you\nwant to run the tests against just one specific test environment you can run\n``tox -e \u003ctestenv\u003e``.  For example, to run the tests with Python3.9 and\nDjango3.2 you would run:\n\n::\n\n    tox -e py39-django32\n\nThe available test environments can be found in ``tox.ini``.\n\nContributing\n============\n\n.. image:: https://jazzband.co/static/img/jazzband.svg\n   :target: https://jazzband.co/\n   :alt: Jazzband\n\nThis is a `Jazzband \u003chttps://jazzband.co\u003e`_ project. By contributing you agree\nto abide by the `Contributor Code of Conduct \u003chttps://jazzband.co/about/conduct\u003e`_\nand follow the `guidelines \u003chttps://jazzband.co/about/guidelines\u003e`_.\n\nAll contribution are very welcomed, propositions, problems, bugs and\nenhancement are tracked with `GitHub issues`_ system and patches are submitted\nvia `pull requests`_.\n\nWe use GitHub Actions as continuous integration tools.\n\n.. _`Read The Docs`: https://django-dbbackup.readthedocs.org/\n.. _`GitHub issues`: https://github.com/jazzband/django-dbbackup/issues\n.. _`pull requests`: https://github.com/jazzband/django-dbbackup/pulls\n.. _Coveralls: https://coveralls.io/github/jazzband/django-dbbackup\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjango-dbbackup%2Fdjango-dbbackup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdjango-dbbackup%2Fdjango-dbbackup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjango-dbbackup%2Fdjango-dbbackup/lists"}