Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Skript zum automatischen Starten der Jobs daily, weekly..

 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> OS X-Snippets
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
roser
•-->
•-->


Anmeldedatum: 29.09.2003
Beiträge: 61
Wohnort: Solingen

BeitragVerfasst am: 23.01.2004 - 10:52    Titel: Skript zum automatischen Starten der Jobs daily, weekly.. Antworten mit Zitat

, monthly

Das Skript kann am besten als Startobjekt benutzt werden:

property letztesDatumTag : date "Samstag, 10. Dezember 1966 12:00:00 Uhr"
property letztesDatumWoche : date "Samstag, 10. Dezember 1966 12:00:00 Uhr"
property letztesDatumMonat : date "Samstag, 10. Dezember 1966 12:00:00 Uhr"

-- Starten --
set heuteDatum to (current date)
set anweisung to ""

-- Täglich
if (date string of heuteDatum) ? (date string of letztesDatumTag) then

-- Der tägliche Job muß ausgeführt werden
set anweisung to anweisung & "sh -c " & "/etc/daily"

--Merken
set letztesDatumTag to heuteDatum

end if

-- Wöchentlich
if heuteDatum > (letztesDatumWoche + 1 * weeks) then

-- Wöchentlich-Job muß ausgeführt werden
if anweisung = "" then
set anweisung to anweisung & "sh -c " & "/etc/weekly"
else
set anweisung to anweisung & "; /etc/weekly"
end if

--Merken
set letztesDatumWoche to heuteDatum
end if

-- Monatlich
if heuteDatum > (letztesDatumMonat + 4 * weeks) then

-- Monats-Job muß ausgeführt werden
if anweisung = "" then
set anweisung to anweisung & "sh -c " & "/etc/monthly"
else
set anweisung to anweisung & "; /etc/monthly"
end if

--Merken
set letztesDatumMonat to heuteDatum
end if

-- Und jetzt ausführen
if anweisung ? "" then
do shell script "" & anweisung with administrator privileges
end if

Habe in der Vorschau gesehen, dass das Ungleich-Zeichen (Alt-Null) als Fragezeichen dargestellt wird. Bitte vorher ändern.

Viel Spass.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
mcmonk
•->
•->


Anmeldedatum: 18.01.2005
Beiträge: 6

BeitragVerfasst am: 18.01.2005 - 20:12    Titel: Antworten mit Zitat

Hi,

ganz net,

meine Frage ist gibts es vllt auch noch ne möglichkeit eine Stundenangabe einzubauen?

Oder Bspw. wenn ich um 5:50 etwas neues einbaut kommt es jede woche um 5:50?

Bye
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1529
Wohnort: Olten-CH

BeitragVerfasst am: 26.02.2005 - 12:41    Titel: Antworten mit Zitat

& "sh -c " & "/etc/monthly" --und "; /etc/monthly"
Confused
ich hab es noch mit Snows CodeFormatter etwas angepinselt und die UNGLEICHS ersetzt.
property letztesDatumTag : date "Samstag, 10. Dezember 1966 12:00:00 Uhr"
property letztesDatumWoche : date "Samstag, 10. Dezember 1966 12:00:00 Uhr"
property letztesDatumMonat : date "Samstag, 10. Dezember 1966 12:00:00 Uhr"

-- Starten --
set heuteDatum to (current date)
set anweisung to ""

-- Täglich
if (date string of heuteDatum) is not (date string of letztesDatumTag) then

-- Der tägliche Job muß ausgeführt werden
set anweisung to anweisung & "sh -c " & "/etc/daily"

--Merken
set letztesDatumTag to heuteDatum

end if

-- Wöchentlich
if heuteDatum > (letztesDatumWoche + 1 * weeks) then

-- Wöchentlich-Job muß ausgeführt werden
if anweisung = "" then
set anweisung to anweisung & "sh -c " & "/etc/weekly"
else
set anweisung to anweisung & "; /etc/weekly"
end if

--Merken
set letztesDatumWoche to heuteDatum
end if

-- Monatlich
if heuteDatum > (letztesDatumMonat + 4 * weeks) then

-- Monats-Job muß ausgeführt werden
if anweisung = "" then
set anweisung to anweisung & "sh -c " & "/etc/monthly" --und "; /etc/monthly"
else
set anweisung to anweisung & "; /etc/monthly"
end if

--Merken
set letztesDatumMonat to heuteDatum
end if

-- Und jetzt ausführen
if anweisung is not "" then
do shell script "" & anweisung with administrator privileges
end if



--Gruss Willy
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius


Zuletzt bearbeitet von spirigwi am 22.03.2005 - 08:31, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1529
Wohnort: Olten-CH

