Freien HD Speicher täglich protokollieren

Dieses Thema im Forum "Scripting und Automatisierung" wurde erstellt von nilsbyte, 14.02.2007.

  1. nilsbyte

    nilsbyte Thread Starter MacUser Mitglied

    Beiträge:
    88
    Zustimmungen:
    2
    Mitglied seit:
    31.05.2005
    Hallo liebe Macuser,

    Ich bin auf der Suche nach einem Weg, wie ich täglich den freien Speicher des XServe in unserer Firma in eine Textdatei schreiben kann.

    Ein Freund hat mir bereits folgendes gegeben:

    Code:
    df -m / | grep '/' | awk {'print $4 " MB"'} >> test.txt
    Hierbei gefällt mir nur nicht die Art der Anzeige. Ich stelle mir sowas in der Art vor:

    Code:
    Volume      Speicher gesamt                      Freier Speicher		   Prozent frei
    
    /HD         3.001.666.743.828 byte (2,73 TB)    661.467.913.256 byte (616,04 GB)   X %
    Hat dafür jemand ne Lösung? Vielleicht auch ein Tool was das macht? Oder gehts sogar mit Automator?

    Thanks in advance :D
     
  2. eMac_man

    eMac_man MacUser Mitglied

    Beiträge:
    30.813
    Zustimmungen:
    2.892
    Mitglied seit:
    08.10.2003
    Hallo!
    Nur mal als Frage: Würde Dir da ein Widget nicht auch reichen? Da gibt es einige (z.B. iStat pro; iStat nano).
    Gruss
    der eMac_man
     
  3. tigion

    tigion MacUser Mitglied

    Beiträge:
    1.090
    Zustimmungen:
    48
    Mitglied seit:
    21.06.2006
    Es geht ja um das textuelle Protokollieren und da wären die Widgets nicht wirklich was.

    @nilsbyte: Man kann die Ausgabe auch mit 'df' und 'awk' entsprechend formatieren, also beispielsweise Tabs einfügen, dann würde die Ausgabe ja schon wie gewünscht erscheinen.
     
  4. nilsbyte

    nilsbyte Thread Starter MacUser Mitglied

    Beiträge:
    88
    Zustimmungen:
    2
    Mitglied seit:
    31.05.2005

    leider hab ich aber keine ahnung von applescript und wie ich das so formatiere dass der speicher in gb und tb umgerechnet wird, bzw die bytes mit trennpunkten ausgegeben werden. vielleicht möchte mir jemand dabei helfen? ;)
     
  5. little_pixel

    little_pixel MacUser Mitglied

    Beiträge:
    3.952
    Zustimmungen:
    972
    Mitglied seit:
    06.06.2006
    Hallo,

    Code:
    try
    	set pfadDesk to (path to desktop) as string
    	set pfadTargetFile to pfadDesk & "HDD-Info.txt" as file specification
    end try
    
    tell application "Finder"
    	try
    		set gesamtSpeciher to round ((capacity of disk 1) / 1024 / 1024)
    		set belegterSpeciher to round ((free space of disk 1) / 1024 / 1024)
    		
    		set prozentSpeciher to ((belegterSpeciher / gesamtSpeciher) * 100) as integer
    		
    		set pruefDatum to current date
    		set pruefZeile to (pruefDatum & "		" & belegterSpeciher & " MB 		" & prozentSpeciher & " % 		" & gesamtSpeciher & " MB 		") as string
    		
    		my schreibeNeuePruefung(pruefZeile, pfadTargetFile)
    	end try
    end tell
    
    on schreibeNeuePruefung(schreibeZeile, pfadTargetFile)
    	try
    		open for access pfadTargetFile with write permission
    		write "Datum:  					Freier Speicher: 	Prozent: 	Gesamt Speciher:" & return to pfadTargetFile starting at eof
    		write "--------------------------------------------------------------------------------------------------------" & return to pfadTargetFile starting at eof
    		write schreibeZeile & return to pfadTargetFile starting at eof
    		write "" & return to pfadTargetFile starting at eof
    		close access pfadTargetFile
    	on error
    		try
    			display dialog "Fehler beim Schreiben des aktuellen Datensatzes." with icon 0 giving up after 1
    			close access pfadTargetFile
    		end try
    	end try
    end schreibeNeuePruefung
    
    Viel Spass
     
  6. little_pixel

    little_pixel MacUser Mitglied

    Beiträge:
    3.952
    Zustimmungen:
    972
    Mitglied seit:
    06.06.2006
    Im Anhang als Applikation.
    Einfach entpacken und doppelklicken.

    Viel Spass
     

    Anhänge:

  7. MacMännchen

    MacMännchen MacUser Mitglied

    Beiträge:
    2.877
    Zustimmungen:
    213
    Mitglied seit:
    03.10.2006
    df erlaubt auch das Ausgabeformat in GB:

    Code:
    df -h
     
  8. nilsbyte

    nilsbyte Thread Starter MacUser Mitglied

    Beiträge:
    88
    Zustimmungen:
    2
    Mitglied seit:
    31.05.2005
    cool :) dafür erstmal 1000 Dank. Noch 3 Fragen habe ich:

    - Kann ich die MB mit Trennpunkten ausgeben lassen? (1.024 MB)
    - Wie kann ich, wenn ich den Wert in GB umrechne, auf 2 nachkommastellen runden?
    - Sehe ich das richtig dass das sone Art IF Sache ist? Beim erneuten ausführen werden die Spaltenüberschriften erneut geschrieben, das sollte aber nicht so sein.

    little_pixel, hast du noch die Lösung für diese 3 Probleme? Wäre toll.
     
    Zuletzt bearbeitet: 14.02.2007
  9. chebfarid

    chebfarid MacUser Mitglied

    Beiträge:
    894
    Zustimmungen:
    75
    Mitglied seit:
    05.10.2005
    Schöne Aufgabe :) Im Prinzip hat littel_pixel ja schon die ganze Arbeit gemacht. Ohne ihm Konkurrenz machen zu wollen, hier einfach noch was ich heute nachmittag unabhängig am PC zusammengehackt hatte. Die GB-Umrechnung ist schon vorhanden. Wie Du richtig gesehen hast, wäre das Problem der wiederholten Spaltenüberschriften einfach durch einen If-Block zu lösen, der überprüft ob es den Reportfile schon gibt oder nicht...
    -------------------------
    [This script was automatically tagged for color coded syntax by Convert Script to Markup Code]

    Frohes schaffen
    Farid
     
    Zuletzt von einem Moderator bearbeitet: 24.10.2015
  10. little_pixel

    little_pixel MacUser Mitglied

    Beiträge:
    3.952
    Zustimmungen:
    972
    Mitglied seit:
    06.06.2006
    Hallo,

    natürlich habt Ihr recht :)
    Ist "nur" ein Lösungsansatz bzw. Vorschlag. Auf die Details habe ich mich nicht festgelegt, da ich dachte das es individuell angepasst wird.

    Farid seine Lösung ist die schönere! :)


    Viele Grüße

    PS: "Jon's little page" habe ich noch gar nicht gekannt. Find' ich schön und interessant.
     
Die Seite wird geladen...

Diese Seite empfehlen