Si estás seguro de que esto es algo que quieres hacer, creo que la mejor manera de probarlo es utilizar el tmutil
(utilidad de la Máquina del Tiempo).
Citando a man tmutil
startbackup
Inicie una copia de seguridad si aún no está en marcha.
Opciones:
--auto Ejecuta la copia de seguridad en un modo similar al de las copias de seguridad programadas por el sistema.
--block Esperar (bloquear) hasta que la copia de seguridad haya terminado antes de salir.
--rotación Permitir la rotación automática del destino durante la copia de seguridad.
--destino Realiza la copia de seguridad en el destino correspondiente al ID especificado.
La opción --auto proporciona un mecanismo soportado con el que activar copias de seguridad "de tipo automático", similares a las copias de seguridad automáticas programadas por el sistema. Si bien esto no es idéntico a las copias de seguridad verdaderamente programadas por el sistema, proporciona a los programadores personalizados la capacidad de lograr algunos (pero no todos) comportamientos normalmente exhibidos cuando se opera en modo automático.
Combina eso con launchd
y puedes tener tmutil
que se ejecuta cada 15 minutos, toma esto:
<?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.tjluoma.time-machine-intervals</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/tmutil</string>
<string>startbackup</string>
<string>--auto</string>
<string>--rotation</string>
</array>
<key>RunAtLoad</key>
<false/>
<key>StandardErrorPath</key>
<string>/tmp/com.tjluoma.time-machine-intervals.stderr.log</string>
<key>StandardOutPath</key>
<string>/tmp/com.tjluoma.time-machine-intervals.stdout.log</string>
<key>StartInterval</key>
<integer>900</integer>
</dict>
</plist>
y guardarlo como ~/Library/LaunchAgents/com.tjluoma.time-machine-intervals.plist
y luego cargarlo en launchd
con este comando en el Terminal:
launchctl load ~/Library/LaunchAgents/com.tjluoma.time-machine-intervals.plist
Así es como se ve en LaunchControl que es mi aplicación favorita para trabajar con launchd
plistas:
0 votos
csrutil
es SIP (System Integrity Protection), y es posible que quiera añadirlo para mayor claridad