Backup von Apple Erinnerungen und Notizen erstellen
Wenn du, wie ich, dein halbes Gehirn in die Apps „Erinnerungen“ und „Notizen“ von Apple ausgelagert hast, ist dir vielleicht schonmal der Gedanke gekommen dass diese Daten sehr wertvoll und wichtig sind und dass auch Apple eventuell mal ein Unfall – sei es ein menschlicher Fehler oder eine Naturgewalt – passieren kann. Dann wären die Daten im schlimmsten Fall weg – und dann?
Eine Export- oder Backup-Funktion bieten beide Apps leider genauso wenig wie die iCloud an sich. Die Funktion „Kopie meiner Daten anfordern“ existiert zwar, jedoch ist sie nicht wirklich für ein regelmäßiges Backup geeignet – vergehen doch allein 4 bis 5 Werktage bis die angeforderten Daten auch heruntergeladen werden können. Nach eigener Erfahrung enthalten die heruntergeladenen Daten auch nicht immer die aktuellen Erinnerungen (auch nicht die zum Zeitpunkt der Anforderung).
Zum Glück gibt es ja mein geliebtes „Kurzbefehle“ Programm von Apple. Hier können auch Daten aus den Apps „Erinnerungen“ und „Notizen“ abgerufen werden. Also habe ich mich mal daran gemacht damit ein Backup-Script zu schreiben.
Contents
Backup Kurzbefehl für Erinnerungen
Der Kurzbefehl ist recht lang geworden. Du kann es dir hier herunterladen und installieren. Es kommt ohne externe Dienste oder Programme aus und läuft rein lokal. Ich habe auch Kommentare eingebaut so dass du dir den Aufbau ansehen und verstehen kannst.
Der Kern besteht darin die Erinnerungen suchen Funktion mit einem kleinen Trick dazu zu bringen ALLE Erinnerungen zusammenzusuchen und auszugeben. Jede Erinnerung wird dann in ein sogenanntes Wörterbuch übertragen mit dem man flexibel weiterarbeiten kann.
Das Ergebnis des Kurzbefehls ist eine JSON Datei welche ALLE Erinnerungen (auch die erledigten) enthält. Zudem sind auch alle Bilder enthalten, welche an irgendwelchen Erinnerung anhängen. Hier könntest du die Datenmenge bei Bedarf noch einschränken, indem du bei dem ersten Schritt Erinnerungen suchen die Filter veränderst und z.B. „nur unerledigte“ ausgeben lässt. Die Zuordnung der Bilder zu den einzelnen Erinnerungen erfolgt über den Dateinamen, welcher auch in der JSON Datei hinterlegt ist.
Was wird exportiert, was nicht?
Die meisten Angaben aus den Erinnerungen können glücklicherweise exportiert werden, aber ein paar wenige werden leider von der „Kurzbefehle“ App nicht unterstützt:
✅ Titel
✅ Notizen
✅ Priorität
✅ Fälligkeitsdatum / -Zeit
✅ Erinnerungs-Ort
✅ Ende-Datum
✅ URL
✅ Bilder
✅ Unteraufgaben
✅ Listenname
✅ Ist geflagged
✅ Ist erledigt
✅ Hat Wecker
✅ Tags
✅ Erstellungsdatum
✅ Datum letzte Änderung
⛔️ Wiederholung
⛔️ Erinnerungen bei Chat mit bestimmten Personen (hier hängt sich das Script einfach auf 🤷🏻♂️)
⛔️ Zusammenfassung der Listen in Ordner
Backup Kurzbefehl für Notizen
Das Backup Kurzbefehl für Apples „Notizen“ App kommt ebenfalls ohne externe Dienste oder Programme aus und läuft rein lokal. Ich habe auch Kommentare eingebaut so dass du dir den Aufbau ansehen und verstehen kannst. Das Script ist sehr viel kürzer als für die Erinnerungen, was leider einfach daran liegt, dass weniger Möglichkeiten über die „Kurzbefehle“ App zur Verfügung stehen.
Der Kern besteht wieder darin die Notizen suchen Funktion mit einem kleinen Trick dazu zu bringen ALLE Notizen zusammenzusuchen und auszugeben. Jede Notiz wird dann in ein sogenanntes Wörterbuch übertragen mit dem man flexibel weiterarbeiten kann.
Das Ergebnis des Scripts ist eine JSON Datei welche ALLE Notizen enthält.
Was wird exportiert, was nicht?
Bei den Notizen sieht es leider nicht ganz so grün aus wie bei den Erinnerungen; einige Daten stehen nicht über die „Kurzbefehle“ App zur Verfügung:
✅ Name (Titel)
✅ Zusammenfassung
✅ Text
✅ Checklisten
✅ Ordnername
✅ Tags
✅ Erstellungsdatum
✅ Datum letzte Änderung
⛔️Anhänge / Bilder
⛔️ Ordnerstruktur
⛔️ Textformatierung (Fett, Kursiv etc.)
⛔️ Verschlüsselte Notizen
Wann und wie ausführen?
Mein ursprünglicher Plan war, den Kurzbefehl auf dem Mac regelmäßig laufen zu lassen. Allerdings unterstützt die „Kurzbefehle“ App auf dem Mac noch immer keine Automation. Es gibt auf dem Mac zwar diverse Möglichkeiten einen Kurzbefehl regelmäßig ausführen zu lassen. Zum Einen kann man ihn per Cronjob starten – hier hatte ich aber das Problem dass der Kurzbefehl bei jeder Ausführung wieder nach einer Berechtigung zum Exportieren der Daten fragte. Zum Anderen kann man das auch über die „Automator“ App lösen – diese Lösung, bei der man ein Automator Skript erstellt und dieses über einen wiederkehrenden Kalender Eintrag und Benutzerdefinierter Erinnerung zu bestimmten Zeiten ausführt – erschien mir aber zu hässlich.
Eine tolle Eigenschaft der Kurzbefehle ist aber ja, dass die meisten auch problemlos auf anderen Geräten laufen – sogar dort schon direkt zur Verfügung stehen. Somit lasse ich die beiden Backup Kurzbefehle nun auf meinem iPhone laufen. Als Trigger stehen einem neben festen Uhrzeiten hier über den Tab „Automation“ viele weitere Ereignisse zur Verfügung. Ich habe mich dazu entschieden die Backups ausführen zu lassen, sobald das iPhone an ein Ladegerät angeschlossen wird. Das passiert dann 1x täglich (so ist das nunmal leider beim iPhone) und man verbraucht keine Akkulaufzeit und ist mit ziemlicher Sicherheit in der Nähe eines W-LAN.
Speicherort
Wenn du den Backup Kurzbefehl auf dem iPhone ausführst, hast du die Wahl das Backup auf deinem iPhone selbst oder auf deinem iCloud Drive zu speichern. Theoretisch ständen auch diverse Drittanbieter Cloud-Dienste zur Verfügung, die sich in die „Dateien“ App integrieren (z.B. Web.de Online Speicher, Infomaniak KDrive, Synology Drive…) – leider lässt sich keines von denen als Ziel auswählen und ich weiss leider nicht woran das liegt (vielleicht hast du eine Idee? Dann gerne in die Kommentare!).
Sinnvoll wäre es sicher – wenn man annimmt das Apple tatsächlich Opfer eines GAU wird – die Backups AUSSERHALB der iCloud und dem iPhone zu speichern. Von den beiden zur Verfügung stehenden Möglichkeiten wäre aber wohl grundsätzlich das iPhone selbst die beste Wahl als Backup Speicher – selbst wenn die iCloud down ist, sollte man so noch an seine Backups gelangen.
In meinem Fall habe ich mich allerdings für das iCloud Drive entschieden, aber nur weil dieses seinerseits über meinen Mac regelmäßig gesichert wird (aber das ist eine andere Geschichte).
Hinweis zu Berechtigungen
Wenn ein Kurzbefehl viele Erinnerungen / Notizen „teilen“ möchte, wird dieses zunächst blockiert, was ich für eine sehr sinnvolle Schutzmaßnahme halte. Wenn dein Backup nur aus einigen Objekten besteht wirst du beim ersten Lauf des Kurzbefehls gefragt ob du dieses „teilen“ zulassen möchtest und kannst es an Ort und Stelle (für immer) erlauben.
Bei wirklich vielen Objekten aber (in meinem Fall über 400) wird der Kurzbefehl mit einer Fehlermeldung gestoppt, z.B. „Diese Aktion versucht, 445 Erinnerungen-Objekte zu teilen. Dies ist nicht erlaubt„. Das Teilen großer Datenmengen muss man erst in den Einstellungen der „Kurzbefehle“ App erlauben.
Auf dem Mac geht das über die Menüleiste „Kurzbefehle“ -> „Einstellungen“ -> „Fortgeschritten“ -> „Teilen großer Datenmengen erlauben„.
Auf dem iPhone / iPad geht man dazu in die „Systemeinstellungen“, sucht dort nach „Kurzbefehle“ -> „Erweitert“ und wählt dort ebenfalls „Teilen großer Datenmengen erlauben„.
Das Datenformat
Das resultierende JSON Datenformat beider Backup-Skripte ist ein von mir definiertes Format. Es gibt keine Möglichkeit diese Daten so wieder in irgendeine App zu importieren. Die Hauptsache ist aber ja erstmal, dass die Daten **irgendwie** und **irgendwo** anders liegen als nur in der iCloud. Sollte Apple der Super GAU passieren bekomme ich das ja mit und schreibe ein Import-Script.
Weitere Erklärungen zum Format sind hier vermutlich überflüssig da die Felder in der JSON Datei selbsterklärend sind. Um sich die JSON Datei übersichtlich anzusehen bieten sich zum Beispiel Editoren wie „Visual Studio Code“ oder „JSON Viewer“ an. Auch gibt es viele Browser-Tools die JSON übersichtlich darstellen, aber man sollte sich überlegen ob man sein Backup dort irgendwo hochladen möchte.
Fazit
Wirken Apple Apps oft anfänglich sehr restriktiv und in der Funktionsauswahl eingeschränkt, lässt sich auch in diesem Fall über die Integration in die „Kurzbefehle“ App sehr viel zusätzliche Funktionalität bewerkstelligen.
Danke für’s lesen und hinterlasse gerne Feedback oder Fragen in den Kommentaren!
1000 Dank! Sowas hab ich gesucht!