#1 1. April 2010 hi@all, ich suche derzeit mehr oder weniger als spielerei für meine arbeit einen weg, um möglichst mit boardmitteln bestimmte pc-daten zu bekommen (per ssh, also keine gui-lösungen). das ganze sollte eine möglichst große bandbreite an distributionen unterstützen und tjoar, das ist garnicht so einfach^^ möglich wären auch (bash-)skripte anzufertigen, was vllt. bei sachen die unterschiedlich umsetzbar sind hilfreich wäre. konkret geht es um folgende daten: Computername Computer Domain OS Name Main User(?) Primäre IP Primäre MAC-Adresse CPU Name CPU Takt RAM HDD Größe HDD usage HDD frei Freier RAM Freier Swap Swap gesamt SMB-Freigaben bis jetzt habe ich folgende (vllt. nicht immer optimale^^) commands dafür (ist noch eine frühe phase, deshalb noch keine skripte) EDIT: achja, ich setze immer vorsichtshalber nen LC_ALL="C" davor^^): Computername: Code: hostname Domainname: Code: hostname -y OS Name: Code: cat /etc/issue|cut -d'\' -f1|grep -m1 $ IP (bisher nur für eth0): Code: ifconfig eth0|awk '/inet addr/{print $2}'|cut -d':' -f2 MAC-Adresse (auch nur für eth0 bisher): Code: ifconfig eth0|awk '/HWaddr/{print $5}' CPU Name: Code: cat /proc/cpuinfo|grep "model\ name"|cut -d':' -f2|sed 's/ //' CPU Speed: Code: cat /proc/cpuinfo|awk '/cpu MHz/{print $4}' RAM: Code: free|awk '/Mem:/{print $2}' HDD gesamt (bisher nur für root-partition): Code: df -hl /|awk '/dev/{print $2}' HDD usage (auch nur root): Code: df -hl /|awk '/dev/{print $3}' HDD frei: Code: df -hl /|awk '/dev/{print $4}' RAM frei: Code: free|awk '/Mem:/{print $4}' Swap frei: Code: free|awk '/Swap:/{print $4}' für main user und shares hab ich noch keine ahnung^^ hab das ganze bisher auf debian getestet, wäre cool, wenn ihr eine andere distro habt, wenn ihrs testen könntet und ggf. eine verbesserung posten könntet (z.b. bei suse wie man an den distronamen kommt etc). bin jetzt aber erstmal nen paar tage im urlaub, von daher nicht wundern, wenn ich nicht antworte=) schonmal danke an alle...mfg coach PS: frohe ostern@all=) + Multi-Zitat Zitieren
#2 1. April 2010 AW: Distributionsübergreifend Daten sammeln mit boardmitteln... Bei IP- und MAC-Addresse würde ich nicht auf ifconfig setzen, da es durch iproute2 ersetzt wurde und dadurch nicht mehr bei allen Distris mitgeliefert wird. Mit "ip addr" kriegst du auch Informationen über Netzwerkschnittstellen. Den Computernamen könntest du auch mit "uname -n" auslesen, aber ist ja dasselbe. Edit: Hier wäre ein kleiner Snippet für die SMB-Shares. Man greppt durch die /etc/samba/smb.conf (wäre interessant, ob die immer da ist), sortiert alle zeilen mit ; oder # am anfang raus (sind kommentare), sucht sich danach die section-namen raus, entfernt etwaige whitespaces am anfang (und die [-Klammer) und danach das gleiche nochmal am zeilenende. Code: cat /etc/samba/smb.conf | grep -v "^[#;]" | grep "\[\w*\]" | sed 's/^[ \t\[]*//' | sed 's/\]$//' edit2: Es gibt bei Samba allerdings "Special Sections" wie z.B. "global" und "homes". Die muss man halt noch rausfiltern. + Multi-Zitat Zitieren
#3 1. April 2010 AW: Distributionsübergreifend Daten sammeln mit boardmitteln... moin, habs grade bei archlinux getestet. das meiste funktioniert, außer: - mac adresse - ram bei der mac-adresse ist das " am ende zuviel. ohne das gehts einwandfrei und beim ram hast du die } am ende irgendwie vergessen dann klappt alles! + Multi-Zitat Zitieren
#4 16. April 2010 AW: Distributionsübergreifend Daten sammeln mit boardmitteln... aaaalso, ich bin wieder da und habe wieder etwas zeit beier arbeit=) erstmal danke für euer feedback, bewertungen habt ihr erhalten. den code oben habe ich angepasst und folgende neue befehle auf eure anregungen hin erstellt: IP-Adresse: Code: ip addr|grep eth0|awk '/inet /{print $2}'|cut -d'/' -f1 MAC-Adresse: Code: ip addr|grep -m1 -A1 eth0|awk '/link\/ether /{print $2}' SMB-Freigaben: Code: cat /etc/samba/smb.conf | grep -v "^[#;]" | grep "\[\w*\]" | sed 's/^[ \t\[]*//' | sed 's/\]$//'|grep -v "^[global,homes]" wäre cool, wenn z.b. nen ubuntuler und nen suseler(^^) das ganze testen könnte...mfg coach PS: dickes lob an dich pyro=) funktioniert es denn bei dir und was hast du für eine distro? und achja, soweit ich weiß ist die smb.conf seit einer älteren version immer da=) + Multi-Zitat Zitieren
#5 16. April 2010 AW: Distributionsübergreifend Daten sammeln mit boardmitteln... Hoi, bin hier unter Arch Linux. Der IP-Snippet funktioniert, beim Mac-Snippet ist anscheinend ein kleiner Fehler drin: Code: ip addr|grep -m1 -A1 eth0|awk '/link\[B]/[/B]ether /{print $2}' Der fettgedruckte '/' hat gefehlt. Den Samba-Snippet kann ich nicht testen, da ich kein Samba installiert hab. Hab zum erstellen nur eine beispiel-samba.conf per google gesucht. + Multi-Zitat Zitieren
#6 16. April 2010 AW: Distributionsübergreifend Daten sammeln mit boardmitteln... ja, hab ich grad auch gemerkt^^ ich kann hier leider nicht mit copy+paste arbeiten, da meine linux-vm auf einem pc ohne internet läuft. und ich habe den befehl für den os-namen mal überarbeitet, damit die leerzeile am ende wegkommt=)...mfg coach EDIT: was würdet ihr sagen sind die wichtigsten distro's, gerade auch auf servern? ich hatte eine alte statistik gefunden, in der gentoo ubuntu debian suse redhat auftauchen, also wenn da keine größere fehlt und die befehle auf denen laufen, wär ich mehr als zufrieden=) + Multi-Zitat Zitieren