diff --git a/modules/fileserver.nix b/modules/fileserver.nix index c23f5a1..f630a05 100644 --- a/modules/fileserver.nix +++ b/modules/fileserver.nix @@ -317,8 +317,13 @@ /data/daten/DJing/Data/MusicLibrary.db; do [ -f "$db" ] || continue out="$SNAP/$(echo "$db" | sed 's#^/data/##; s#/#_#g')" - ${pkgs.sqlite}/bin/sqlite3 "$db" ".timeout 15000" ".backup '$out'" \ - || echo "WARN: snapshot of $db failed" >&2 + # Echtes SQLite -> konsistentes .backup. Andernfalls (filebrowser + # nutzt z.B. BoltDB) oder bei Sperre auf eine Rohkopie zurückfallen. + if ${pkgs.sqlite}/bin/sqlite3 "$db" ".timeout 15000" ".backup '$out'" 2>/dev/null && [ -s "$out" ]; then + : + else + cp -f "$db" "$out" || echo "WARN: snapshot of $db failed" >&2 + fi done ${pkgs.rclone}/bin/rclone sync /data gdrive:backup-daten \