From 7f947af49e79e3a39cf7f0de2f2f3dab269e53b1 Mon Sep 17 00:00:00 2001 From: Newnius Date: Fri, 10 May 2019 13:47:39 +0800 Subject: [PATCH] add rclone --- rclone/Dockerfile | 12 ++++++++++++ rclone/README.md | 32 ++++++++++++++++++++++++++++++++ rclone/bootstrap.sh | 7 +++++++ rclone/sync.sh | 16 ++++++++++++++++ 4 files changed, 67 insertions(+) create mode 100644 rclone/Dockerfile create mode 100644 rclone/README.md create mode 100755 rclone/bootstrap.sh create mode 100755 rclone/sync.sh diff --git a/rclone/Dockerfile b/rclone/Dockerfile new file mode 100644 index 0000000..a37ed1e --- /dev/null +++ b/rclone/Dockerfile @@ -0,0 +1,12 @@ +FROM debian:9-slim + +MAINTAINER Newnius + +RUN apt-get update && apt-get install curl unzip man-db -y && \ + curl https://rclone.org/install.sh | bash && \ + rm -rf /var/lib/apt/lists/* + +ADD bootstrap.sh /etc/bootstrap.sh +ADD sync.sh /etc/sync.sh + +CMD ["/etc/bootstrap.sh"] diff --git a/rclone/README.md b/rclone/README.md new file mode 100644 index 0000000..266ddcd --- /dev/null +++ b/rclone/README.md @@ -0,0 +1,32 @@ +# Deploy rclone in docker + +## Deploy + +```bash +docker run \ + --name rclone \ + -d \ + --restart always \ + --cpus 0.2 \ + --mount type=bind,src=/etc/localtime,dst=/etc/localtime,readonly \ + --mount type=bind,src=/data/,dst=/data,readonly \ + --mount type=bind,src=/home/rclone/,dst=/root/ \ + newnius/rclone +``` + +## Add remote + +```bash +docker exec -it rclone rclone config +``` + +## Sync + +Rewrite file `/home/rclone/sync.sh` and restart the rclone container, done! + +## Reference + +[Install | rclone](https://rclone.org/install/) + +[ncw/rclone](https://github.com/ncw/rclone) + diff --git a/rclone/bootstrap.sh b/rclone/bootstrap.sh new file mode 100755 index 0000000..ec9b513 --- /dev/null +++ b/rclone/bootstrap.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +if [[ ! -f /root/sync.sh ]]; then + cp /etc/sync.sh /root/sync.sh +fi + +bash /root/sync.sh diff --git a/rclone/sync.sh b/rclone/sync.sh new file mode 100755 index 0000000..fd9d3ed --- /dev/null +++ b/rclone/sync.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +# put your own backup strategy here. +# such as backup the whole data once a day, +# or sync at real time + +while true; do + + # rclone sync /data/ dropbox:/ --local-no-check-updated --ignore-size --ignore-checksum + # echo "synced at $(date)" + + echo 'rewrite file /root/sync.sh to enable sync' + + sleep 30 + +done