Day One automatisch befüllen ohne Mac, dank Uberspace
5 min read

Day One automatisch befüllen ohne Mac, dank Uberspace

Day One automatisch befüllen ohne Mac, dank Uberspace

bild

Tagebuch schreiben klingt für euch altmodisch? Dann schaut euch mal die App Day One an, mit der kann man unterwegs auf dem iPhone, iPad oder auf einem heimischen Mac jeden Tag ein paar kurze Tageshighlights notieren.

Für Schreibfaule gibt es auch die Script-Erweiterung Slogger, welches eure Aktivitäten auf Twitter, App.net, Foursquare & Co. sammelt und in Day One notiert.

Dank diese Weise erhält man ein Archiv seiner Netzaktivitäten, das man zu einem späteren Zeitpunkt durchsuchen kann oder einfach nur stöbern, was man vor geraumer Zeit so getrieben hat.

Um das Ganze zu automatisieren, haben die meisten das Script im Hintergrund auf ihrem Mac laufen.
Für mich ist dies unpraktikabel, weil ich mehrere Macs habe und nicht jeden Tag einer läuft.
Da Slogger in Ruby geschrieben ist und eigentlich nichts anderes macht, als den Feed sozialer Netzwerke abzuschnorcheln, kann es auch prima auf anderen Unix-Systemen laufen.

Ich habe mir also mal die Mühe gemacht und habe Slogger auf meinem Uberspace-Webserver zum Laufen gebracht und lasse es nun einmal täglich automatisch durchlaufen.

Wie ich das gemacht habe, möchte ich euch nun beschreiben, damit interessierte dies Nachbauen können.

Vorraussetzung

Vorgehensweise

  1. Dropbox installieren
  2. Selektive Synchronisation einrichten
  3. Ruby 1.9 aktivieren und Gems installieren
  4. Slogger einrichten

Bevor ihr loslegen könnt, müsst ihr Day One schon einmal gestartet haben und unter Einstellungen eure Dropbox als Sync-Methode hinterlegen.

Day One automatisch befuellen ohne Mac, dank Uberspace--Slogger-Ruby-Server

Dropbox installieren

Als Erstes loggt ihr euch über das Terminal auf eurem Uberspace-Konto ein und wechselt ins Hauptverzeichnis, das könnt ihr mit folgendem Befehl tun.

cd ~

Nun landet ihr die Dropbox-Anwendung runter und entpackt sie.

wget -O - [http://www.dropbox.com/download?plat=lnx.x86_64](http://www.dropbox.com/download?plat=lnx.x86_64) | tar xzf -

Als nächstes müsst ihr Dropbox einmal manuell starten, damit ihr es mit eurem Account verknüpfen könnt.

~/.dropbox-dist/dropboxd

Jetzt wird euch eine URL angezeigt, die ihr im Browser aufrufen müsst. Damit die Dropbox nun automatisch läuft, benötigt ihr einen Daemon auf eurem Uberspace. Dazu müsst ihr Daemontools installieren, falls ihr das noch nicht gemacht habt, das geht mit folgendem Befehl.

uberspace-setup-svscan

Jetzt legt ihr ein Dropbox-Daemon an, das geht mit folgendem Befehl.

uberspace-setup-service dropboxd ~/.dropbox-dist/dropboxd

Jetzt habt ihr in eurem Home-Verzeichnis den Dropbox-Ordner.

Selektive Synchronisation einrichten

Unter Umständen wollt ihr gar nicht die ganze Dropbox in eurem Uberspace, also schmeißen wir alle Ordner raus, die Ihr nicht benötigt. Dafür benötigen wir wieder ein kleines Script. Als Erstes legen wir aber noch einen neuen Ordner mit dem Namen bin im Home-Verzeichnis an (sofern das nicht schon existiert).

mkdir ~/bin/

Nachdem ihr den neuen Ordner angelegt haben, solltet ihr auch in diesen wechseln.

cd ~/bin/

Jetzt ladet ihr das Script von der Dropbox-Seite in den eben angelegten Ordner.

wget https://www.dropbox.com/download?dl=packages/dropbox.py

Nun ändert ihr die Schreibrechte der Datei, um sie vor Zugriff von Dritten zu schützen.

chmod 700 dropbox.py

So jetzt geht es ans Eigentliche rauswerfen. Das Script erfordert mindestens Python 2.6, die Default-Einstellung auf den Uberspace-Server ist aber Python 2.4. Neben der 2.4er ist aber auch Python 2.7 installiert, was ihr mit python2.7 aufrufen können.

python2.7 dropbox.py exclude add ~/Dropbox/OrdnerDerNicht SynchronisiertWerdenSoll

Das macht ihr jetzt mit jedem Ordner, der nicht synchronisiert werden soll. Achtung, den Ordner /apps/Day One/ benötigen wir noch, der sollte also nicht rausgeworfen werden.

Ruby 1.9 aktivieren und Gems installieren

Zurzeit läuft Ruby 1.8 Default auf den Uberspace-Server, wir benötigen aber Ruby 1.9, dies könnt ihr in der .bash_profile-Datei entsprechend ändern. Dazu öffnet ihr die im Homeverzeichnis liegende .bash_profile und ändert die zweite Zeile also export PATH=/package/host/localhost/ruby-1.8.5/bin:$PATH in export PATH=/package/host/localhost/ruby-1.9.3/bin:$PATH um. Nach dem ihr das gemacht habt, ladet ihr die Einstellung neu in dem ihr im Terminal folgenden Befehl eingebt.

. ~/.bash_profile

Nun müssen wir noch ein paar Gems-Plugins nachinstallieren, dazu erleichtern wir uns die Arbeit etwas und legen eine Datei im Home-Verzeichnis mit dem Namen .gemrc an und tragen folgenden Code in die Datei ein.

echo "gem: --user-install --no-rdoc --no-ri" > ~/.gemrc

Nun kann man per gem install auch Plugins installieren. Folgende Plugins sind erforderlich, die wir mit folgenden Befehlen installieren können.

gem install bundler
gem install faraday
gem install feed-normalizer
gem install json
gem install mime-types
gem install multi_json
gem install multipart-post
gem install oauth
gem install simple-rss
gem install hpricot
gem install simple_oauth
gem install twitter
gem install twitter_oauth  

Slogger einrichten

Jetzt kommen wir zum eigentlichen Script. Wer Slogger schon im Einsatz hat, muss die Ordner Slogger nur ins Home-Verzeichnis hochladen und ändert dann Pfad in der slogger_config.
Falls ihr Slogger-Neulinge seid, geht wie folgt vor.

Als Erstes wechseln wir wieder ins Home-Verzeichnis.

cd ~

Zu erst laden wir die aktuelle Version vom Github-Server mit folgendem Befehl.

git clone git://github.com/ttscoff/Slogger.git Slogger

Nun wechseln wir in den gerade angelegten Ordner Slogger und lassen Slogger das erste Mal durchlaufen.

cd ~/Slogger
./slogger --update-config

Jetzt gibt es hier die Datei slogger_config und die wollen wir nun bearbeiten.

Das machen wir am besten mit folgendem Befehl.

nano slogger_config

Nun solltet ihr folgenden Text präsentiert bekommen.

storage: icloud
image_filename_is_title: true
date_format: "%F"
time_format: "%R"

Bei storage: löscht ihr das iCloud weg und tragt dort folgenden Pfad ein.

./Dropbox/Apps/Day One/Journal.Day One

Als nächstes schließt ihr die Datei mit ctrl + x und drückt y zum Speichern und noch mal Return, weil ihr den Dateinamen nicht ändern wollt.

Jetzt wieder folgenden Befehl aufrufen.

./slogger --update-config

Damit wurde Slogger vollständig installiert und wir können und erneut die slogger_config ansehen, also erneut folgenden Befehl eingeben.

nano slogger_config

Hier tragt ihr nun Usernames und Feeds ein, speichern geht wieder über ctrl + x dann wieder y und wieder Return.

Zu guter letzt legt ihr noch ein Crontab an, damit ihr Slogger automatisch einmal am Tag anläuft.
Gebt dazu folgenden Befehl ein.

crontab -e

Nun gibt ihr nur noch Folgendes ein und nicht vergessen, mit ctrl + x beenden, y zum Speichern und den Namen nicht ändern.

57 23 * * * /package/host/localhost/ruby-1.9.3/bin/ruby /home/BENUTZERNAME/Slogger/slogger -s

BENUTZERNAME = dein Name bei Uberspace

Ich hoffe, diese Anleitung ist ausführlich genug und ich habe keinen Punkt übersehen.
Wenn der Artikel euch gefallen bzw. euch geholfen hat, dann teilt ihn doch mit anderen.

Fragen können gerne per Twitter gestellt werden, ich versuche dann Hilfe zu geben.


Quellen: Infos zu Slogger, Dropbox auf Überspanne, selektiver Sync, Korrektur des Cronjobs