Inhaltsverzeichnis

push_murmur.sh

Dieses Script wird verwendet, um die aktuelle Datenbank meines Mumble-Servers aus dem letzten lokalen Backup von zuhause aus auf den Ersatz-Server halbautomatisiert hochzuladen und vorher mehrere Einstellungen zu ändern.

Beim nächsten Ausfall haben wir also sehr einfach direkt den aktuellen Server auf dem Backup-vServer drauf :)

Ablauf

  1. Das letzte lokale Backup des aktuellen Hauptservers wird temporär kopiert und einige Einstellungen in der Datenbank geändert, unter anderem der Servername.
  2. Danach werden veraltete Einträge aus der Datenbank entfernt um die Dateigröße zu minimieren (vacuum).
  3. Der Backup-Mumble-Server wird gestoppt.
  4. Die veränderte lokale Datenbank wird hochgeladen und per chown dem zukünftigen Eigentümer zugeteilt.
  5. Der Server wird im Kontext des entsprechenden Benutzers gestartet.

Die Ausgabe des Scripts ist dann folgende:

push_murmur.sh push
First step is to copy the backuped database into a temporary directory on your local host. Press Enter.
Copied database to temporary directory.
Next steps are text replacements for the temporary database. Press Enter.
OK - Replaced registerpasswort to not let the backup server appear in the serverlist :)
OK - Replaced registername into the backup server name.
OK - Replaced the welcometext message.
OK - Cleaned the database (vacuum).
Next step is to kill the running murmur server on the remote host. Press Enter.
OK - Killed murmur.x86.
Next step is to upload the database to the remote host. Press Enter. 
murmur.sqlite                                                                                                                                                  100% 4510KB   1.1MB/s   1.6MB/s   00:04    
OK - Finished database uploading.
Next steps are chown the new database and starting the murmur server. Press Enter.
OK - chowned database on remote host and startet murmur server.
Next step is to remove temporarily created files on your local host.
rm: descend into directory `/tmp/8743'? y
rm: remove regular file `/tmp/8743/murmur.sqlite'? y
rm: remove directory `/tmp/8743'? y
OK - Removed temporary files.
Bye :)

Beim Aufruf ohne „push“ werden die aktuellen Einstellungen ausgegeben.

Das Script

Das Script gibt es bei GitHub: https://github.com/Natenom/shell-scripts/blob/master/mumble/push_murmur.sh.