generated from pavel.muhortov/template-bash
74 lines
2.4 KiB
Markdown
74 lines
2.4 KiB
Markdown
# dbms
|
|
|
|
Collection for database management systems
|
|
|
|
* [`mysqldump-wrapper.sh`](https://git.hmp.today/pavel.muhortov/dbms#mysqldump-wrapper-sh)
|
|
|
|
____
|
|
|
|
## `mysqldump-wrapper.sh`
|
|
|
|
**Description:**
|
|
> creating database dump, copying to additional smb share, copies rotating
|
|
> and
|
|
> sending report to email
|
|
|
|
**Dependencies:**
|
|
>
|
|
> * 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)
|
|
|
|
| POSITION | PARAMETERS | DESCRIPTION | DEFAULT |
|
|
|-----------|--------------|------------------------|---------------|
|
|
| 1 |**[/path/to/file.conf]**|path to config file|**REQUIRED**|
|
|
|
|
### Installing mysqldump-wrapper.sh and setting up crontab
|
|
|
|
```bash
|
|
# 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
|
|
```
|
|
|
|
```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
|
|
```
|
|
|
|
```bash
|
|
# 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
|
|
```
|