Linux skript

Gast #3728378
Hallo, ich benötige Hilfe bei einem Linux Skript um eine manuelle 
Eingabe/Änderungen per Skript zu lösen. Im Nachfolgenden sind die 
einzelnen Schritte die ich per manuell durchführe aufgelistet:

1)vi lighttpd_conf
2)suchen nach cat << EOF server.document-root = "$docroot" EO
3)ergänzen durch server.max-request-size=100000000
server.upload-dirs=( " uploads" )
server.network-backend = "writev"


Ergebnis:
cat << EOF
server.document-root = "$docroot"
server.max-request-size=100000000
server.upload-dirs=( " uploads" )
server.network-backend = "writev"
EOF
4)mkdir uploads
5)chown wwwrun:wwwrun uploads
6)lighttpd starten.

Kann mir jmd. Dazu ein kurzes Linux Skript schreiben?

Wäre super genial :)

Danke
#3728385
Martin schrieb:
> Hallo, ich benötige Hilfe bei einem Linux Skript um eine manuelle
> Eingabe/Änderungen per Skript zu lösen

Es gibt kein "Linux Skript", vermutlich ist ein shellscript gemeint

Was spricht gegen ein

cp angepaste_config backup
Cp backup umangepaste_config

Sonst wird das womöglich ziemlich kompliziert...
Gast #3728386
Als Lösungsansatz:

Keine Ahnung ob vi für sowas das richtige Werkzeug ist, normal macht man 
relativ viel mit sed in Skripten.
Der Suchen & Ersetzen Teil in dem Script könnte das hier sein - 
Vorsicht, ungetested.
1
sed -i.org -e 's#\(^[[:space:]]*server\.document-root[[:space:]]*=[[:space:]]*"\$docroot"[[:space:]]*$\)#\1\nserver.max-request-size=100000000\nserver.upload-dirs=( " uploads" )\nserver.network-backend = "writev"#g' lighttp.conf
Das lässt das docroot intakt und fügt die zeilen hinten an.
Wenn das docroot wirklich ersetzt werden soll, muss das in etwa so 
aussehen:
1
sed -i.org -e 's#^[[:space:]]*server\.document-root[[:space:]]*=[[:space:]]*"\$docroot"[[:space:]]*$#server.max-request-size=100000000\nserver.upload-dirs=( " uploads" )\nserver.network-backend = "writev"#g' lighttp.conf

Zur Sicherheit machen beide sed-Teile ein Backup der Datei, Dateiname 
*.org. Wenn sed mit 'sed -i -e ...',also ohne .org aufgerufen wird, dann 
fällt das weg - ist aber keine gute Idee.

Falls da Fehler drin sind: google nach sed hilft. Ich verhau mich da 
ganz gern mal, weil sed ein wenig komisch ist welche Teile eines regex 
mit \ escaped werden müssen und welche nicht.

Der Rest ist trivial, der letzte Teil (6.) abhängig von der verwendeten 
Distribution bzw. initsystem, typischerweise sowas wie "service lighttpd 
restart" bzw. besser sogar "service lighttpd reload".

Der ganze Kram wird als root, ggf. via sudo laufen müssen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.