Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/magepsycho/magento2-db-code-backup-bash-script
Bash Script: Backup Magento2 Code + Database
https://github.com/magepsycho/magento2-db-code-backup-bash-script
backup-database backup-files backup-script bash-script centos code database debian linux magento magento2 media shell-script ssh terminal ubuntu
Last synced: 4 months ago
JSON representation
Bash Script: Backup Magento2 Code + Database
- Host: GitHub
- URL: https://github.com/magepsycho/magento2-db-code-backup-bash-script
- Owner: MagePsycho
- Created: 2017-12-01T21:18:08.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2022-10-08T19:12:48.000Z (over 2 years ago)
- Last Synced: 2024-10-09T15:42:38.916Z (4 months ago)
- Topics: backup-database, backup-files, backup-script, bash-script, centos, code, database, debian, linux, magento, magento2, media, shell-script, ssh, terminal, ubuntu
- Language: Shell
- Homepage: https://blog.magepsycho.com/bash-script-easily-backup-magento2-code-files-database/
- Size: 296 KB
- Stars: 42
- Watchers: 3
- Forks: 6
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Bash Script: Backup Magento2 Code + Database
This utility script helps you to backup Magento2 code and database.
You can either run the command manually or can automate it via cronjob.## INSTALL
You can simply download the script file and give the executable permission.
```
curl -0 https://raw.githubusercontent.com/MagePsycho/magento2-db-code-backup-bash-script/master/src/mage2-db-code-backup.sh -o mage2-backup.sh
chmod +x mage2-backup.sh
```To make it system wide command
```
sudo mv mage2-backup.sh /usr/local/bin/mage2-backup.sh
```## USAGE
### To display help
```
./mage2-backup.sh --help
```### To backup database only
```
./mage2-backup.sh --backup-db --src-dir=/path/to/magento2/root --dest-dir=/path/to/destination
```If you want to get rid of this message
> Using a password on the command line interface can be insecure.You can create a `.my.cnf` file in home directory with the following config
```
[client]
host=localhost
user=[your-db-user]
password=[your-db-pass]
```
And use option `--use-mysql-config` as
```
./mage2-backup.sh --backup-db --use-mysql-config --src-dir=/path/to/magento2/root --dest-dir=/path/to/destination
```### To backup code only
```
./mage2-backup.sh --backup-code --skip-media --src-dir=/path/to/magento2/root --dest-dir=/path/to/destination
```### To backup code + database
```
./mage2-backup.sh --backup-db --backup-code --skip-media --src-dir=/path/to/magento2/root --dest-dir=/path/to/destination
```**Notes**
If you want to use custom backup name, you can pass `--backup-name=...` option.
If this option is not used, the `mage2-backup.$DATETIME` will be used as a default basename for code & db backups.
*You can utilize this option if you want to automate the backup and download process*### To schedule backup via Cron
If you want to schedule via Cron, just add the following line in your Crontab entry `crontab -e`
```
0 0 * * * /path/to/mage2-backup.sh --backup-db --backup-code --skip-media --src-dir=/path/to/magento2/root --dest-dir=/path/to/destination > /dev/null 2>&1
```
`0 0 * * *` expression means the command will run run at every midnight.## Screenshots
![Mage2Backup Help](https://github.com/MagePsycho/magento2-db-code-backup-bash-script/raw/master/docs/mage2-backup-script-help-0.2.0.png "Mage2Backup Help")
1. Mage2Backup Help![Mage2Backup in Action](https://github.com/MagePsycho/magento2-db-code-backup-bash-script/raw/master/docs/mage2-backup-script-in-action-0.2.0.gif "Mage2Backup in Action")
2. Mage2Backup in Action## TO-DOS
- S3 support
- Google Drive support
- Option to exclude log tables