mirror of
https://codeberg.org/angestoepselt/docker-zammad.git
synced 2025-05-24 14:46:17 +00:00
repair and improve zammad-backup
https://github.com/zammad/zammad-docker-compose/pull/370
This commit is contained in:
parent
5bc358aae4
commit
b030765d12
1 changed files with 14 additions and 11 deletions
|
|
@ -4,11 +4,16 @@ set -e
|
|||
|
||||
: "${ZAMMAD_DIR:=/opt/zammad/var}"
|
||||
: "${BACKUP_DIR:=/var/tmp/zammad}"
|
||||
: "${BACKUP_TIME:=03:00}"
|
||||
: "${HOLD_DAYS:=10}"
|
||||
: "${ZAMMAD_RAILSSERVER_HOST:=zammad-railsserver}"
|
||||
: "${ZAMMAD_RAILSSERVER_PORT:=3000}"
|
||||
: "${POSTGRESQL_DB:=zammad_production}"
|
||||
: "${POSTGRESQL_HOST:=zammad-postgresql}"
|
||||
: "${POSTGRESQL_PORT:=5432}"
|
||||
: "${POSTGRESQL_DB:=zammad_production}"
|
||||
: "${POSTGRESQL_USER:=zammad}"
|
||||
: "${POSTGRESQL_PASS:=zammad}"
|
||||
|
||||
|
||||
function check_railsserver_available {
|
||||
until (echo > "/dev/tcp/$ZAMMAD_RAILSSERVER_HOST/$ZAMMAD_RAILSSERVER_PORT") &> /dev/null; do
|
||||
|
|
@ -20,14 +25,11 @@ function check_railsserver_available {
|
|||
function zammad_backup {
|
||||
TIMESTAMP="$(date +'%Y%m%d%H%M%S')"
|
||||
|
||||
echo "${TIMESTAMP} - backuping zammad..."
|
||||
echo "${TIMESTAMP} - backing up zammad..."
|
||||
|
||||
# delete old backups
|
||||
if [ -d "${BACKUP_DIR}" ] && [ -n "$(ls "${BACKUP_DIR}")" ]; then
|
||||
# modified version: this deletes everything older than 12 hours
|
||||
find "${BACKUP_DIR}"/*_zammad_*.gz -type f -mmin +720 -delete
|
||||
# original version of the script
|
||||
# find "${BACKUP_DIR}"/*_zammad_*.gz -type f -mtime +"${HOLD_DAYS}" -delete
|
||||
find "${BACKUP_DIR}"/*_zammad_*.gz -type f -mtime +"${HOLD_DAYS}" -delete
|
||||
fi
|
||||
|
||||
if [ "${NO_FILE_BACKUP}" != "yes" ]; then
|
||||
|
|
@ -36,7 +38,7 @@ function zammad_backup {
|
|||
fi
|
||||
|
||||
#db backup
|
||||
pg_dump --dbname=postgresql://"${POSTGRESQL_USER}:${POSTGRESQL_PASSWORD}@${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/${POSTGRESQL_DB}" | gzip > "${BACKUP_DIR}"/"${TIMESTAMP}"_zammad_db.psql.gz
|
||||
pg_dump --dbname=postgresql://"${POSTGRESQL_USER}:${POSTGRESQL_PASS}@${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/${POSTGRESQL_DB}" | gzip > "${BACKUP_DIR}"/"${TIMESTAMP}"_zammad_db.psql.gz
|
||||
|
||||
echo "backup finished :)"
|
||||
}
|
||||
|
|
@ -56,16 +58,17 @@ if [ "$1" = 'zammad-backup' ]; then
|
|||
|
||||
sleep $((NEXT_TIMESTAMP - NOW_TIMESTAMP))
|
||||
done
|
||||
fi
|
||||
|
||||
if [ "$1" = 'zammad-backup-once' ]; then
|
||||
elif [ "$1" = 'zammad-backup-once' ]; then
|
||||
check_railsserver_available
|
||||
|
||||
zammad_backup
|
||||
fi
|
||||
|
||||
if [ "$1" = 'zammad-backup-db' ]; then
|
||||
elif [ "$1" = 'zammad-backup-db' ]; then
|
||||
NO_FILE_BACKUP="yes"
|
||||
|
||||
zammad_backup
|
||||
|
||||
else
|
||||
exec "$@"
|
||||
fi
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue