Skip to content

Aufgaben synchronisieren ...

taskwarrior Die meisten mir bekannten Nutzer von Taskwarrior setzen die Software auf verschiedenen Maschinen ein und nutzen Dropbox oder Wuala (stellvertretend genannt für andere Synchronisationsdienste), um die Daten auf verschiedenen Rechnern synchron zu halten. Wie immer, so gilt auch hier alles, was ich bereits über fremd gehostete Dienste geschrieben habe.

Die wenigsten wissen, dass Taskwarrior bereits eingebaute Kommandos hat, um die Daten zu verteilen. Alle Informationen lassen sich auf der ausführlichen task-sync-Manpage finden, daher hier nur kurz. Taskwarrior kann ein Verzeichnis, ssh (bzw. scp), rsync und jedes Protokoll, das von cURL nutzen, um Daten zu synchronisieren. Und das sind eine Menge (kopiert von der cURL-Homepage):
curl is a command line tool for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, kerberos...), file transfer resume, proxy tunneling and a busload of other useful tricks.
Dazu werden drei Kommandos verwendet.

task push URL
task pull URL
task merge URL

Als URL kann beispielsweise https://user:passwort@host.domain.tld/verzeichnis/ angegeben werden.

Die Namen sind sprechend push überträgt die Taskwarrior-Daten zu einem entfernten Server, pull holt sie und merge gleicht die Daten miteinander ab (für merge wird die Datei undo.data benötigt, die man ansonsten auch regelmässig löschen könnte).

Um die URL nicht immer eintippen zu müssen und weil es generell keine so gute Idee ist, Passwörter im Klartext auf der Kommandozeile einzutippen, gibt es drei Variablen die als Standard gesetzt werden können.

task config merge.default.uri URL
task config push.default.uri URL
task config pull.default.uri URL

Damit reduziert sich die Übertragung auf den einfachen Aufruf von task push ohne weitere Parameter.

Die Konfigurationsvariable merge.autopush hilft noch einen Schritt weiter. Wenn sich nach einem Merge die lokalen Daten verändert haben, kann automatisch ein push ausgeführt werden, wenn sie auf "yes" gesetzt ist. Im Standard steht sie auf "ask" und Taskwarrior fragt nach, bei "no" wird nicht automatisch übertragen.

Trackbacks

dbudwm.wordpress.com am : PingBack

Vorschau anzeigen

dbudwm.wordpress.com am : PingBack

Vorschau anzeigen

dbudwm.wordpress.com am : PingBack

Vorschau anzeigen

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Philipp Beckers am :

*Nun, das ist mal was feines. Das macht für mich TaskWarrior umso interessanter. Danke für den Artikel, direkt nachher mal ausprobieren.

Gruß Philipp

Sebastian am :

*Holla die Waldfee. Jetzt weiß ich auch warum du immer sagst, dass du auf den Vorträgen nur einen Bruchteil der Features zeigen vorstellen kannst. Da steckt ja noch eine Menge mehr unter der Haube.
Angspornt durch deinen Artikel hier habe ich einmal zusammengeschrieben was man tun muss um Nutzdaten von Programmen verschlüsselt zu synchronisieren.

Dirk Deimeke am :

*Taskwarrior ist echt super. Da ist enorm viel Hirnschmalz drin und es arbeiten wirklich gute Entwickler daran. Es gibt - soweit ich das beurteilen kann - keine Stelle an der gefrickelt wird.

Verschlüsselte Synchronisierung ist sehr spannend, da gibt es ja verschiedene Methoden und unterschiedliche Ansatzpunkte.

Kommentar schreiben

Gravatar, Favatar, Pavatar, Identica, Twitter, MyBlogLog Autoren-Bilder werden unterstützt.
BBCode-Formatierung erlaubt
Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
:'(  :-)  :-|  :-O  :-(  8-)  :-D  :-P  ;-) 
Formular-Optionen