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

Lange Listen sind lang

Was mir kürzlich bewusst wurde: Meine Aufgabenliste wächst. Wobei Aufgabenliste eigentlich nicht das richtige Wort ist. Es ist vielmehr eine Ansammlung von Aufgaben, Ideen, Wünschen und Stichworten, um sich später an etwas zu erinnern, kleinen und grossen Zielen, die meist jedoch nur schwammig und sehr kurz beschrieben sind. Also mehr so ein Sammelsurium von allem, was mir durch den Kopf schwirrt und in gewisser Weise wichtig für mich ist.

Die Liste wächst stetig an und wird damit immer unübersichtlicher, weil nicht sofort erkennbar ist, ob ein Eintrag nun eine konkrete Aufgabe, ein gross gestecktes Ziel oder bloss ein flüchtiger Gedanke ist, der schon bald wieder aus der Liste verschwindet oder aber fortgeführt wird und die Liste weiter anwachsen lässt. Ich schreibe mir die Dinge auf, wenn sie mir wichtig erscheinen und ich sie nicht aus den Augen verlieren möchte. Doch das nicht-aus-den-Augen-verlieren funktioniert immer schlechter, je länger die Liste wird.

Mit der Getting Things Done Methode habe ich mich schon vor einigen Jahren beschäftigt, das Buch Wie ich die Dinge geregelt kriege von David Allen gelesen und mir die Software MyLifeOrganized zugelegt, mit der man diese Methode sehr gut umsetzen kann. Doch leider gibt es die Software nicht für Linux, was auch der eigentliche Grund dafür ist, dass ich sie seit längerer Zeit nicht mehr einsetze. Ein weiterer Grund ist, dass die Software die Daten in der Cloud speichert. Zumindest dann, wenn man die Software auf mehreren Geräten betreibt und diese synchron halten möchte. Und das möchte ich. Denn wann immer mir etwas durch den Kopf schiesst, möchte ich es notieren können. Egal, ob ich gerade unterwegs bin, im Büro sitze oder daheim am Rechner.

Bisher habe ich diese Liste in meiner OwnCloud mit installierter Tasks App gepflegt. Auf die OwnCloud, die ich selber hoste, kann ich mit jedem Webbrowser zugreifen und unterwegs nutze ich die Android App Open Tasks. Doch leider sind die Möglichkeiten im Vergleich zu MyLifeOrganized sehr begrenzt und ermöglichen auch nicht die Umsetzung der Getting Things Done Methode. Mit dem neuen Bewusstsein der stetig wachsenen Liste wurde mir klar, dass eine einfache Liste nicht mehr ausreicht und eine neue Lösung her muss. Denn nur so lassen sich konkrete Aufgaben von allen anderen Gedanken trennen. Und nur so wird der Kopf frei, ohne das unsichere Gefühl, doch etwas Wichtiges zu übersehen.

Nachdem ich mir mehrere freie Software Lösungen angesehen habe, die meinen Bedürfnissen aber alle nicht gerecht werden, bin ich den Kompromiss eingegangen, meine Daten vielleicht doch der Cloud zu überlassen und auf propritäre Software zu setzen (das ist für einen Linuxianer kein kleiner Schritt, glaubt mir). So stiess ich bei meinen Recherchen auf Nirvana, die mich mit ihrer Android App zu einem ausführlicheren Test überzeugen konnten. Doch richtig überzeugen konnten sie mich nicht, was unter anderem auch daran lag, dass es noch ein recht junges Unternehmen ist.

Um es kurz zu machen: Ich möchte MyLifeOrganized noch mal eine Chance geben. Schliesslich besitze ich die Software bereits, habe mich darin eingearbeitet, bin damit soweit auch zufrieden und vor allem vertraue ich dem Unternehmen. Denn dieses Unternehmen beschäftigt sich schon sehr lange mit dem Thema. Das ändert jedoch nichts daran, dass sie Linux als Betriebsystem nicht unterstützen. Und so habe ich mich schweren Herzens für einen Ausflug in die wine Welt entschieden. Und tatsächlich gelang es mir, die Software zum Laufen zu überreden! Wie mir das gelungen ist – nach vielen Versuchen – werde ich demnächst in einem eigenen Artikel beschreiben. Wenn die Software einwandfrei unter Linux läuft. Und das teste ich gerade.

Das Beitragsbild stammt von Alexandre Dulaunoy.