Benötige Hilfe mit Bash Skript


hawihoney
Go to solution Solved by alturismo,

Recommended Posts

Nach dutzenden erlernten und im professionellen Einsatz genutzten Programmiersprachen scheitere ich doch immer wieder am Einfachsten. Ich will für einen anderen User hier ein Beispiel-Skript zur Sicherung der relevanten Daten aus Plex erstellen. Ich bekomme das einfach nicht ans Laufen. Könnte uns bitte jemand helfen?

 

Der Fehler:

 

root@Tower:/mnt/disk17/Temp# ls -lisa
total 16
  4124832 0 drwxrwxrwx  2 nobody users   55 Jan  8 09:35 ./
       96 4 drwxrwxrwx 25 nobody users 4096 Dec 26 09:59 ../
448808258 4 -rwxrwxrwx  1 nobody users 1327 Jan  8 09:06 bla*
452640573 4 -rwxrwxrwx  1 nobody users 1253 Jan  8 09:36 bla.txt*
root@Tower:/mnt/disk17/Temp# ./bla
-bash: ./bla: cannot execute: required file not found

 

Das Skript (noch nicht fertig/getestet). Ich habe noch Probleme mit der Variablen Substitution. Es klappt offenbar nicht immer Skript läuft jetzt:

 

#!/bin/bash
#arrayStarted=true
#backgroundOnly=true
#clearLog=true
#noParity=true

today=$(date +"%Y%m%d %H%M%S")

###
### Achtung: An Deine Pfade anpassen
###
plex_root="/mnt/pool_nvme/system/appdata/plex/Library/Application Support/Plex Media Server"
plex_backup_root="/mnt/disk1/Backup/Plex"

###
### Ab hier nicht mehr anpacken
###

plex_database="$plex_root/Plug-in Support/Databases/com.plexapp.plugins.library.db"
plex_database_blobs="$plex_root/Plug-in Support/Databases/com.plexapp.plugins.library.blobs.db"
plex_preferences="$plex_root/Preferences.xml"

# Hier landen Datenbank Backups und Dumps
plex_database_backup="$plex_backup_root/Database"

# Hier werden die Plex Einstellungen archiviert
plex_preferences_backup="$plex_backup_root/Preferences"

# Hier wird der Watched State - die angeschauten Inhalte - gespeichert
plex_watched_backup="$plex_backup_root/Watched"

mkdir -p "$plex_backup_root"
mkdir -p "$plex_database_backup"
mkdir -p "$plex_preferences_backup"
mkdir -p "$plex_watched_backup"

docker stop plex

cp "$plex_database" "$plex_database_backup/$today com.plexapp.plugins.library.db"
cp "$plex_database_blobs" "$plex_database_backup/$today com.plexapp.plugins.library.blobs.db"

cp "$plex_preferences" "$plex_preferences_backup/$today Preferences.xml"

echo ".dump metadata_item_settings" | sqlite3 "$plex_database" | grep -v TABLE | grep -v INDEX > "$plex_watched_backup/$today watched.sql"

echo ".dump" | sqlite3 "$plex_database" > "$plex_database_backup/$today dump.sql"

docker start plex

 

Vielen Dank.

 

Edited by hawihoney
Link to comment
  • Solution
1 hour ago, hawihoney said:

Könnte uns bitte jemand helfen?

wenn du das an einem win Rechner gemacht hast, mach mal nano bla und schau es dir im linux editor an oder nimm notepad++ und unten rechts setzt du auf unix, gern genommener Fehler wo das produziert.

 

vielleicht auch nur ein leerzeichen am Ende von #!/bin/bash

Link to comment
7 hours ago, mgutt said:

Warum sicherst du nicht einfach den kompletten appdata-Share inkrementell?

 

Mach ich zusätzlich 1x wöchentlich.

 

7 hours ago, mgutt said:

Und warum nur die Datenbank und nicht den Rest wie zB die Video Vorschaubilder?

 

Alle fanart.jpg, folder.jpg und *.xml von Filmen, Serien, Episoden, Interpreten und Alben sowie Bildern liegen beim Content im Ordner. Muss ja nicht immer bei Plex bleiben.

 

7 hours ago, mgutt said:

Warum der Dump von der Datenbank, wenn man die Datenbank-Datei sowieso sichert?

 

Wenn Du Plex nicht oft nutzt, dann merkst Du einen Fehler in der Datenbank-Datei nicht und sicherste die defekte Datei lustig immer weiter. Im Dump gibt es nie Fehler und Du kannst nach einem Repair Schritt einzelne Tabellen mit Inhalten nachfüllen.

 

***Nachtrag***: Selbst wenn alles kaputt ist und Du Plex neu aufbauen musst, kannst Du z.B. mit dem Watched-State Deine Historie in eine neue Datenbank einspielen.

Edited by hawihoney
  • Thanks 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.