OwnCloud aktualisieren

Ich mag die OwnCloud wirklich sehr und nutze sie nicht nur, um Dateien mit anderen Personen zu teilen. Ich synchronisierte damit zwischen verschiedenen Geräten, verwalte meine Kalender und meine Kontakte. Hier und da zwickt es manchmal, aber insgesamt bin ich sehr zufrieden. Was jedoch ganz ganz dolle zwickt, dass ist der Updatevorgang. Der funktionierte zumindest bei meiner Installation noch nie. Nicht ein einziges Mal. Da wünscht man sich so eine einfache Lösung, wie sie Worpress realisiert hat. Alles geschieht automatisch, ohne eigenes Zutun.

Mein Updatevorgang sieht so aus, dass ich das aktuell Tar-Archiv via wget vom Server lade und in meine bestehende Installation entpacke. Danach rufe ich meine OwnCloud im Browser auf, woraufhin die Updateprozedur startet. Danach sind dann immer die Module Kalender und Kontakte deaktivert (warum auch immer!), die ich dann also manuell wieder aktiviere. Viel nerviger ist jedoch die Meldung der Integritätsprüfung, denn meist gibt es einen ganzen Haufen nicht mehr benötigter Dateien. Die Art der Auflistung macht es einem nicht gerade leicht, die Dateien schnell mal selbst zu löschen. Und automatisch geht das schon mal gar nicht.

Ich habe mir dafür heute ein kleines Shellskript geschrieben. Es ermittelt die nicht mehr benötigten Dateien und löscht sie. Ein Backup ist natürlich Pflicht – muss ich das noch extra erwähnen? Hier die Ausgabe vom Lauf vorhin:

Integritaetstest wird durchgefuehrt ...
  App activity
  App calendar
  App comments
  App configreport
  App contacts
  App dav
  App federatedfilesharing
  App federation
  App files
  App files_pdfviewer
  App files_sharing
  App files_texteditor
  App files_trashbin
  App files_videoplayer
  App firstrunwizard
  App gallery
  App notifications
  App provisioning_api
  App systemtags
  App templateeditor
  App updatenotification
  App encryption
  App external
  App files_antivirus
  App files_external
  App files_versions
  App user_external
  App user_ldap
  Core App
... fertig
10 nicht mehr benoetigte Dateien werden geloescht ...
  owncloud/build/documentation/reports/index.html
  owncloud/.github/issue_template.md
  owncloud/.github/pull_request_template.md
  owncloud/.github/CONTRIBUTING.md
  owncloud/vendor/symfony/yaml/.gitignore
  owncloud/.gitmodules
  owncloud/l10n/.gitkeep
  owncloud/3rdparty/.gitignore
  owncloud/3rdparty/icewind/streams/.gitignore
  owncloud/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/.gitignore
... fertig

Falls Du Deine OwnCloud ähnlich oder genauso umständlich aktualisierst, dann hilft Dir das Shellskript ja vielleicht weiter:

#!/bin/bash
 
DIR_OC=/PFAD/ZUR/OWNCLOUD
EXE_PHP=/usr/bin/php
EXE_OCC=$DIR_OC/occ
FILE_LST=$(mktemp)

msg() {
  echo "$1"
  [ "$2" = "exit" ] && exit 1
}

[ -x "$EXE_OCC" ] || msg "$DIR_OC ist kein gueltiges OwnCloud Verzeichnis" exit

echo "Integritaetstest wird durchgefuehrt ..."
for app in $($EXE_PHP $EXE_OCC app:list | grep -E "^  - " | cut -c5- | cut -d":" -f1); do
  msg "  App $app"

  for entry in $($EXE_PHP $EXE_OCC integrity:check-app $app | xargs -n 1 | grep -Ev "(-$|current:|expected:)" | sed "s/:$//g"); do
    [ -f "$DIR_OC/apps/$app/$entry" ] || continue
    echo "$DIR_OC/apps/$app/$entry" >> $FILE_LST
  done
done

msg "  Core App"
for entry in $($EXE_PHP $EXE_OCC integrity:check-core | xargs -n 1 | grep -Ev "(-$|current:|expected:)" | sed "s/:$//g"); do
  [ -f "$DIR_OC/$entry" ] || continue
  echo "$DIR_OC/$entry" >> $FILE_LST
done

msg "... fertig"
echo "$(cat $FILE_LST | wc -l) nicht mehr benoetigte Dateien werden geloescht ..."

while read entry; do
  rm $entry || msg "Fehler beim Loeschen der Datei $DIR_OC/$entry" exit
  msg "  $entry"
done < $FILE_LST
msg "... fertig"

rm -f $FILE_LST

1 Gedanke zu “OwnCloud aktualisieren

Schreibe einen Kommentar