Main /

Docker Varnishlog Scripten

Allgemein

Knowledge Base

Virtualisierung Emulation

Technik und Wissen

Community

Privat

%center%[[http://validator.w3.org/check?uri=referer|http://www.w3.org/Icons/valid-xhtml10.png]]%%

Docker Varnishlog Scripten

Docker varnishlog scripten

Es geht darum ein Script bereitzustellen, dem Parameter übergeben werden können, die an Docker weitergereicht werden.

 #!/bin/bash
 SCRIPTNAME=$(basename ${0/.sh/ })
 if [[ "$#" -lt 1 ]]; then
    quoted_args=""
 else
    quoted_args="$(printf " %q" "${@}")"
 fi
 docker exec -it varnish sh -c $SCRIPTNAME ${quoted_args}

Das obige Script wird wie folgt aufgerufen:

 ./varnishlog.sh -q 'ReqURL ~ blog'

Leider geht das nicht, wie ich es mir vorstelle, es wird nicht nach "blog" gefiltert.

Logge ich mich im Varnish direkt ein per:

 docker exec -it varnish sh

kann man

 varnishlog -q 'ReqURL ~ blog'

aufrufen und es funktioniert wie erwartet.

Die Lösung

 docker exec -it varnish sh -c "$SCRIPTNAME ${quoted_args}"

Die Quotes beim Shell-Aufruf und schon klappt es, das soll jemand verstehen.

Frische Änderungen (All) | Edit SideBar Zuletzt geändert am 04.07.2019 08:50 Uhr Seite Bearbeiten | Seitenhistorie
Powered by PmWiki