dj_backup is an installable module for Django that is used for backup purposes.
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(beta)
- 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
STATICFILES_DIRS = (
...
'dj_backup/static/',
)
4. add locale file to django(optional)
LOCALE_PATHS = (
...
'dj_backup/locale',
)
5. add dj_backup urls to project urls
urlpatterns = [
...
path('dj-backup/', include('dj_backup.urls', namespace='dj_backup')),
...
]
6. set dj_backup basic config to django settings
DJ_BACKUP_CONFIG = {
'STORAGES': {
'LOCAL': {
'OUT': BASE_DIR / 'backup/result'
},
}
}
7. migrate & collect static files
python manage.py migrate
python manage.py collectstatic
8. run backup!
- command is for managing settings and executing backup tasks
python manage.py run-backup
9. 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/
Additional 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': {
# 'ACCESS_TOKEN': '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 Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
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.1.3-py3-none-any.whl.
File metadata
- Download URL: djbackup-2.1.3-py3-none-any.whl
- Upload date:
- Size: 3.7 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 |
9e340d311e685c70d8ebff70d2174514cfa444dfc95bb429f226679ceb5c3e89
|
|
| MD5 |
c0600726f96c574933233d9947ca3977
|
|
| BLAKE2b-256 |
0635727a8be67339b2f617ec85fe3806e353bc42532dc01445451a238e9218fe
|