rclone


Configuration and data

  1. config on host at ~/config/rclone/rclone.conf
  2. data on host at ~/data

Add a remote interactively

docker run --rm -it \
    --volume ~/.config/rclone:/config/rclone \
    --user $(id -u):$(id -g) \
    rclone/rclone \
    config

Make sure the config is ok by listing the remotes

docker run --rm \
    --volume ~/config/rclone:/config/rclone \
    --user $(id -u):$(id -g) \
    rclone/rclone \
    listremotes

Backup multiples directories

docker run --rm \
    --entrypoint sh \
    --volume ~/config/rclone:/config/rclone \
    --volume ~/data:/data:ro \
    --user $(id -u):$(id -g) \
    rclone/rclone \
    -c 'NOW=$(date +%Y%m%d_%H%M%S); YEAR=$(date +%Y); MONTH=$(date +%m); \
    tar -czf - \
    /data/workspace \
    /data/ha_temp_sensor.py \
    /data/docker-data/config \
    /data/docker-data/docker-compose.yml \
    /data/docker-data/data/influxdb \
    /data/docker-data/data/mqtt | rclone rcat --config /config/rclone/rclone.conf backups:backup/raspberrypi01/data/$YEAR/$MONTH/backup_$NOW.tar.gz --size-only'

Retention policy

docker run --rm --volume ~/config/rclone:/config/rclone --user $(id -u):$(id -g) rclone/rclone delete backups:dir1/sub/data/ --min-age 90d >> /var/log/rclone_retention.log 2>&1