feat: run in cron or one-shot mode depending if KOPIA_CRON_SCHEDULE is set
This commit is contained in:
parent
2be4717780
commit
62569d9abf
@ -3,7 +3,7 @@ FROM kopia/kopia
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
RUN apt-get update && apt-get install -y cron && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ARG KOPIA_CRON_SCHEDULE="*/30 * * * *"
|
||||
ARG KOPIA_CRON_SCHEDULE
|
||||
ENV KOPIA_CRON_SCHEDULE ${KOPIA_CRON_SCHEDULE}
|
||||
|
||||
ARG KOPIA_USERNAME
|
||||
|
@ -1,14 +1,21 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
CRONTAB=/etc/cron.d/kopia-backup
|
||||
if [[ -z ${KOPIA_CRON_SCHEDULE} ]];
|
||||
then
|
||||
echo "Running in one-shot mode"
|
||||
|
||||
printenv > /etc/environment
|
||||
/run-backup.sh
|
||||
else
|
||||
CRONTAB=/etc/cron.d/kopia-backup
|
||||
|
||||
echo "Running cron with schedule ${KOPIA_CRON_SCHEDULE}"
|
||||
printenv > /etc/environment
|
||||
|
||||
echo "${KOPIA_CRON_SCHEDULE} /run-backup.sh > /var/log/kopia-backup.log 2>&1" > ${CRONTAB}
|
||||
chmod 0644 ${CRONTAB}
|
||||
crontab ${CRONTAB}
|
||||
echo "Running cron with schedule ${KOPIA_CRON_SCHEDULE}"
|
||||
|
||||
touch /var/log/kopia-backup.log
|
||||
cron && tail -f /var/log/kopia-backup.log
|
||||
echo "${KOPIA_CRON_SCHEDULE} /run-backup.sh > /var/log/kopia-backup.log 2>&1" > ${CRONTAB}
|
||||
chmod 0644 ${CRONTAB}
|
||||
crontab ${CRONTAB}
|
||||
|
||||
touch /var/log/kopia-backup.log
|
||||
cron && tail -f /var/log/kopia-backup.log
|
||||
fi
|
||||
|
Reference in New Issue
Block a user