❤️ Support Masonite so we can continue to build new packages!
pip install masonite-backup
Backup solution for Masonite.
pip install masonite-backup
Add BackupProvider to your project in config/providers.py
:
# config/providers.py
# ...
from backup import BackupProvider
# ...
PROVIDERS = [
# ...
# Third Party Providers
BackupProvider,
# ...
]
Then you can publish the package resources (if needed) by doing:
python craft package:publish backup
Once you publish the package resources, you can use the backup
command to backup your database and files. Before that if you want to configure options of backup then you can do that by updating config/backup.py
configuration file.
# config/backup.py
FILENAME = "backup"
DIRECTORY = "backup"
SOURCE = {
"root": base_path(),
"excludes": [
".git",
"storage",
"venv",
"node_modules",
"__pycache__",
# add more...
],
}
S3_BACKUP = False # Whether or not to backup to S3.
EMAIL_BACKUP = False # Whether or not to email the backup.
EMAIL_BACKUP_TO = "" # The email address to send the backup to.
EMAIL_SUBJECT = "System Backup" # The email subject.
Note: Make sure you have
EMAIL_BACKUP
set toTrue
andEMAIL_BACKUP_TO
set to a valid email address, to send the backup via email. Also don't forget to setup SMTP inconfig/mail.py
configuration file or in.env
file. In case you want to backup to S3, then make sure you haveS3_BACKUP
set toTrue
and S3 storage configuration.
MAIL_DRIVER=smtp
MAIL_FROM=
MAIL_HOST=
MAIL_PORT=
MAIL_USERNAME=
MAIL_PASSWORD=
AWS_CLIENT=
AWS_SECRET=
AWS_BUCKET=
AWS_REGION=
Backup Database and Files
python craft backup:run
Backup Database Only
python craft backup:run --only-db
Backup Files Only
python craft backup:run --only-files
Backup is open-sourced software licensed under the MIT license.
Last update: