mirror of
https://github.com/ViViDboarder/hassio-addon-rclone.git
synced 2024-12-22 03:27:44 +00:00
Fix protected file filter variable
The filter was only being set during schedule creation. This meant that no new files created since scheduling the task would be included. To avoid this, the rclone command is now built when the task is run instead via a new script.
This commit is contained in:
parent
e5b0ae6160
commit
de4b02dae7
@ -8,19 +8,5 @@ bashio::config.require.password 'credentials.password'
|
||||
bashio::config.suggest.true 'tls.ssl'
|
||||
bashio::config.require.ssl 'tls' 'tls.certfile' 'tls.keyfile'
|
||||
|
||||
SYNC_COMMAND=$(bashio::config 'sync_command')
|
||||
DESTINATION=$(bashio::config 'destination')
|
||||
|
||||
USERNAME=$(bashio::config 'credentials.username')
|
||||
PASSWORD=$(bashio::config 'credentials.password')
|
||||
|
||||
FILTER='{"IncludeRule": ["*.tar"]}'
|
||||
if bashio::config.true 'protected_only'; then
|
||||
FILTER="{\"IncludeRule\": $(find /backup -name "*.tar" -exec tar -xOf "{}" ./backup.json \;| jq -sc 'map(select(.protected) | "/backup/\(.slug).tar")')}"
|
||||
FILTER=
|
||||
fi
|
||||
|
||||
command="rclone rc --user \"$USERNAME\" --pass \"$PASSWORD\" sync/$SYNC_COMMAND srcFs=/backup dstFs=$DESTINATION _async=true _filter='$FILTER'"
|
||||
|
||||
echo "$(bashio::config 'cron') $command" >> /etc/crontabs/root
|
||||
echo "$(bashio::config 'cron') /run_rclone.sh" >> /etc/crontabs/root
|
||||
crontab -l
|
||||
|
18
rclone/rootfs/run_rclone.sh
Executable file
18
rclone/rootfs/run_rclone.sh
Executable file
@ -0,0 +1,18 @@
|
||||
#! /usr/bin/with-contenv bashio
|
||||
|
||||
bashio::log.info "Running rclone..."
|
||||
|
||||
SYNC_COMMAND=$(bashio::config 'sync_command')
|
||||
DESTINATION=$(bashio::config 'destination')
|
||||
|
||||
USERNAME=$(bashio::config 'credentials.username')
|
||||
PASSWORD=$(bashio::config 'credentials.password')
|
||||
|
||||
set +x
|
||||
|
||||
FILTER='{"IncludeRule": ["*.tar"]}'
|
||||
if bashio::config.true 'protected_only'; then
|
||||
FILTER="{\"IncludeRule\": $(find /backup -name "*.tar" -exec tar -xOf "{}" ./backup.json \;| jq -sc 'map(select(.protected) | "/backup/\(.slug).tar")')}"
|
||||
fi
|
||||
|
||||
rclone rc --user "$USERNAME" --pass "$PASSWORD" "sync/$SYNC_COMMAND" srcFs=/backup "dstFs=$DESTINATION" _async=true _filter="$FILTER"
|
Loading…
Reference in New Issue
Block a user