From fa1994033566bb28e9d8da7511be4c25b557ad8c Mon Sep 17 00:00:00 2001 From: Jonathan Ervine Date: Mon, 16 Mar 2020 21:33:06 +0800 Subject: [PATCH] modified: Dockerfile modified: start.sh Added loop to start.sh script --- Dockerfile | 4 ++-- start.sh | 18 +++++++++++++++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index fd390ae..05da303 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,8 +16,8 @@ ENV LANG='en_US.UTF-8' \ RUN echo http://dl-4.alpinelinux.org/alpine/edge/testing >> /etc/apk/repositories && \ apk -U update && \ apk -U upgrade && \ - apk -U add nfs-utils e2fsprogs && \ -# rm -rf /tmp/src && \ + apk -U add nfs-utils e2fsprogs util-linux&& \ + rm -rf /tmp/src && \ rm -rf /var/cache/apk/* COPY start.sh /usr/local/bin/start.sh diff --git a/start.sh b/start.sh index 8e91516..77fe5a4 100644 --- a/start.sh +++ b/start.sh @@ -3,4 +3,20 @@ ## Script to automate the copy of Sonarr databases ## echo -e 'Starting the sidecar container to periodically backup the sonarr databases' -sleep 3600 +echo -e 'Create the ramdisk file' +dd if=/dev/zero of=/ramdisk/image.ext4 count=0 bs=1 seek=400M +echo -e 'Create filesystem on ramdisk file' +mkfs.ext4 /ramdisk/image.ext4 +echo -e 'Mount the ramdisk file to /mnt/sonarr-ramdisk-mount' +mount /ramdisk/image.ext4 /mnt/sonarr-ramdisk-mount +echo -e 'Copy the config from the remote share to the ramdisk' +cp -fvp /config/*.* /mnt/sonarr-ramdisk-mount +echo -e 'Set up the filesystem freeze, copy, unfreeze loop' +while true; do + sleep 890 + sync /mnt/sonarr-ramdisk-mount/*.* + fsfreeze --freeze /mnt/sonarr-ramdisk-mount + sleep 10 + cp -fvp /mnt/sonarr-ramdisk-mount/*.* /config/ + fsfreeze --unfreeze /mnt/sonarr-ramdisk-mount +done