35 lines
1.1 KiB
Bash
Executable File
35 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# To be run by user mkt to back up the EspoCRM pod: a MariaDB dump and a
|
|
# tarball of the EspoCRM data dir (config.php with crypt/passwordSalt key,
|
|
# data/upload, custom). Manual invocation only (no timer, no cron).
|
|
|
|
# Environment variables
|
|
POD_NAME='espocrm_pod'
|
|
DB_CTR='mariadb_ctr'
|
|
DB_NAME='espocrm'
|
|
BIND_DIR="$HOME/.local/share/$POD_NAME"
|
|
ESPO_DATA_DIR="$BIND_DIR/espocrm" # /var/www/html
|
|
BAK_DIR="$HOME/bak"
|
|
TS=$(date +%Y%m%d-%H%M%S)
|
|
|
|
mkdir -p "$BAK_DIR"
|
|
|
|
# DB dump: run inside the container so no password is needed in this script;
|
|
# MARIADB_ROOT_PASSWORD is taken from the container's own environment.
|
|
DB_BAK="$BAK_DIR/espocrm-db-$TS.sql.gz"
|
|
podman exec "$DB_CTR" sh -c \
|
|
'exec mariadb-dump --single-transaction --routines --triggers -uroot -p"$MARIADB_ROOT_PASSWORD" '"$DB_NAME" \
|
|
| gzip > "$DB_BAK"
|
|
echo "Wrote DB dump $DB_BAK (rc=$?)"
|
|
|
|
# File backup of the EspoCRM data directory
|
|
FILES_BAK="$BAK_DIR/espocrm-files-$TS.tar.gz"
|
|
tar -czf "$FILES_BAK" -C "$ESPO_DATA_DIR" .
|
|
echo "Wrote files backup $FILES_BAK (rc=$?)"
|
|
|
|
echo ""
|
|
echo "Backup complete:"
|
|
echo " $DB_BAK"
|
|
echo " $FILES_BAK"
|