dotfiles

Repositório dotfiles
git clone git://git.sivaldodavi.com/dotfiles.git
Log | Files | Refs | README

commit c01569e1565ddfc7c394ada6a61e73be4bf5629c
parent 0a6a240dcbc3e95b4a907dd1de06e52ce57a5149
Author: Sivaldo <gxixtx@xsxixvxaxlxdxoxdxaxvxix.xcxoxm>
Date:   Tue, 30 Jun 2026 21:16:49 -0300

fix(backup): adicionar modo estrito e validacao para caminhos ausentes

Diffstat:
M.local/bin/backup | 16+++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/.local/bin/backup b/.local/bin/backup @@ -1,5 +1,7 @@ #!/bin/sh +set -eu + # --- Configurações XDG --- XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}" XDG_DOCUMENTS_DIR="${XDG_DOCUMENTS_DIR:-$HOME/documents}" @@ -71,11 +73,18 @@ for entry; do loc="${entry#*:}" if [ "$ACTION" = "push" ]; then + # Ignora e pula a pasta se ela não existir localmente + if [ ! -d "$loc" ]; then + echo "Aviso: Diretório local '$loc' não existe. Ignorando push..." + continue + fi + rclone sync "$loc" "$REMOTE:$rem" \ --delete-excluded \ --backup-dir="$REMOTE:trash/$(date +%Y-%m-%d)/$rem" \ -P else + # No pull, cria o diretório local se não existir para receber os arquivos mkdir -p "$loc" rclone sync "$REMOTE:$rem" "$loc" -P fi @@ -85,7 +94,12 @@ done BOOKMARKS_LOC="$XDG_DATA_HOME/bookmarks" if [ "$ACTION" = "push" ]; then - [ -f "$BOOKMARKS_LOC" ] && rclone copyto "$BOOKMARKS_LOC" "$REMOTE:bookmarks" -P + # Só faz o rclone copyto se o arquivo de bookmarks realmente existir localmente + if [ -f "$BOOKMARKS_LOC" ]; then + rclone copyto "$BOOKMARKS_LOC" "$REMOTE:bookmarks" -P + else + echo "Aviso: Arquivo de bookmarks '$BOOKMARKS_LOC' não encontrado. Ignorando push..." + fi else mkdir -p "$(dirname "$BOOKMARKS_LOC")" rclone copyto "$REMOTE:bookmarks" "$BOOKMARKS_LOC" -P