Il solito modo di eseguire i comandi a intervalli regolari è usare launchd
Un modo semplice è utilizzare strumenti come Lingon X o LaunchControl per mantenere il file di configurazione daemon / agente.
Puoi anche farlo senza lo strumento creando il file con un semplice editor. Per eseguire come root è necessario un file .plist in / Library / LaunchDaemons. Questo ha bisogno di fornire lo script e i suoi argomenti e verrà eseguito come root.
Nel tuo caso crea uno script per eseguire entrambi gli aggiornamenti
port -v selfupdate
port -v upgrade outdated
Apple fornisce un esempio per eseguire uno script chiamato happybirthday come sotto
<?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.example.happybirthday</string>
<key>ProgramArguments</key>
<array>
<string>happybirthday</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Day</key>
<integer>11</integer>
<key>Hour</key>
<integer>0</integer>
<key>Minute</key>
<integer>0</integer>
<key>Month</key>
<integer>7</integer>
<key>Weekday</key>
<integer>0</integer>
</dict>
</dict>
</plist>