mirror of
https://github.com/tiredofit/docker-db-backup.git
synced 2025-12-22 05:33:53 +01:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c7ee94aec2 | ||
|
|
f44233e51a | ||
|
|
ccda858b18 | ||
|
|
d58b27d5ef |
13
CHANGELOG.md
13
CHANGELOG.md
@@ -1,3 +1,16 @@
|
||||
## 4.0.28 2023-12-04 <dave at tiredofit dot ca>
|
||||
|
||||
### Changed
|
||||
- AWS Cli 1.31.5
|
||||
- Switch to using PIP for installing AWS-Cli to remove deprecation warnings
|
||||
|
||||
|
||||
## 4.0.27 2023-12-04 <dave at tiredofit dot ca>
|
||||
|
||||
### Changed
|
||||
- Switch to using actual crontab for cron expressions
|
||||
|
||||
|
||||
## 4.0.26 2023-11-30 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
|
||||
@@ -9,7 +9,7 @@ ENV INFLUX1_CLIENT_VERSION=1.8.0 \
|
||||
INFLUX2_CLIENT_VERSION=2.7.3 \
|
||||
MSODBC_VERSION=18.3.2.1-1 \
|
||||
MSSQL_VERSION=18.3.1.1-1 \
|
||||
AWS_CLI_VERSION=1.31.4 \
|
||||
AWS_CLI_VERSION=1.31.5 \
|
||||
CONTAINER_ENABLE_MESSAGING=TRUE \
|
||||
CONTAINER_ENABLE_MONITORING=TRUE \
|
||||
IMAGE_NAME="tiredofit/db-backup" \
|
||||
@@ -78,8 +78,6 @@ RUN source /assets/functions/00-container && \
|
||||
\
|
||||
if [ $mssql = "true" ] ; then curl -O https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/msodbcsql18_${MSODBC_VERSION}_${mssql_arch}.apk ; curl -O https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/mssql-tools18_${MSSQL_VERSION}_${mssql_arch}.apk ; echo y | apk add --allow-untrusted msodbcsql18_${MSODBC_VERSION}_${mssql_arch}.apk mssql-tools18_${MSSQL_VERSION}_${mssql_arch}.apk ; else echo >&2 "Detected non x86_64 or ARM64 build variant, skipping MSSQL installation" ; fi; \
|
||||
if [ $influx2 = "true" ] ; then curl -sSL https://dl.influxdata.com/influxdb/releases/influxdb2-client-${INFLUX2_CLIENT_VERSION}-linux-${influx_arch}.tar.gz | tar xvfz - --strip=1 -C /usr/src/ ; chmod +x /usr/src/influx ; mv /usr/src/influx /usr/sbin/ ; else echo >&2 "Unable to build Influx 2 on this system" ; fi ; \
|
||||
clone_git_repo https://github.com/aws/aws-cli "${AWS_CLI_VERSION}" && \
|
||||
python3 setup.py install --prefix=/usr && \
|
||||
clone_git_repo https://github.com/influxdata/influxdb "${INFLUX1_CLIENT_VERSION}" && \
|
||||
go build -o /usr/sbin/influxd ./cmd/influxd && \
|
||||
strip /usr/sbin/influxd && \
|
||||
@@ -99,6 +97,7 @@ RUN source /assets/functions/00-container && \
|
||||
make && \
|
||||
make install && \
|
||||
\
|
||||
pip3 install --break-system-packages awscli==${AWS_CLI_VERSION} && \
|
||||
pip3 install --break-system-packages blobxfer && \
|
||||
\
|
||||
package remove .db-backup-build-deps && \
|
||||
|
||||
@@ -24,7 +24,6 @@ else
|
||||
silent sleep {{BACKUP_NUMBER}}
|
||||
time_last_run=0
|
||||
time_current=$(date +'%s')
|
||||
|
||||
if [[ "${backup_job_backup_begin}" =~ ^\+(.*)$ ]]; then
|
||||
print_debug "BACKUP_BEGIN is a jump of minute starting with +"
|
||||
timer plusvalue
|
||||
@@ -37,10 +36,18 @@ else
|
||||
#elif echo "${backup_job_backup_begin//\*/#}" | grep -qP "^(.*((\d+,)+\d+|(\d+(\/|-)\d+)|\d+|#) ?){5}$" ; then # Allow slashes, yet not supporting advanced cron yet
|
||||
elif echo "${backup_job_backup_begin//\*/#}" | grep -qP "^(((\d+,)+\d+|(\d+(\/|-)\d+)|\d+|#) ?){5}$" ; then
|
||||
print_debug "BACKUP_BEGIN is a cron expression"
|
||||
time_last_run=$(date +"%s")
|
||||
backup_job_backup_begin=${backup_job_backup_begin//\"/}
|
||||
backup_job_backup_begin=${backup_job_backup_begin//\'/}
|
||||
timer cron "${backup_job_backup_begin}" "${time_current}" "${time_last_run}"
|
||||
if var_false "${CRON_ALTERNATE}"; then
|
||||
time_last_run=$(date +"%s")
|
||||
|
||||
backup_job_backup_begin=${backup_job_backup_begin//\"/}
|
||||
backup_job_backup_begin=${backup_job_backup_begin//\'/}
|
||||
timer cron "${backup_job_backup_begin}" "${time_current}" "${time_last_run}"
|
||||
else
|
||||
echo "${backup_job_backup_begin} /var/run/s6/legacy-services/dbbackup-{{BACKUP_NUMBER}}/run now" > /tmp/.container/cron/{{BACKUP_NUMBER}}-backup
|
||||
crontab -l | { cat; echo "${backup_job_backup_begin} /var/run/s6/legacy-services/dbbackup-{{BACKUP_NUMBER}}/run now"; } | crontab -
|
||||
s6-svc -d /var/run/s6/legacy-services/dbbackup-{{BACKUP_NUMBER}}
|
||||
exit 0
|
||||
fi
|
||||
else
|
||||
print_error "_BACKUP_BEGIN is invalid - Unable to perform scheduling"
|
||||
cat <<EOF
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#!/command/with-contenv bash
|
||||
|
||||
BACKUP_JOB_CONCURRENCY=${BACKUP_JOB_CONCURRENCY:-"1"}
|
||||
CRON_ALTERNATE=${CRON_ALTERNATE:-"TRUE"}
|
||||
DBBACKUP_USER=${DBBACKUP_USER:-"dbbackup"}
|
||||
DBBACKUP_GROUP=${DBBACKUP_GROUP:-"${DBBACKUP_USER}"} # Must go after DBBACKUP_USER
|
||||
DEFAULT_BACKUP_BEGIN=${DEFAULT_BACKUP_BEGIN:-+0}
|
||||
|
||||
@@ -1882,12 +1882,12 @@ timer() {
|
||||
local cron_compare_difference=$(( cron_compare - ${4} ))
|
||||
|
||||
if [ "${cron_compare_difference}" -lt 60 ]; then
|
||||
cron_compare=$((${cron_compare} + $(( 60 - cron_compare_difference )) ))
|
||||
cron_compare=$((cron_compare + $(( 60 - cron_compare_difference )) ))
|
||||
fi
|
||||
|
||||
local cron_current_seconds="$(date --date=@"${cron_compare_seconds}" +"%-S")"
|
||||
if [ "${cron_current_seconds}" -ne 0 ]; then
|
||||
cron_compare_seconds=$(( cron_compare_seconds - cron_current_seconds ))
|
||||
cron_compare=$(( cron_compare_seconds - cron_current_seconds ))
|
||||
fi
|
||||
|
||||
local cron_minute="$(echo -n "${2}" | awk '{print $1}')"
|
||||
@@ -1926,6 +1926,7 @@ timer() {
|
||||
fi
|
||||
|
||||
cron_next_hour="${cron_next}"
|
||||
cron_next_minute=0
|
||||
fi
|
||||
|
||||
print_debug "[timer] [cron] Parse Day of Week"
|
||||
@@ -1999,12 +2000,13 @@ timer() {
|
||||
fi
|
||||
cron_parsed=0
|
||||
done
|
||||
|
||||
set -x
|
||||
local cron_future=$(date --date="${cron_next_year}-$(printf "%02d" ${cron_next_month})-$(printf "%02d" ${cron_next_day_of_month})T$(printf "%02d" ${cron_next_hour}):$(printf "%02d" ${cron_next_minute}):00" "+%s")
|
||||
local cron_future_difference=$(( cron_future - cron_compare_seconds ))
|
||||
time_cron=true
|
||||
time_wait="${cron_future_difference}"
|
||||
time_future="${cron_future}"
|
||||
set +x
|
||||
;;
|
||||
datetime)
|
||||
time_begin=$(date -d "${backup_job_backup_begin}" +%s)
|
||||
|
||||
Reference in New Issue
Block a user