Wie kann ich GrandPerspective automatisch nach Zeitplan scannen lassen?

Melden
  1. Einleitung
  2. GrandPerspective mit Skript steuern
  3. Automatisierung via Launch Agents (launchd)
  4. Wichtige Hinweise zur Umsetzung
  5. Zusammenfassung

Einleitung

GrandPerspective ist ein beliebtes macOS-Tool zur Visualisierung der Festplattennutzung. Es bietet jedoch keine integrierte Funktion, um Scans automatisch nach einem Zeitplan durchzuführen. Um dennoch automatische Scans zu realisieren, muss man auf macOS-eigene Werkzeuge wie cron oder launchd zurückgreifen. Hier folgt eine ausführliche Anleitung, wie man GrandPerspective durch ein Skript steuert und dieses regelmäßig ausführen kann.

GrandPerspective mit Skript steuern

GrandPerspective selbst bietet über die Benutzeroberfläche keine Kommandozeilenoptionen zum Starten eines Scans oder zum Exportieren von Ergebnissen. Allerdings kann man Lösungen nutzen, die AppleScript oder Automator einsetzen, um GrandPerspective fernzusteuern. Ein typisches Szenario ist, dass ein AppleScript GrandPerspective öffnet, einen Scan auf einem bestimmten Verzeichnis startet und die Ergebnisse als Bilddatei exportiert.

Ein Beispiel für ein solches AppleScript könnte so aussehen:

tell application "GrandPerspective" activate set targetFolder to POSIX file "/Users/username/Documents" as alias scan targetFolder delay 60 -- warte auf den Abschluss des Scans (anpassen je nach Größe) export image to POSIX path "/Users/username/Desktop/Scan-Ergebnis.png"end tell

Die tatsächliche Syntax kann sich abhängig von der GrandPerspective-Version unterscheiden. Ebenfalls ist es wichtig, dem Script genügend Zeit für den Scan einzuräumen, da dieser zeitintensiv sein kann.

Automatisierung via Launch Agents (launchd)

macOS verwendet launchd für zeitgesteuerte Aufgaben statt des klassischen cron. Um ein Script regelmäßig auszuführen, legt man eine Property List-Datei mit Definitionen für die Ausführung an. Das Skript (AppleScript oder shell Script) sollte zuvor so entwickelt sein, dass es den Scan aufruft und die Ergebnisse abspeichert.

Folgende Schritte sind notwendig:

Zuerst erstellt man das eigentliche Script, das den Scan durchführt und speichert es beispielsweise unter ~/Scripts/grandperspective_scan.scpt (AppleScript-File) oder ~/Scripts/grandperspective_scan.sh (Shell-Script, das AppleScript aufruft).

Dann erstellt man eine LaunchAgent-Plist-Datei in ~/Library/LaunchAgents/, etwa com.username.grandperspective.scan.plist, mit folgendem Inhalt (Beispiel für tägliche Ausführung um 2 Uhr nachts):

Label com.username.grandperspective.scan ProgramArguments /usr/bin/osascript /Users/username/Scripts/grandperspective_scan.scpt StartCalendarInterval Hour 2 Minute 0 StandardOutPath /tmp/gpscan.out StandardErrorPath /tmp/gpscan.err RunAtLoad

Label com.username.grandperspective.scan ProgramArguments /usr/bin/osascript /Users/username/Scripts/grandperspective_scan.scpt StartCalendarInterval Hour 2 Minute 0 StandardOutPath /tmp/gpscan.out StandardErrorPath /tmp/gpscan.err RunAtLoad

Anschließend lädt man diesen LaunchAgent mit dem Terminal-Befehl:

launchctl load ~/Library/LaunchAgents/com.username.grandperspective.scan.plist

Ab sofort wird das Script automatisch täglich um 2 Uhr ausgeführt.

Wichtige Hinweise zur Umsetzung

Da GrandPerspective hauptsächlich als GUI-Anwendung ausgelegt ist, können Automatisierungen Schwierigkeiten bereiten, speziell wenn keine offiziellen AppleScript-Befehle verfügbar sind. In manchen Fällen kann es empfehlenswert sein, sichtbare GUI-Interaktionen mit AppleScript oder Tools wie Automator oder UI-Scripting umzusetzen, um Menübefehle zu simulieren.

Außerdem müssen bei solchen Automatisierungen die entsprechenden Zugriffsrechte unter "Systemeinstellungen > Sicherheit & Datenschutz > Bedienungshilfen" oder "Automation" erteilt werden, damit das Script GrandPerspective steuern kann.

Alternativ gibt es auch andere Tools zur Analyse der Festplattennutzung, die besser für automatisierte Skripte geeignet sind, falls GrandPerspective sich nicht gut automatisieren lässt.

Zusammenfassung

Ein automatisches Scannen mit GrandPerspective nach Zeitplan ist möglich, aber nicht direkt mit Bordmitteln der App. Der Ansatz funktioniert über AppleScript in Kombination mit einem Zeitsteuerungsmechanismus wie launchd. Dabei kontrolliert ein Skript GrandPerspective-Geräte und startet Scans, die dann automatisch zu vom Nutzer gewünschten Zeiten ablaufen. Diese Technik erfordert etwas Einarbeitung in AppleScript, macOS-LaunchAgents und eventuell GUI-Automatisierung.

0

Kommentare