[GastForen Betriebsysteme und Dienste Apple (Hard- und Software) Eine Datei zum festgelegten Zeitpunkt löschen. Wie geht das?

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Eine Datei zum festgelegten Zeitpunkt löschen. Wie geht das?

JoPo
Beiträge gesamt: 522

28. Okt 2010, 15:57
Beitrag # 1 von 7
Bewertung:
(3226 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

wie kann ich das System (oder ein Hilfsprogramm) veranlassen, eine bestimmte Datei oder den Inhalt eines bestimmten Ordners zu einer festgelegten Zeit zu löschen?

Gibt es eine solche Möglichkeit?

Ich bin jetzt 6 Stunden nicht in der Lage auf Fragen zu atworten, brauche die Lösung aber bis morgen 8 Uhr.
Ich schaue ab 23 Uhr wieder hier rein.

Danke für Tippes und Infos
Salü
jopo

(Dieser Beitrag wurde von JoPo am 28. Okt 2010, 16:00 geändert)
X

Eine Datei zum festgelegten Zeitpunkt löschen. Wie geht das?

pronto
Beiträge gesamt: 1180

28. Okt 2010, 18:28
Beitrag # 2 von 7
Beitrag ID: #455533
Bewertung:
(3199 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Außer cron und launchd ist mir nichts bekannt, was in Mac OS sonst noch für scheduled Tasks verwendet werden könnte. cron ist AFAIK ab Tiger nicht mehr an Board, also bliebe noch launchd. Damit kannst du dann ein beliebiges Shellscript zu einem bestimmten Zeitpunkt ausführen lassen.

Wie man ein launchd Startskript erstellt, habe ich mal in meinem wiki dokumentiert:

http://wiki.prontosystems.org/mac:start_script

Du müßtest das Script nur etwas umschreiben. In etwa so (ungetestet):

Code
<?xml version="1.0" encoding="UTF-8"?>                        
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST
1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>Irgendein Name</string>
<key>ProgramArguments</key>
<array>
<string>pfad_zum_script</string>
</array>
<key>RunAtLoad</key>
<false/>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>08</integer>
<key>Minute</key>
<integer>00</integer>
<key>Month</key>
<integer>10</integer>
<key>Day</key>
<integer>29</integer>
<key>Weekday</key>
<integer>5</integer>
</dict>
</dict>
</plist>


Das sollte morgen den 29.10 um 08:00 Uhr das Script, welches im String pfad_zum_script hinterlegt ist, ausführen.

Des Weiteren benötigst du noch das eigentliche Script zum Löschen der Datei, was ein simples Bash Skript sein kann:

Code
#!/bin/bash 
rm -rf /pfad/zum/verzeichnis
rm -f /pfad/zur/datei



Weitere Details kannst du aus dem Apple Developer Artikel ab "Running a Process on a Schedule" entnehmen:

http://developer.apple.com/...-DontLinkElementID_7

HTH Tom


als Antwort auf: [#455498]

Eine Datei zum festgelegten Zeitpunkt löschen. Wie geht das?

Thomas Richard
Beiträge gesamt: 19247

28. Okt 2010, 20:06
Beitrag # 3 von 7
Beitrag ID: #455543
Bewertung:
(3177 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Mir fällt da noch der Apple’sche Kalender ein.

Bei den Erinnerungsoptionen gibt es neben mail und Nachricht am Bildschirm noch die Option 'Skript ausführen'.
Da eine kleine Automatoraktion, obiges Shellscript oder ein Applescript eintragen und man ist quasi ohne Programmierung davongekommen.

Bei dem Shellscript unbedingt vorher dafür sorgen das es ausführbar ist:
Code
chmod 755 /Pfad/zum/Script 

'Sonst wird da zum angepeilten Zeitpunkt nämlich nicht viel passieren.


als Antwort auf: [#455498]
(Dieser Beitrag wurde von Thomas Richard am 28. Okt 2010, 20:09 geändert)

Eine Datei zum festgelegten Zeitpunkt löschen. Wie geht das?

pronto
Beiträge gesamt: 1180

28. Okt 2010, 20:50
Beitrag # 4 von 7
Beitrag ID: #455545
Bewertung:
(3158 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Thomas Richard ] Mir fällt da noch der Apple’sche Kalender ein.

Bei den Erinnerungsoptionen gibt es neben mail und Nachricht am Bildschirm noch die Option 'Skript ausführen'.
Da eine kleine Automatoraktion, obiges Shellscript oder ein Applescript eintragen und man ist quasi ohne Programmierung davongekommen


Cool... Das klingt wirklich simpel!

Zu prüfen wäre noch, wie es sich verhält, wenn der Mac zu der Zeit schläft. Irgendwo habe ich gelesen, dass zumindest mein Workaround nicht funktioniert, wenn das System im Sleep Modus ist, sondern erst ausgeführt wird, wenn es wieder aufwacht...

Hier hab ichs:

Zitat von Apple KB As a result, if your computer is asleep at the scheduled time, in Mac OS X v10.3 and earlier, the job does not run; in Mac OS X v10.4 and later, the job executes automatically when the computer wakes up. For this reason, you should not assume that a job will run at a particular time or on a particular day.


http://developer.apple.com/...-DontLinkElementID_7

War grad dabei mir den Kopf zu zerbrechen, wie man das Ding zu einem bestimmten Zeitpunkt aufwecken kann aber möglicherweise ist das beim OP gar nicht relevant.

Bye Tom


als Antwort auf: [#455543]

Eine Datei zum festgelegten Zeitpunkt löschen. Wie geht das?

Thomas Richard
Beiträge gesamt: 19247

28. Okt 2010, 21:30
Beitrag # 5 von 7
Beitrag ID: #455549
Bewertung:
(3142 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das dürfte in dem Fall völlig egal sein, weil dieZugriffsmöglichkeit auf die Dateien ist bei schlafendem Rechner in etwa die gleiche wie bei wachem mit gelöschten Dateien. Wenn sie im letzteren Fall noch im Papierkorb liegen, dürfte der erste Fall sogar noch sicherer sein ;-)


als Antwort auf: [#455545]

Eine Datei zum festgelegten Zeitpunkt löschen. Wie geht das?

pronto
Beiträge gesamt: 1180

28. Okt 2010, 21:40
Beitrag # 6 von 7
Beitrag ID: #455550
Bewertung:
(3135 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Thomas Richard ] Das dürfte in dem Fall völlig egal sein, weil dieZugriffsmöglichkeit auf die Dateien ist bei schlafendem Rechner in etwa die gleiche wie bei wachem mit gelöschten Dateien.



Tja, das ist wohl wahr!

Antwort auf: Wenn sie im letzteren Fall noch im Papierkorb liegen, dürfte der erste Fall sogar noch sicherer sein ;-)


Jetzt wo du es erwähnst, sollten wir vielleicht noch dazu sagen, dass beim Löschen über ein Shell Skript die Daten hinterher nicht im Papierkorb liegen.

Bye Tom


als Antwort auf: [#455549]

Eine Datei zum festgelegten Zeitpunkt löschen. Wie geht das?

Thomas Richard
Beiträge gesamt: 19247

28. Okt 2010, 21:53
Beitrag # 7 von 7
Beitrag ID: #455552
Bewertung:
(3128 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Könnte man machen.

Ich hab aber auch noch was beizutragen:

Das von Apple mitgelieferte Script

~/Library/Scripts/Applications/Finder/Finder Windows - Hide All.scpt

Funktioniert in beiden Konstellationen wie erwartet:

Während der Rechner an ist, verschwanden eben sämtlich Finderfenster eines nach dem anderen im Dock.

Und auch nach dem Erwecken aus dem Ruhezustand wurden nach einigen Sekunden wieder alle Finderfenster verdockt.


als Antwort auf: [#455550]
X