Online: Da gibt es natürlich viele, ich mag den hier: https://jsonformatter.curiousconcept.com/. Da kann man ganz hübsch z.B. Teil-Bäume mit +/- ausklappen: In der Kommandozeile: Mit jq. Auf dem Mac z.B. via brew install jq. Einfachste Anwendung: echo ‚{„a“:“aa“,“b“:{„c“:[„d“]}}‘ | jq. Ergibt: Mehr im Tutorial.
Kategorie: Know-How
Verhindern, dass Shell-Skripts mehrfach gleichzeitig laufen
Oft habe ich den Fall, dass ein Shell-Skript im Cron läuft. Manchmal läuft es aber so lange, dass es vom cron ein zweites Mal gestartet wird. Das will ich verhindern. Nun habe ich eine schicke Lösung gefunden: lockfile=/var/lock/.$(basename $0).exclusivelock ( # Wait for lock on $lockfile (fd 200) for 10 seconds if ! flock -x Read More…
Atlassian Confluence als Docker-Container hinter Reverse-Proxy
Meine docker-compose.yml ist einfach straight forward: atlassian-confluence: image: ‚dsteinkopf/confluence-dup:latest‘ environment: – ‚CATALINA_OPTS=-Xms512m -Xmx512m‘ ports: – ‚8090:8090‘ restart: always volumes: – /opt/dockervolumes/atlassian_confluence_home:/var/atlassian/confluence – /opt/dockervolumes/atlassian_confluence_misc/server.xml:/opt/atlassian/confluence/conf/server.xml – /etc/localtime:/etc/localtime – /etc/timezone:/etc/timezone BTW. dsteinkopf/confluence-dup ist ein von mir erstelltes Confluence-Image, bei dem die Breadcumbs oben nicht durch Punkte („…“) gekürzt werden. (Details im docker hub bzw github.) Die /opt/dockervolumes/atlassian_confluence_misc/server.xml von Read More…
Diagramme aus Confluence in „fremder“ Webseite dynamisch einbinden
Manchmal möchte man in einer Umgebung, in der man keine Diagramme erstellen kann (z.B. hier im WordPress) eines einbinden. Die naheliegende Möglichkeit (geht natürlich immer) ist, ein PNG zu erzeugen und entsprechend einzubinden. Dann wird es aber später nicht mehr aktualisiert. Das geht z.B. so: Diagramm erstellen und in einer öffentlichen Seite speichern (ich benutze Read More…
Owncloud-Update auf Version 9: table already exists
Ich habe eine owncloud-Installation auf ubuntu 14.4. Die kleineren Updates werden von „unattanted upgrades“ automatisch und reibungslos installiert Bei Verisonsupdates reicht meistens ein apt-get upgrade owncloud. Diesmal hat er mich aber aufgefordert das Upgrade manuell durchzuführen. Hier habe ich nachgelesen, wie das geht und für mich „übersetzt“: cd /var/www/owncloud && sudo -u www-data php occ Read More…
Meine Docker-Umgebung mit Auto-Update und Mini-Überwachung
Maschinen mit Vagrant oder Kickstart installieren. Dann noch mit Ansible konfigurieren (playbook: s.u.): ansible-playbook -i hosts -u root –extra-vars='{„dstk_hostname“:{„name“:“docker4″,“domain“:“steinkopf.net“}}‘ ansible/baseserver.yml ansible-playbook -i hosts -u root ansible/docker.yml NFS-Share mit den Volumes, gemountet im Docker-Host auf /opt/dockervolumes/. Wird von anderem Host aus ebenfalls gemountet und von dort aus gesichert (Backup). docker-compose: /opt/compose/ enthält je Anwendung ein Verzeichnis. Read More…
UML-Diagramme
http://yuml.me/ hier beschreibe ich ja schon eine nette Möglichkeit für Sequenzdiagramme. Mit yuml geht das auch mit Klassendiagrammen Aktivitäten-Diagrammen Use-Case-Diagrammen Eine gute Video-Erklärung hilft beim Einstieg: Sehr einfach. Es gibt zwei Möglichkeiten: Textuell beschreiben und als Image einbinden. z.B. also Kurzlink auf der Webseite erstellt: <img src=“http://yuml.me/def7f0c0″ alt=“yml-Bild“ /> ergibt: Oder direkt <img src=“http://yuml.me/diagram/nofunky/class/[Nerdblog|-url:string|read();post()]-bla*>[Leser]“ /> Read More…
Migration svn nach git
Es gibt ja immer noch SVN-Repositories (ja, auch bei mir). Es gibt auch Gründe, bei SVN zu bleiben, aber noch mehr, zu git zu wechseln. Spätestens sei ich gitblit ausprobiert habe (hier meine begeisterte Zusammenfassung), wollte ich auch meine privaten Repos nach git umziehen. Und das habe ich (anhand dieser Anleitung und anderen ergoogelten Infos) Read More…
Server-Erreichbarkeit durch Watchdog u.a.
…oder: Wie verhindere ich, dass ich den Schreibtisch verlassen muss? Ich habe einen kleinen, alten Linux-Rechner laufen, auf den ich per rsync meine wichtigsten Daten kopiere. Dieser Rechner läuft aber aus Sicherheitsgründen nicht bei mir zu Hause. D.h. ich komme nicht so einfach dran, wenn er mal hängen sollte. Also muss ich alles dransetzen, zu Read More…
Mein Ubuntu-Standard-Server – via Vagrant und Ansible
Einen Ubuntu-Standard-Server installiere neuerdings ich so: Überblick: Mit Vagrant eine lokale VM erstellen. Dabei wird Ansible zum einrichten der Minimal-Anforderung benutzt (automatische Upgrades, Mail etc.). Danach verschiebe ich die Disk (vmdk) auf meinen ESX-Storage und binde sie dort in eine VM ein. (Leider ist dieser letzte Schritt lästig und irgendwie überflüssig, wenn man weiß, dass Read More…