Periodic daily draait niet dagelijks
27 mei 2023 - 20:11   
geplaatst door: eoms
ik heb een script geschreven dat ik dagelijks wil laten uitvoeren, en heb het in /usr/local/etc/periodic/daily/ geplaatst. Vanuit de terminal kan ik het script draaien, maar daily wordt niet dagelijks uitgevoerd. Als ik sudo periodic daily uitvoer in de terminal, dan draait het script ook.

Hoe kan ik zorgen dat periodic/daily dagelijks wordt uitgevoerd?

Een dagelijkse taak in de kalender wordt wel eens aangeraden, maar dat wil ik niet.
Periodic daily draait niet dagelijks
28 mei 2023 - 09:35    reactie #1
geplaatst door: mcmt
Ik veronderstel dat je gedaan hebt wat o.m. hier beschreven wordt? Zie je enige output in daily.out? Het lijkt mij wel dat een en ander nu vrij obsolete is.

Er is ook nog launchd. Wat complexer maar wordt meer aanbevolen. Of een Shortcut gestuurd door iets als Shortery.
Periodic daily draait niet dagelijks
28 mei 2023 - 10:04    reactie #2
geplaatst door: eoms
Dat is inderdaad het tutorial dat ik heb gevolgd. Ik realiseerde me niet dat daily, etc obsolete is, ik ga kijken naar de andere suggesties die je hebt genoemd.
Periodic daily draait niet dagelijks
28 mei 2023 - 10:13    reactie #3
geplaatst door: mcmt
Voorbeeldje van een launchd taak.

Aanvulling: De plist aanmaken kan ook met tools als launched of LaunchControl (betalend).
Bewerkt: 30 mei 2023 - 13:07 door mcmt
Periodic daily draait niet dagelijks
28 mei 2023 - 10:32    reactie #4
geplaatst door: eoms
Periodic daily draait niet dagelijks
29 mei 2023 - 07:18    reactie #5
geplaatst door: jaco123
Ik ben nogal old-skool en draai dat soort dingen gewoon lekker via crontab. Werkt al meer dan 30 jaar en gelukkig nog steeds, zonder "nieuwigheden" als periodic of launchd   :satisfied:.
Periodic daily draait niet dagelijks
29 mei 2023 - 08:54    reactie #6
geplaatst door: sluisje

geblokkeerd

Toch zijn launchdeamons en launchagents de aangewezen alternatieven voor cron. De werking is hetzelfde, de configuratie verschilt ook niet erg. Kortom, bestudeer de link van eoms en ga met je tijd mee.
Periodic daily draait niet dagelijks
29 mei 2023 - 09:24    reactie #7
geplaatst door: GeorgeM
Een dagelijkse taak in de kalender wordt wel eens aangeraden, maar dat wil ik niet.
Mijn eerste gedachte was daarom: doe het via Herinneringen (Reminders).

Maar het probleem is al opgelost...

Kortom, bestudeer de link van eoms en ga met je tijd mee.
En als je niet naar meester sluisje luistert dan krijg je slaag!  :happy:
Periodic daily draait niet dagelijks
29 mei 2023 - 13:13    reactie #8
geplaatst door: jaco123
Toch zijn launchdeamons en launchagents de aangewezen alternatieven voor cron. De werking is hetzelfde, de configuratie verschilt ook niet erg. Kortom, bestudeer de link van eoms en ga met je tijd mee.

Ik heb launchdaemon/agents al 10+ jaar geleden ooit bestudeerd. Ja, er kan veel meer mee dan met cron, maar voor simpele dingen die op een vast tijdstip moeten draaien is cron in mijn ogen echt superieur, juist vanwege de eenvoud.

Daarnaast is launchd een typisch Apple-ding. Ik heb ook nog raspberry pi's en een server met een stuk of wat Linux-VM's. Op al die apparaten werkt cron, voor mij is uniformiteit dan belangrijker dan een Apple-specifieke oplossing die voor mijn doel niks extra's bied en die alleen op Apple werkt.

Heeft dus niks te maken met meegaan met de tijd, maar gewoon omdat nou eenmaal niet elke situatie hetzelfde is.

Maakt ook niet uit, eoms is al geholpen, ik voegde de cron-optie eigenlijk alleen toe om mensen er aan te herinneren dat cron ook nog steeds gewoon werkt (en heel veel simpeler qua configuratie is dan launchd).
Periodic daily draait niet dagelijks
29 mei 2023 - 16:48    reactie #9
geplaatst door: eoms
Dit las ik op een Apple pagina: "Although it is still supported, cron is not a recommended solution. It has been deprecated in favor of launchd." Vandaar mijn keuze voor launchd.

Hier trouwens het resultaat:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>com.eoms.myscript</string>
        <key>ProgramArguments</key>
        <string>/usr/local/bin/bup.sh</string>
        <key>StartCalendarInterval</key>
        <dict>
                <key>Hour</key>
                <integer>17</integer>
        </dict>
        <key>StandardOutPath</key>
        <string>~/Library/Logs/bup.log</string>
</dict>
</plist>
Periodic daily draait niet dagelijks
29 mei 2023 - 17:05    reactie #10
geplaatst door: jaco123
Interessante web-pagina bij Apple. Bovenaan staat: "het kan op 2 manieren: launchd en cron", oudere methoden (daily en periodic) zijn "deprecated" en verderop staat dat cron ook deprecated is.

Nou zolang het werkt hou ik het lekker bij cron. Zal misschien een kwestie van smaak zijn, maar ik vind dit:

0 17 * * * /usr/local/bin/bup.sh > ~/Library/Logs/bup.log

een stuk overzichtelijker dan die XML. Zeker als je meerdere cronjobs hebt dan kun je middels "crontab -l" een heel compact overzicht krijgen van alle one-liners.
(Toegegeven, die eerste 5 posities zet ik meestal in een commentaar-regel een spiekbriefje bij)