Posso modificare gli argomenti del programma launchd in base all'intervallo del calendario?

3

Sto tentando di eseguire uno script ( zfssnap.sh ) per automatizzare le istantanee, ma uno degli argomenti deve essere modificato in base al momento in cui la voce avvia lo script. Con cron, vorrei solo aggiungere una nuova riga con l'argomento modificato e impostare i campi temporali di conseguenza.

Nella lettura delle pagine man di launchd e launchd.conf , non vedo alcun modo per associare un argomento a una specifica voce chiave StartCalendarInterval . Questo mi sembra un limite significativo, quindi forse mi manca qualcosa?

C'è un modo per modificare un argomento in base al momento in cui viene eseguito lo script? Oppure, devo fare un nuovo plist per ciascuna delle situazioni che sto cercando di soddisfare?

    
posta tim.rohrer 06.09.2018 - 21:13
fonte

1 risposta

1

La cosa "standard" da fare è creare un nuovo .plist per ogni combinazione di tempo / argomento diversa. Questo è essenzialmente l'equivalente di creare più voci nel crontab, tranne per il fatto che ogni "voce" è un intero file, non solo una riga.

Ne sono un buon esempio nelle voci del daemon di avvio di macOS per il programma di manutenzione periodica. /System/Library/LaunchDaemons/com.apple.periodic-daily.plist esegue / usr / libexec / periodic-wrapper con l'argomento "daily" e un intervallo di 24 ore, ... periodic-weekly.plist lo esegue con argomento "settimanale" e un intervallo di 7 giorni, e ... periodic-monthly.plist lo esegue con l'argomento "mensile" e un intervallo di 30.44 giorni.

    
risposta data 07.09.2018 - 04:19
fonte

Leggi altre domande sui tag