parent
0421c8b8d9
commit
cf008cd284
|
|
@ -39,12 +39,12 @@ ENV RUN_MIGRATIONS=0
|
||||||
ENV CREATE_ADMIN=0
|
ENV CREATE_ADMIN=0
|
||||||
|
|
||||||
COPY --from=builder /pause/pauser /pauser
|
COPY --from=builder /pause/pauser /pauser
|
||||||
|
COPY backup.sh /
|
||||||
|
COPY restore.sh /
|
||||||
|
|
||||||
USER root
|
USER root
|
||||||
### CRON BACKUPS
|
### CRON BACKUPS
|
||||||
RUN true \
|
RUN true \
|
||||||
&& echo 'b=$(date +%Y%m%d%H%M%S); mkdir -p /mnt/save/$b; pg_dump $DATABASE_URL --clean > /mnt/save/$b/pg.dump || (rm -rf /mnt/save/$b; echo "backup failed; deleting $b"; exit 1); if du -sh /mnt/save/$b | grep -i "^[ ]*4.0K"; then rm -rf /mnt/save/$b; echo rm empty backup $b; fi' > /backup.sh \
|
|
||||||
&& echo 'b=$(find /mnt/save -type f | sort | tail -n 1); if [ -n "$b" ]; then echo restoring $b; psql $DATABASE_URL < "$b"; fi && service postgresql start;' > /restore.sh \
|
|
||||||
&& echo '0 4,8,12,16,20 * * * bash /backup.sh >> /var/log/cronj.log 2>&1' > /etc/cron.d/backups \
|
&& echo '0 4,8,12,16,20 * * * bash /backup.sh >> /var/log/cronj.log 2>&1' > /etc/cron.d/backups \
|
||||||
&& echo '' >> /etc/cron.d/backups \
|
&& echo '' >> /etc/cron.d/backups \
|
||||||
&& chmod 0644 /etc/cron.d/backups \
|
&& chmod 0644 /etc/cron.d/backups \
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
b=$(date +%Y%m%d%H%M%S)
|
||||||
|
mkdir -p /mnt/save/$b
|
||||||
|
pg_dump $DATABASE_URL --clean > /mnt/save/$b/pg.dump \
|
||||||
|
|| (
|
||||||
|
rm -rf /mnt/save/$b
|
||||||
|
echo "backup failed; deleting $b"
|
||||||
|
exit 1
|
||||||
|
)
|
||||||
|
if du -sh /mnt/save/$b | grep -Ei "^[ ]*(4|20).0K"; then
|
||||||
|
rm -rf /mnt/save/$b
|
||||||
|
echo rm empty backup $b
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
for b in $(find /mnt/save -type f | sort | tail -n 1); do
|
||||||
|
if [ -n "$b" ]; then
|
||||||
|
echo restoring $b
|
||||||
|
if psql $DATABASE_URL < "$b"; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
service postgresql start
|
||||||
Loading…
Reference in New Issue