Backup solution for Masonite.
- Backup Database
- Backup Files
- Store Backup Locally in the filesystem
- Email Backup
- Store Backup in other Masonite Supported Storage Drivers [s3]
pip install masonite-backupAdd 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 backupOnce 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_BACKUPset toTrueandEMAIL_BACKUP_TOset to a valid email address, to send the backup via email. Also don't forget to setup SMTP inconfig/mail.pyconfiguration file or in.envfile. In case you want to backup to S3, then make sure you haveS3_BACKUPset toTrueand 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:runBackup Database Only
python craft backup:run --only-dbBackup Files Only
python craft backup:run --only-filesBackup is open-sourced software licensed under the MIT license.
