La façon habituelle d'exécuter des commandes à intervalles réguliers est d'utiliser lancé sur le marché
Un moyen simple est d'utiliser des outils comme Lingon X ou LaunchControl pour maintenir le fichier de configuration du démon/agent.
Vous pouvez également le faire sans l'outil en créant le fichier avec un simple éditeur. Pour fonctionner en tant que Root, vous aurez besoin d'un fichier .plist dans /Library/LaunchDaemons. Cela nécessite que vous fournissiez le script et ses arguments et s'exécutera en tant que Root.
Dans votre cas créez un script pour exécuter les deux mises à jour
port -v selfupdate
port -v upgrade outdated
Apple donne un exemple pour exécuter un script appelé happybirthday comme ci-dessous
<?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>