33 lines
865 B
Bash
33 lines
865 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
if [ "$1" = 'zammad-backup' ]; then
|
||
|
|
||
|
# wait for zammad process coming up
|
||
|
until (echo > /dev/tcp/zammad-railsserver/3000) &> /dev/null; do
|
||
|
echo "backup waiting for zammads railsserver to be ready..."
|
||
|
sleep 2
|
||
|
done
|
||
|
|
||
|
while true; do
|
||
|
TIMESTAMP="$(date +'%Y%m%d%H%M%S')"
|
||
|
|
||
|
echo "${TIMESTAMP} - backuping zammad..."
|
||
|
|
||
|
# create backup dis
|
||
|
test -d ${BACKUP_DIR} || mkdir -p ${BACKUP_DIR}
|
||
|
|
||
|
# delete old backups
|
||
|
test -d ${BACKUP_DIR} && find ${BACKUP_DIR}/*_zammad_*.gz -type f -mtime +${HOLD_DAYS} -exec rm {} \;
|
||
|
|
||
|
# tar files
|
||
|
tar -czf ${ZAMMAD_DIR} ${BACKUP_DIR}/${TIMESTAMP}_zammad_files.tar.gz
|
||
|
|
||
|
#db backup
|
||
|
pg_dump --dbname=postgresql://postgres@zammad-postgresql:5432/zammad_production | gzip > ${BACKUP_DIR}/${TIMESTAMP}_zammad_db.psql.gz
|
||
|
|
||
|
# wait until next backup
|
||
|
sleep ${BACKUP_SLEEP}
|
||
|
done
|
||
|
|
||
|
fi
|