diff --git a/sync.sh b/sync.sh index 55f3b06..638678e 100644 --- a/sync.sh +++ b/sync.sh @@ -19,9 +19,10 @@ function main() { local action="$1" shift case "$action" in - backup ) backup "$@" ;; - restore ) restore "$@" ;; - * ) RESTIC "$action" "$@" ;; + clean ) clean_remote --prune "$@" ;; + backup ) backup "$@" ;; + restore ) restore "$@" ;; + * ) RESTIC "$action" "$@" ;; esac } @@ -85,8 +86,8 @@ function backup() { -e "**.sw*" \ --tag "${real#$HOME/}" \ $real - RESTIC forget --keep-last 2 --group-by host,tags #--prune done + clean_remote } function restore() { @@ -106,6 +107,11 @@ function restore() { mv $HOME/$path $HOME/$path-old mv $HOME/$path-restore $HOME/$path done + clean_remote --prune +} + +function clean_remote() { + RESTIC forget --keep-last 2 --group-by host,tags "$@" } function RCLONE() {