Munin: Hostnamen ändern und Daten beibehalten

muninProblem
Munin auf einem Host installiert aber in der /etc/munin/munin.conf den [localhost.localdomain] Eintrag nicht angepasst. Wenn ich den nun einfach ändere gehen alle bisher aufgezeichneten Daten verloren.

Lösung

  1. Munin node stoppen
    service munin-node stop
  2. Cronjobs auskommentieren
    vim /etc/cron.d/munin
    vim /etc/cron.d/munin-node
  3. Backup von Dateien erstellen
    tar -czf /root/varlibmunin.tar.gz /var/lib/munin
  4. Ordner umbenennen
    cd /var/lib/munin 
    mv localdomain example.org
  5. Dateien umbenennen
    cd example.org
    for i in localhost.localdomain-*; do mv $i ${i/localhost.localdomain/www.example.org}; done
  6. alte HTML Dateien löschen
    rm -rf /var/cache/munin/www/localdomain
  7. Hostnamen in der /etc/munin/munin.conf anpassen
  8. Node starten und Cronjobs wieder einkommentieren

mysql snippets

rename table FooBar to foobar:

ALTER TABLE FooBar RENAME AS foobar;

rename column bar to foo:

ALTER TABLE foobar CHANGE bar foo VARCHAR(255) NOT NULL;

modify column definition:

ALTER TABLE foobar MODIFY foo BIGINT NOT NULL;

add new column baz after foo :

ALTER TABLE foobar ADD baz VARCHAR(60) AFTER foo;

optimize table:

OPTIMIZE TABLE foobar;

show tables description, columns etc:

DESCRIBE TABLE foobar;

show all available mysql users:

SELECT * FROM mysql.user;

delete mysql user:

DROP USER username@host;

bash [if -e *.TIF -> [: too many arguments

Wenn man in bash in einer if [ -e Schleife nach einem Wildcardeintrag sucht, bekommt man immer die Fehlermeldung [: too many arguments. Hintergrund ist, dass -e immer nur ein Argument verarbeiten kann und nicht mit Wildcards umgehen kann. Der Workaround dafuer ist:

files=$(ls *.TIF 2> /dev/null | wc -l)
if [ "$files" != "0" ] ; then
  for i in *.TIF; do
    mv $i ${i/\.tif/\.TIF};
  done
fi

Gefunden habe ich die Loesung bei MDLog:/sysadmin