MariaDB backup: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 16: | Line 16: | ||
0 4 * * * chronic /usr/local/sbin/mysql-backup | 0 4 * * * chronic /usr/local/sbin/mysql-backup | ||
</pre> | </pre> | ||
* To restore full backup: | |||
::# <code>mkdir /root/backupdb</code> | |||
::# <code>gunzip -c /usr/local/mysqlbackups/backup-XXXXXXXX.xb.gz | mbstream -x -C /root/backupdb</code> | |||
::# <code>mariabackup --prepare --target-dir=/root/backupdb</code> | |||
::# <code>/etc/rc.d/rc.mysqld stop</code> | |||
::# <code>Ensure that the datadir (/var/lib/mysql) is empty</code> | |||
::# <code>mariabackup --copy-back --target-dir=/root/backupdb</code> | |||
::# <code>chown -R mysql:mysql /var/lib/mysql</code> | |||
::# <code>/etc/rc.d/rc.mysqld sta</code> | |||
[[Category:Linux]] | [[Category:Linux]] | ||
Revision as of 18:10, 20 October 2022
/usr/local/sbin/mysql-backup
#!/bin/bash
TS=$(date '+%Y%m%d')
/usr/bin/mariabackup --user=root --backup --stream=xbstream \
| gzip > /usr/local/mysqlbackups/backup-$TS.xb.gz || exit 1
TS=$(date -d "10 days ago" '+%Y%m%d')
rm -f /usr/local/mysqlbackups/backup-$TS.xb.gz
- root's crontab:
# Run mysql backup at 4:00 every day 0 4 * * * chronic /usr/local/sbin/mysql-backup
- To restore full backup:
mkdir /root/backupdbgunzip -c /usr/local/mysqlbackups/backup-XXXXXXXX.xb.gz | mbstream -x -C /root/backupdbmariabackup --prepare --target-dir=/root/backupdb/etc/rc.d/rc.mysqld stopEnsure that the datadir (/var/lib/mysql) is emptymariabackup --copy-back --target-dir=/root/backupdbchown -R mysql:mysql /var/lib/mysql/etc/rc.d/rc.mysqld sta