djbackup(django backup) is an installable module for Django that is used for backup purposes, specifically for backing up the database and media files.
Project description
dj_backup
What is this ?
DJ Backup is a Django app that provides the capability to back up your files and databases.
Available at:
supported databases
- mysql
- postgres
- sqlite
supported storages
- local
- sftp server
- ftp server
- dropbox
- telegram bot
How to use ?
1. First you need to install dj_backup
pip install djbackup
OR
-
for using all features
pip install djbackup[all]
2. After that, add the dj_backup app to your Django project's installed apps.
INSTALLED_APPS = [
...
...
# apps
'dj_backup',
]
3. add static files dir path to django
from dj_backup.core.utils.static import load_static
STATICFILES_DIRS = [
...
load_static()
]
4. add dj_backup urls to project urls
urlpatterns = [
...
path('dj-backup/', include('dj_backup.urls', namespace='dj_backup')),
...
]
5. set dj_backup basic config to django settings
DJ_BACKUP_CONFIG = {
'STORAGES': {
'LOCAL': {
'OUT': BASE_DIR / 'backup/result'
},
}
}
6. migrate & collect static files
python manage.py migrate
python manage.py collectstatic
7. run backup!
- command is for managing settings and executing backup tasks
python manage.py run-backup
8. run django
python manage.py runserver
- OR use wsgi/asgi handler like: (uwsgi, gunicorn, waitress or etc)
Dashboard
now you can access to dj_backup dashboard
127.0.0.1:8000/dj-backup/
OR
xxx.xxx:xxxx/dj-backup/
Full Config
# DJ_BACKUP_CONFIG = {
# 'MAX_WORKERS': 5, #(optional)
# 'NOTIFICATION_OBJECT_LOG_LEVEL': 'WARNING', #(optional) # options => ['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL']
# 'POSTGRESQL_DUMP_PATH': None, # optional(If the postgresql dump file is not found, you can set it)
# 'MYSQL_DUMP_PATH': None, # optional(If the mysql dump file is not found, you can set it)
# 'EXTERNAL_DATABASES': {
# 'default2': {
# 'ENGINE': 'postgresql',
# 'NAME': 'test',
# 'USER': 'postgres',
# 'PASSWORD': 'xxx',
# 'HOST': '127.0.0.1', # Or an IP Address that your DB is hosted on
# },
# 'default3': {
# 'ENGINE': 'mysql',
# 'NAME': 'test',
# 'USER': 'root',
# 'PASSWORD': 'xxx',
# 'HOST': '127.0.0.1', # Or an IP Address that your DB is hosted on
# },
# },
# 'BASE_ROOT_DIRS': [
# BASE_DIR,
# ],
# 'BACKUP_TEMP_DIR': BASE_DIR / 'backup/temp', #(optional)
# 'BACKUP_SYS_DIR': BASE_DIR / 'backup/sys', #(optional)
# 'STORAGES': {
# 'LOCAL': {
# 'OUT': BASE_DIR / 'backup/result'
# },
# 'TELEGRAM_BOT': {
# 'BOT_TOKEN': 'xxx-xxx',
# 'CHAT_ID': 'xxx-xxx'
# }
# 'SFTP_SERVER': {
# 'HOST': 'xxx',
# 'USERNAME': 'xxx',
# 'PASSWORD': 'xxx',
# 'OUT': 'xxx'
# },
# 'FTP_SERVER': {
# 'HOST': "xxx",
# 'USERNAME': "xxx",
# 'PASSWORD': "xxx",
# 'OUT': 'backups'
# },
# 'DROPBOX': {
# 'APP_KEY': 'xxx-xxx',
# 'OUT': '/dj_backup/'
# }
# }
# }
-
To use storage providers or perform database backups, you need to install the appropriate packages according to your needs using the commands below
- storages:
| storage | install command |
|---|---|
| TELEGRAM_BOT | pip install djbackup[telegram] |
| SFTP_SERVER | pip install djbackup[sftpserver] |
| FTP_SERVER | pip install djbackup[ftpserver] |
| DROPBOX | pip install djbackup[dropbox] |
- databases:
| database | install command |
|---|---|
| mysql | pip install djbackup[mysql] |
| postgresql | pip install djbackup[postgresql] |
NOTE:
If you dont need any of the storages, you must remove that configuration
because you get an error if it cant be connected
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
djbackup-2.3.0.tar.gz
(1.7 MB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file djbackup-2.3.0.tar.gz.
File metadata
- Download URL: djbackup-2.3.0.tar.gz
- Upload date:
- Size: 1.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be6d3b4fde54e491108b2688727d44cc4d21246ad138b243f1a6117e14ae31de
|
|
| MD5 |
210ea563dc7ded970bd3e98cfd972ff9
|
|
| BLAKE2b-256 |
f6fa81619a3406af440ec1de0642ca25b15ae1db67ca80261955c4ef0032c775
|
File details
Details for the file djbackup-2.3.0-py3-none-any.whl.
File metadata
- Download URL: djbackup-2.3.0-py3-none-any.whl
- Upload date:
- Size: 1.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cfb803251579876dad1c84cfb85cdeba6a89fcee43cf35f0c5ead5535005ebc4
|
|
| MD5 |
3c41a9033614f7ccae3c7097edca793a
|
|
| BLAKE2b-256 |
d7e7ac5bd108a83bfa42a1fb912358620d977c32c55d2a72234d09735f783cdd
|