BeitragVerfasst am: 19.03.2005 - 09:59    Titel: Antworten mit Zitat

Snow hat Folgendes geschrieben:

In dem besagten Snippet geht es darum, die sog. Cron-Jobs manuell zu starten. Ein UNIX-System ist eigentlich dazu konzipiert, ständig zu laufen. Nachts werden dann vom System Aufräumarbeiten vorgenommen (vollautomatisch). Da ein Desktop-Computer kaum ständig an ist (wie z.B. ein Server), können diese Aufräumarbeiten natürlich nicht ausgeführt werden, deshalb sollte man sie von Zeit zu Zeit manuell anstossen. Es gibt 3 verschiedene solcher Aufräum-Jobs. Täglich, wöchentlich und monatlich. Diese drei Jobs werden in dem Snippet gestartet.
...

aha, in HILFE gibts was(für jemand der erstes Mal solche UNIX-Befehle mit shell aufgerufen sieht):

Zitat:
Der Befehl "Do Shell Script" lässt Sie UNIX Befehle in einem AppleScript Skript verwenden. "Do Shell Script" verwendet "sh" als Standard-Shell. Die Standard-Shell für das Programm "Terminal" ist "tcsh".

ich glaub da sind zum Verständnis paar Grundbegriffe als Weiterführung von Snows Info. Mir jedenfalls hilfts, hoffe andern auch

Und jetzt wird mir schlagartig klar warum OSX so heisst: wegen UNIX
sorry aber im Moment heisst für mich OSX immernoch:

OSNIXverstenn
... Clowngesicht
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius


Zuletzt bearbeitet von spirigwi am 22.03.2005 - 08:33, insgesamt 2-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1529
Wohnort: Olten-CH

BeitragVerfasst am: 21.03.2005 - 20:59    Titel: Antworten mit Zitat

ich hab nur noch etwas nicht begriffen:

ihr könnt offenbar der UNIX Ebene eine Leistung abringen mit
"sh -c " & "/etc/daily" und dann macht er irgend etwas täglich:

Was? können "wir" Apple Skripter auch etwas manipulieren an dieser Aufgabe?
gibt es an der OSX -Oberfläche irgendwelche Voreinstellungen die dann "daily" ablaufen?

jedenfalls ist dein SNIPPET ja auch nützlich ohne UNIX-Befehle indem man stattdessen irgend einen AS-handler anhängt der ZB monatlich ausgeführt werden soll und die Entscheidung darüber ob er soll oder nicht wird aus den property-Ueberschreibungen im Moment des Skript-Aufrufes errechnet?
patent die Sache, ich probiere etwas mehr Durchblick
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 21.03.2005 - 21:17    Titel: Antworten mit Zitat

spirigwi hat Folgendes geschrieben:
ihr könnt offenbar der UNIX Ebene eine Leistung abringen mit
"sh -c " & "/etc/daily" und dann macht er irgend etwas täglich:

Was? können "wir" Apple Skripter auch etwas manipulieren an dieser Aufgabe?
gibt es an der OSX -Oberfläche irgendwelche Voreinstellungen die dann "daily" ablaufen?


Da machst du wohl einen kleinen Denkfehler. Die Cron-Jobs laufen normalerweise automatisch (wiederkehrend) ab. Allerdings nur, wenn der Rechner auch zu dieser Zeit an ist. Da Desktop-Rechner aber eher selten 24/7 in Betrieb sein werden, fallen immer wieder die Cron-Jobs aus. Das obige Skript sorgt dafür, dass diese Jobs nachgeholt werden.

daily, weekly und monthly ist nur die Bezeichnung dieser speziellen Skripte. Die zeitliche Steuerung erfolgt durch den Eintrag dieser Skripte in die CronTab. Das ist praktisch eine To-Do-Liste für das System.

Wenn du etwas regelmäßig ausführen möchtest, starte das entsprechende Skript per iCal. Oder besorge dir ein Tool wie "Cronnix" - damit lassen sich weitere Cron-Jobs anlegen - also auch Skripte starten.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com


Zuletzt bearbeitet von Snow am 21.03.2005 - 21:28, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Peter B.
•->
•->


Anmeldedatum: 05.05.2005
Beiträge: 10

BeitragVerfasst am: 06.05.2005 - 06:47    Titel: Antworten mit Zitat

Hi!
Unter 10.4 wird der wöchentliche Cronjob beim Aufruf des Scripts nicht abgearbeitet (zumindest bei mir nicht Sad ). Hier scheint ein Fehler mit der Passwortübergabe vorzuliegen.

Gruß, Peter
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> OS X-Snippets Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter