Added backup scripts
This commit is contained in:
parent
4160f106b3
commit
3342da0c94
18
backup/Dockerfile
Normal file
18
backup/Dockerfile
Normal file
|
@ -0,0 +1,18 @@
|
|||
FROM alpine:3.10
|
||||
|
||||
# install dependencies
|
||||
RUN apk add restic
|
||||
RUN apk add curl
|
||||
|
||||
# install rclone
|
||||
RUN curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip &&\
|
||||
unzip rclone-current-linux-amd64.zip &&\
|
||||
cd rclone-*-linux-amd64 &&\
|
||||
cp rclone /usr/bin/ &&\
|
||||
chown root:root /usr/bin/rclone &&\
|
||||
chmod 755 /usr/bin/rclone
|
||||
|
||||
COPY restic_backup.sh /usr/bin/
|
||||
RUN chmod +x /usr/bin/restic_backup.sh
|
||||
|
||||
ENTRYPOINT ["restic_backup.sh"]
|
9
backup/backup.env
Normal file
9
backup/backup.env
Normal file
|
@ -0,0 +1,9 @@
|
|||
RETENTION_DAYS=7
|
||||
RETENTION_WEEKS=4
|
||||
RETENTION_MONTHS=6
|
||||
RETENTION_YEARS=3
|
||||
BACKUP_PATHS=/mnt/backup/
|
||||
RESTIC_REPOSITORY=rclone:hubic:TestBackup
|
||||
RESTIC_PASSWORD=testbackup
|
||||
RESTIC_PARAMS=--exclude-file /mnt/restic-exclude
|
||||
RCLONE_CONFIG=/mnt/rclone.conf
|
5
backup/restic_backup.sh
Normal file
5
backup/restic_backup.sh
Normal file
|
@ -0,0 +1,5 @@
|
|||
#!/bin/sh
|
||||
restic snapshots > /dev/null || restic init || exit 0
|
||||
restic backup $RESTIC_PARAMS $BACKUP_PATHS || exit 0
|
||||
restic forget --verbose --group-by "paths,tags" --keep-daily $RETENTION_DAYS --keep-weekly $RETENTION_WEEKS --keep-monthly $RETENTION_MONTHS --keep-yearly $RETENTION_YEARS
|
||||
|
11
backup/run_backup.sh
Executable file
11
backup/run_backup.sh
Executable file
|
@ -0,0 +1,11 @@
|
|||
#!/bin/sh
|
||||
|
||||
docker build -t backup . --network=host
|
||||
docker run \
|
||||
--env-file=./backup.env \
|
||||
-v /tmp/test/:/mnt/backup/ \
|
||||
-v /tmp/test/restic-exclude.txt:/mnt/restic-exclude \
|
||||
-v /tmp/test/rclone.conf:/mnt/rclone.conf \
|
||||
-v /tmp/logs/:/mnt/logs/ \
|
||||
--network=host \
|
||||
backup
|
Loading…
Reference in New Issue
Block a user