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
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
RUN apt-get update && apt-get install -y cron && rm -rf /var/lib/apt/lists/*
|
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}
|
ENV KOPIA_CRON_SCHEDULE ${KOPIA_CRON_SCHEDULE}
|
||||||
|
|
||||||
ARG KOPIA_USERNAME
|
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}
|
echo "Running cron with schedule ${KOPIA_CRON_SCHEDULE}"
|
||||||
chmod 0644 ${CRONTAB}
|
|
||||||
crontab ${CRONTAB}
|
|
||||||
|
|
||||||
touch /var/log/kopia-backup.log
|
echo "${KOPIA_CRON_SCHEDULE} /run-backup.sh > /var/log/kopia-backup.log 2>&1" > ${CRONTAB}
|
||||||
cron && tail -f /var/log/kopia-backup.log
|
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