2024-05-19 11:50:04 +03:00
# dbms
2024-05-19 10:29:38 +03:00
2024-05-19 11:50:04 +03:00
Collection for database management systems
2024-05-19 10:29:38 +03:00
2024-05-19 11:50:04 +03:00
* [`mysqldump-wrapper.sh` ](https://git.hmp.today/pavel.muhortov/dbms#mysqldump-wrapper-sh )
2024-05-19 10:29:38 +03:00
____
2024-05-19 11:50:04 +03:00
## `mysqldump-wrapper.sh`
2024-05-19 10:29:38 +03:00
**Description:**
2024-05-19 11:50:04 +03:00
> creating database dump, copying to additional smb share, copies rotating
> and
> sending report to email
2024-05-19 10:29:38 +03:00
**Dependencies:**
>
2024-05-19 11:50:04 +03:00
> * privileged rights
> * [mysqldump](https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html) (tested version 5.6.35 on [CentOS 7](https://wiki.centos.org/Manuals/ReleaseNotes/CentOS7.2009))
> * [gzip](https://www.gnu.org/software/gzip/manual/gzip.html) (tested version 1.5 on [CentOS 7](https://wiki.centos.org/Manuals/ReleaseNotes/CentOS7.2009))
> * [cifs-utils](https://wiki.samba.org/index.php/LinuxCIFS_utils) (tested version 2.08 on [CentOS 7](https://wiki.centos.org/Manuals/ReleaseNotes/CentOS7.2009))
> * [Python 3](https://www.python.org/downloads/) (tested version [3.9.5](https://git.hmp.today/pavel.muhortov/utils#build-python-sh) on [CentOS 7](https://wiki.centos.org/Manuals/ReleaseNotes/CentOS7.2009))
> * [sendmail.py](https://git.hmp.today/pavel.muhortov/utils#sendmail-py)
2024-05-19 10:29:38 +03:00
| POSITION | PARAMETERS | DESCRIPTION | DEFAULT |
|-----------|--------------|------------------------|---------------|
2024-05-19 11:50:04 +03:00
| 1 |**[/path/to/file.conf]**|path to config file|**REQUIRED**|
2024-05-19 10:29:38 +03:00
2024-05-19 11:50:04 +03:00
### Installing mysqldump-wrapper.sh and setting up crontab
2024-05-19 10:29:38 +03:00
```bash
2024-05-19 11:50:04 +03:00
# edit config
sudo tee /usr/local/bin/mysqldump-wrapper.conf > /dev/null < < 'EOF'
# mysql connection parameters
db_host=db-server.domain.zone
db_user=db-username
db_pass=db-password
db_name=database
# dump repository parameters
dump_root=/home/user/backup
dump_save=1
# copy smb-repository parameters
smb_host=smb-server.domain.zone
smb_path=smb-share/backup
smb_user=smb-username
smb_domn=smb-domain
smb_pass=smb-password
copy_save=7
# sendmail parameters
smtp_pyth=/usr/local/opt/python-3.9/bin/python3.9
smtp_send=/usr/local/bin/sendmail.py
smtp_host=mail-server.domain.zone
smtp_port=587
smtp_from=mail-from@domain.zone
smtp_pass=mail-password
smtp_dest=mail-dest@domain.zone
EOF
2024-05-19 10:29:38 +03:00
```
2024-05-19 11:50:04 +03:00
```bash
# download
sudo wget https://git.hmp.today/pavel.muhortov/dbms/raw/branch/master/mysqldump-wrapper.sh -O /usr/local/bin/mysqldump-wrapper.sh
sudo chmod +x /usr/local/bin/mysqldump-wrapper.sh
```
2024-05-19 10:29:38 +03:00
```bash
2024-05-19 11:50:04 +03:00
# sudo sh -c "EDITOR=nano crontab -e"
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
00 20 * * * bash /usr/local/bin/mysqldump-wrapper.sh /usr/local/bin/mysqldump-wrapper.conf
2024-05-19 10:29:38 +03:00
```