Riapro il mio blog con una piccola guida su come effettuare l’invio periodico di un sms da un iphone sfruttando launchd! Utile anche come base per chi ha bisogno di capire come funziona launchd!

Che cos’è launchd ?

è un tool che oltre a lanciare i processi all’avvio, può svolgere i compiti di crontab permettendo di lanciare dei comandi periodicamente. La configurazione è gestita tramite file plist, mentre la gestione del demone è affidata al comando launchctl.

Prerequisiti:

  1. Capacità di accedere al file system.
  2. Utility sendSms.

File di configurazione plist, com.giusti.sendSms

contenuto:

<?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.giusti.sendSms</string>
<key>ProgramArguments</key>
<array>
<string>sendsms</string>
<string>+39**********</string>
<string>testoSms</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>21</integer>
<key>Minute</key>
<integer>00</integer>
</dict>
</dict>
</plist>
Sostituire gli ********* con il numero del destinatario, e alla voce testoSms la parola da inviare.
Per la schedulazione possiamo impostare l’ora di invio alla chiave Hour e alla chiave Minute, quindi sostituire 21 e 00 con l’orario scelto.
Il plist così creato va posizionato della folder /System/Library/LaunchDaemons/
Da questo punto basta un reboot per caricare automaticamente la schedulazione! Possiamo verificarne in corretto caricamento da terminale
facendo: launchctl list | grep giusti ( o nome che avete scelto per la property Label ).
Ricordo che questa è un versione molto rudimentale senza nessun controllo di errore!