Si está seguro de que esto es algo que desea hacer, creo que la mejor manera de intentarlo es usar la tmutil
(utilidad Time Machine).
Citando man tmutil
iniciar copia de seguridad
Comience una copia de seguridad si aún no se está ejecutando.
Opciones:
--auto Ejecuta la copia de seguridad en un modo similar a las copias de seguridad programadas por el sistema.
--block Espere (bloquee) hasta que finalice la copia de seguridad antes de salir.
- rotación Permitir rotación automática de destino durante la copia de seguridad.
--destination Realiza la copia de seguridad en el destino correspondiente a la ID especificada.
La opción --auto proporciona un mecanismo compatible con el cual activar copias de seguridad "automáticas", similar a las copias de seguridad automáticas programadas por el sistema. Si bien esto no es idéntico a las copias de seguridad programadas por el sistema, proporciona a los programadores personalizados la capacidad de lograr un comportamiento (pero no todo) que normalmente se exhibe cuando se opera en modo automático.
Combina eso con launchd
y puedes tmutil
correr 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 guárdelo como ~/Library/LaunchAgents/com.tjluoma.time-machine-intervals.plist
y luego cárguelo launchd
con este comando en la 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
listas:
csrutil
es SIP (Protección de integridad del sistema), y es posible que desee agregar eso para mayor claridad