User Tools

Site Tools


backup:mariadb

**This is an old revision of the document!**

MariaDB backup initiated form another host (VM host, Backup storage mounted)

The script is an adapted version of the script used by the mariadb operator on kubernetes. It runs in a container. The container is created using the podman quadlet container configuration file /etc/containers/systemd/users/1000/mariadb-www-backup.container:

[Unit]
Description=Backup MariaDB on VM www
OnFailure=status_email_simar@%n.service
 
[Container]
Image=docker.io/mariadb:10.11
Environment=MARIADB_OPERATOR_USER=root
Environment=MARIADB_OPERATOR_PASSWORD=[...]
Environment=MARIADB_SERVER=192.168.1.[...]
Volume=$PATH_TO_BACKUP_STORAGE:/backup
Exec=/bin/bash -c "set -euo pipefail; \
echo ๐Ÿ’พ Exporting env; \
export BACKUP_FILE=backup.$(date -u +'%%Y-%%m-%%dT%%H:%%M:%%SZ').sql.zstd; \
echo ๐Ÿ’พ Writing target file: /backup/0-backup-target.txt; \
printf \"$${BACKUP_FILE}\" > /backup/0-backup-target.txt; \
echo ๐Ÿ’พ Setting target file permissions; \
chmod 777 /backup/0-backup-target.txt; \
echo ๐Ÿ’พ Taking backup: /backup/$(cat '/backup/0-backup-target.txt'); \
mariadb-dump --user=$${MARIADB_OPERATOR_USER} \
             --password=$${MARIADB_OPERATOR_PASSWORD} \
             --host=$${MARIADB_SERVER} --port=3306 \
             --single-transaction --events --routines --all-databases \
             --skip-add-locks --ignore-table=mysql.global_priv \
| zstd --no-progress -19 -T0 -f -o /backup/$(cat '/backup/0-backup-target.txt')"

/etc/systemd/users/status_email_simar@.service

 
 
backup/mariadb.1728226914.txt.gz ยท Last modified: by admin