Script, verbesserungsvorschläge?
Script, verbesserungsvorschläge?
Hallo,
ich lerne ja gern dazu, deswegen meine frage: hat jmd zu dem Script verbesserungsvorschläge?
35984
schonmal vielen dank im voraus!
ich lerne ja gern dazu, deswegen meine frage: hat jmd zu dem Script verbesserungsvorschläge?
35984
schonmal vielen dank im voraus!
Debian-Nutzer
ZABBIX Certified Specialist
ZABBIX Certified Specialist
Re: Script, verbesserungsvorschläge?
Benutze bei mkdir den Schalter -p oder besser noch mktemp.
Die aktuelle Versionsnummer könntest du dir per wget vom Server holen und jeweils das aktuellste Paket herunterladen.
Wenn dir das zu viel Aufwand ist, steckt die Versionsnummer in eine Variable in die ersten Zeilen des Scripts.
Ansonsten sind später Anpassungsarbeiten echt schwierig.
Die aktuelle Versionsnummer könntest du dir per wget vom Server holen und jeweils das aktuellste Paket herunterladen.
Wenn dir das zu viel Aufwand ist, steckt die Versionsnummer in eine Variable in die ersten Zeilen des Scripts.
Ansonsten sind später Anpassungsarbeiten echt schwierig.
Re: Script, verbesserungsvorschläge?
ok.. vielen dank!!
hast du noch ne idee wegen checkinstall? das erstellte paket beinhaltet leider nicht die conf-dateien unter /etc/zabbix.. und auch nicht die php.ini-einstellungen
hast du noch ne idee wegen checkinstall? das erstellte paket beinhaltet leider nicht die conf-dateien unter /etc/zabbix.. und auch nicht die php.ini-einstellungen
Debian-Nutzer
ZABBIX Certified Specialist
ZABBIX Certified Specialist
Re: Script, verbesserungsvorschläge?
Du könntest noch überall durchgehend vollständige Pfade nutzen. Das gilt sowohl für Verzeichnisse als auch für Programme. Könnte sonst sein, dass bei unterschiedlichen Suchpfadlisten unterschiedliche Dinge passieren.
Beispiel für Programme
Schau dir vielleicht einfach ein paar Scripte unter /etc/init.d an.
Beispiel für Programme
Code: Alles auswählen
APTGET=/usr/bin/apt-get
$APTGET update
Re: Script, verbesserungsvorschläge?
Was mir auffällt: Du hast ziemlich wenig Abfragen darin, ob etwas überhaupt möglich ist. Zum Beispiel könnte es ja aus *irgendeinem* Grund passieren, dass der Benutzer/die Gruppe zabbix nicht erstellt werden konnte. Gut, dann gibt's die Fehlermeldung, aber das Skript rennt weiter und fährt spätestens in Zeile 105 gegen die Wand. Übrigens: "... could not be created" oder so ist richtiger als die angegebene sprachliche Vermurkselung. set -e am Anfang des Scripts bricht es ab, wenn ein Befehlt ret != 0 zurückgibt. Da muss man aber aufpassen und alles z.B. per || echo "fail" absichern, wenn es doch gewollt ist.
mktemp ist wichtig. Wenn sich jeder Installer willkürlich einen Pfad in /tmp/ aussucht, gibt es irgendwann Überschneidungen. Nicht gut.
Fixe Passwörter in der SQL-DB sind auch nicht der Burner.Dies gibt zufällige, sichere Passwörter aus: 8 Stellen, groß/klein, Sonderzeichen (z.B. +, =, /).
Gruß Cae
mktemp ist wichtig. Wenn sich jeder Installer willkürlich einen Pfad in /tmp/ aussucht, gibt es irgendwann Überschneidungen. Nicht gut.
Code: Alles auswählen
tmpdir=$(mktemp)
tar xf bliblablubb.tar "$tmpdir" # ... und so weiter ... am Ende:
rm -rf "$tempdir"
tmpdir='asdf' # wir sind paranoid, man könnte ja die Variable auslesen...
Code: Alles auswählen
echo '' # ist dasselbe wie
echo
Code: Alles auswählen
dd if=/dev/urandom bs=1 count=6 2>/dev/null | openssl base64
Gruß Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
Re: Script, verbesserungsvorschläge?
Du koenntest die Ausgabe der Abschnittsueberschriften in eine Funktion auslagern.
Sind die Sleeps noetig?
Mach die beiden sed-Bearbeitungen der php.ini mit einem Aufruf, dann erzeugst du keine zwei Backupdateien dafuer.
Sind die Sleeps noetig?
Mach die beiden sed-Bearbeitungen der php.ini mit einem Aufruf, dann erzeugst du keine zwei Backupdateien dafuer.
Use ed once in a while!
Re: Script, verbesserungsvorschläge?
@Cae: ok danke für die hilfe.. habe das mit den passwörtern so gemacht.. jedoch hakt es jetzt an folgender stelle:
er scheint die variable nicht richtig weiter zu geben.. was kann ich dagegen machen?
das mit mktemp hab ich jetzt sein lassen da es doch etwas to much wäre..
das mit dem fehler müsste ich noch machen.. müsste ich das jetzt nach jedem ausdruck befehl machen oder gibts da auch was generelles!?
@Meilo: nein die sleeps waren für mich um zu gucken ob alles ok ist und wie man etwas in eine funktion pakt und welchen sinn das hätte weiss ich nicht.. das mit sed hab i gemacht..
Code: Alles auswählen
dbpw=$(dd if=/dev/urandom bs=1 count=6 2>/dev/null | openssl base64)
su postgres -c "echo \"create user zabbix with password '${dbpw}' createdb;\" | psql"
das mit mktemp hab ich jetzt sein lassen da es doch etwas to much wäre..
das mit dem fehler müsste ich noch machen.. müsste ich das jetzt nach jedem ausdruck befehl machen oder gibts da auch was generelles!?
@Meilo: nein die sleeps waren für mich um zu gucken ob alles ok ist und wie man etwas in eine funktion pakt und welchen sinn das hätte weiss ich nicht.. das mit sed hab i gemacht..
Debian-Nutzer
ZABBIX Certified Specialist
ZABBIX Certified Specialist
Re: Script, verbesserungsvorschläge?
Die Übergabe funktioniert wie dieses Beispiel mit "nobody" zeigt.
Wobei sowohl ' als auch { } wohl unnötig sind.
Code: Alles auswählen
#!/bin/bash
dbpw=$(dd if=/dev/urandom bs=1 count=6 2>/dev/null | openssl base64);
su nobody -c "echo '${dbpw}'";
Re: Script, verbesserungsvorschläge?
Ersteres: Haengt davon ab was in der Variable drin steckt. Ist sicherer mit.uname hat geschrieben:Wobei sowohl ' als auch { } wohl unnötig sind.Code: Alles auswählen
su nobody -c "echo '${dbpw}'";
Zweiteres: Ja, sind unnoetig.
Use ed once in a while!
Re: Script, verbesserungsvorschläge?
hallo,
sorry hab gestern nicht mehr geantwortet..
der fehler liegt nicht dort.. der fehler muss eher hier stecken:
denn er fügt die entsprechenden statements nicht in die zabbix-datenbank, sondern in die postgres-db
sorry hab gestern nicht mehr geantwortet..
der fehler liegt nicht dort.. der fehler muss eher hier stecken:
Code: Alles auswählen
su postgres -c "psql -d zabbix -f /tmp/install/${zbxver}/create/schema/postgresql.sql"
su postgres -c "psql -d zabbix -f /tmp/install/${zbxver}/create/data/data.sql"
su postgres -c "psql -d zabbix -f /tmp/install/${zbxver}/create/data/images_pgsql.sql"
Debian-Nutzer
ZABBIX Certified Specialist
ZABBIX Certified Specialist
Re: Script, verbesserungsvorschläge?
soo erledigt.. es lag daran das die tabellen mit den rechten postgres ausgeführt wurden und nicht mit die von zabbix.. das hab i jetzt geändert.. das skript ist jetzt fast final..
wenn es fertig ist, poste ich es
wenn es fertig ist, poste ich es
Debian-Nutzer
ZABBIX Certified Specialist
ZABBIX Certified Specialist
Zabbix install-script
soo erledigt..
ich finde das script ist fertig und funktioniert auch soweit, wer es nutzen möchte kann es gerne tun.. das einzige was ich noch nicht wirklich hinbekommen habe ist das checkinstall irgendwie die conf-dateien berückstichtig, aber egal.. es läuft.
36018
ich finde das script ist fertig und funktioniert auch soweit, wer es nutzen möchte kann es gerne tun.. das einzige was ich noch nicht wirklich hinbekommen habe ist das checkinstall irgendwie die conf-dateien berückstichtig, aber egal.. es läuft.
36018
Debian-Nutzer
ZABBIX Certified Specialist
ZABBIX Certified Specialist