smbwatch
smbwatch copied to clipboard
Add id column for easier file retrieval
Das Hinzufügen einer id kann genutzt werden um z.B. mittels eines Skriptes einzelne Dateien herunterzuladen. Aktuell muss dazu erst eine ID hinzugefügt werden. Dann kann z.B. mittels DB Browser for SQLite die Datenbank untersucht werden und einzelne Dateien können über die ID vom Ziel abgerufen werden. Der Abruf auf Anfrage könnte auch direkt in smbwatch integriert werden.
Hinzufügen einer id (ja alle Daten sind dann erstmal doppelt vorhanden)
CREATE TABLE files_id (
id integer primary key autoincrement,
server text,
sharename text,
name text,
path text,
extension text,
size int,
modified_at datetime,
mode int);
INSERT INTO files_id(server, sharename, name, path, extension,size, modified_at,mode)
SELECT server, sharename, name, path, extension,size, modified_at,mode
FROM files;
Script to fetch file
fetch.sh
#!/bin/bash
# yes this is a little ugly
domain=
user=
password=
db="sqlite.db"
tmpdir=tmp
server=`sqlite3 "$db" "SELECT server FROM files_id WHERE id=$1;"`
sharename=`sqlite3 "$db" "SELECT sharename FROM files_id WHERE id=$1;"`
path=`sqlite3 "$db" "SELECT path FROM files_id WHERE id=$1;" | tr '\' '/'`
name=`sqlite3 "$db" "SELECT name FROM files_id WHERE id=$1;"`
if [[ "$path" == "." ]]
then
path=""
fi
mkdir -p "$tmpdir"
echo "smbget -U \"$domain/$user%$password\" 'smb://$server/$sharename/$path/$name'" >&2
cd "$tmpdir"
smbget -U "$domain/$user%$password" "smb://$server/$sharename/$path/$name"
cat "'$tmpdir/$name'"