-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathentrypoint.sh
More file actions
executable file
·28 lines (24 loc) · 891 Bytes
/
Copy pathentrypoint.sh
File metadata and controls
executable file
·28 lines (24 loc) · 891 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/env bash
set -Eeo pipefail
DATABASE_PATH=$1
BACKUPS_FOLDER_PATH=${2:-"/backups"}
SCHEDULE=${3:-"@daily"}
BACKUP_KEEP_MINS=${4:-1440}
BACKUP_KEEP_DAYS=${5:-7}
BACKUP_KEEP_WEEKS=${6:-4}
BACKUP_KEEP_MONTHS=${7:-6}
HEALTHCHECK_PORT=${8:-8080}
BACKUP_ON_START=${9:-"FALSE"}
if [[ ! -d "$BACKUPS_FOLDER_PATH/daily" \
|| ! -d "$BACKUPS_FOLDER_PATH/last" \
|| ! -d "$BACKUPS_FOLDER_PATH/weekly" \
|| ! -d "$BACKUPS_FOLDER_PATH/monthly" ]]; then
create-folder-structure $BACKUPS_FOLDER_PATH
fi
EXTRA_ARGS=""
# Initial background backup
if [ "${BACKUP_ON_START}" = "TRUE" ]; then
EXTRA_ARGS="-i"
fi
exec /usr/local/bin/go-cron -s "$SCHEDULE" -p "$HEALTHCHECK_PORT" $EXTRA_ARGS -- /bin/bash -c "create-backup $DATABASE_PATH $BACKUPS_FOLDER_PATH \
&& delete-old-backups $BACKUPS_FOLDER_PATH $BACKUP_KEEP_MINS $BACKUP_KEEP_DAYS $BACKUP_KEEP_WEEKS $BACKUP_KEEP_MONTHS"