Windows User Temp Verzeichnis “leeren” nicht “löschen”
Auf einer Citrix XenApp Umgebung kann es immer mal wieder Probleme mit User Profilen geben.
Eines meiner Probleme in diesem Umfeld ist das des User Temp Verzeichnis im Profil immer weiter wächst.
Wir haben Anwendungen im Einsatz die leider mit dem Temp Verzeichnis sehr unsauber umgehen.
Hier können dann nach 3-4 Monaten bei einem User schon mal 100-200 MB an Datenmüll abgelagert werden.
Das mal 20 User auf der Maschine,… da kommt schon was zusammen.
Nun habe ich versucht das Verzeichnis per Logon Script (CMD Script) zu löschen bzw. zu leeren.
Beide Varianten funktionieren leider nicht zufrieden zustellend, da sich Dateien dirkt bei der Anmeldung im Zugriff befinden.
Da Verzeichnis kann so weder geleert noch gelöscht werden.
Die Lösung für mich lautet hier “Windows Powershell”!
Mit diesem 5 Zeilen Code wird das Verzeichnis “geleert” und im Zugriff befindliche Daten werden einfach übergangen.
—8<—–8<——-8<———-
# User Temp Verzeichnis leeren
cd $env:userprofile\’Lokale Einstellungen\Temp’
ls >$logpfad\tmpdel_befor.txt
Remove-Item * -Recurse | out-file -filepath $logpfad\delout.txt
ls >$logpfad\tmpdel_after.txt
—8<—–8<——-8<———-
Powershell scheint einige Punkte in meinem Logon Script “besser” lösen zu können als jetzt über mein CMD Script.
Zwischen den Jahren werde ich die erste (misch) Version auf der Farm zum Einsatz bringen, wenn es sich bewährt und performant ist kann es Schrittweise das alte Script ablösen.
Über das Ergebnis oder weiteren PS Code werde ich natürlich berichten.

SSL Zertifikate convertieren…
… mal wirklich gut beschrieben und übersichtlich dargestellt.
https://www.sslshopper.com/ssl-converter.html

Mein erster Jabber Server
Ich wollte immer schon einen eigenen Jabber Server aufsetzen.
Doch irgendwie ist es nie dazu kommen. Nun wenn ich gewusst hätte das es so einfach ist hätte ich es schon früher gemacht.
Von mir Favorisiert wird ejabberd. Warum?
Ganz einfach, er ist verdammt einfach zu installieren und zu verwalten.
Mit
#apt-get install ejabberd
#dpkg-reconfigure ejabberd
ist auf einem Debian System schon alles erledigt. Nun kann man sich bequem auf der Adminseite mit der Konfiguration beschäftigen. (http://deinedomain.de:5280/admin)

VM Ware ESX 3.5 – Shutdown aller an der Maschine registrierten VM´s per Script
Warum sollte so etwas wie “Herunterfahren aller registrierten VMs auf einem VMWare Server” sinnvoll sein.
Gehen wir mal davon aus das die VM Ware Server in einem Räumlich getrennten Cluster laufen.
Nun fällt in einem der Serverräume der Strom aus! Sagen im Serverraum 1.
Betroffen sind also nur die Maschinen die im Serverraum 1 laufen.
Im Normalfall hat man in diesem Fall noch ca. 8-10 Minuten Zeit in dem die Notfallbatterien die Systeme am leben halten. Bei mehren Servern in unterschiedlichen Räumen weiß man natürlich nie welcher der VMs auf welcher Maschine läuft, es würde also schon einige Zeit vergehen bis eine Person im VM Ware Center die entsprechenden VMs alle manuell heruntergefahren hat. Zudem was passiert wenn das ganze Nachts passiert und der Admin nicht direkt vor dem Monitor sitzt?
Für den VM Ware Server gibt es hier noch eine einfach Lösung. APC bietet für ca. 100€ ihren Power Shutdown Agent auch für ESX 3.5 an. Die Installation einfach und ist hier auch sehr gut beschrieben. Diese Lösung fährt aber nur nach einer bestimmten Zeit den Server selbst herunter und alle VMs werden “Hard” gestoppt! Hierbei kann es gerade bei Datenbankdiensten zu schweren Datenverlusten oder Inkonsistenzen kommen. Es wäre also wesentlich geschickter die Maschinen geordnet vorher herunter zu fahren. Mit der APC Lösung kann ich hierzu nicht nur die Maschine herunterfahren sondern auch zu einem früheren Zeitpunkt ein Script starten lassen.
Das Script muss also folgendes Kriterium Erfüllen:
“Eine Virtuelle Maschine darf nur heruntergefahren werden wenn sie auch auf der betroffen Hardware läuft”
Ich habe das so gelöst:
#!/bin/bash
######################################################################
#
# Shout Down Script für Powershutdown auf ESX Serverumgebungen
# Version: 1.000
# jn / 19102009
#
######################################################################
# Data File zum Temporären zwischenspeichern
datafile=/root/serverlist.txt
# Aktuell registrierte Server in Datafile schreiben
vmware-cmd -l >>$datafile
# Datafile auslesen und mit VM-Ware Shutdown Befehl verbinden
n=1
while read line ; do
eval “line$n=\”$line\”"
vmware-cmd $line stop;
n=`expr $n + 1`
done <$datafile
# Löschen des Datafiles
rm $datafile
Alle Registrierten VMs werden in eine Textfile aufgelistet, danach arbeitet eine kleine Schleife die einzelnen Zeilen ab und schreibt so für jede VM die auf dieser Hardware läuft den VM Ware Konsolen Shutdown Befehl.
Nun müssen nur noch die Batterien das Zeitfenster zum herunterfahren lange genug offen halten.
Download Script:
ShutdownScriptforESX (552 bytes, 0 hits)
