Eu configuraria isso como alguns scripts de shell executados pelo cron .
No servidor, configure uma tarefa para compactar o arquivo db dump e copie-o para um local conhecido como /home/russ/backups/latest.gz
. Programe este script para ser executado através do cron para que termine com pelo menos 30 minutos de sobra antes da execução do trabalho do cliente.
O script do lado do cliente faria o resto - todas as coisas do lado do cliente.
Se você quiser ser mais parecido com o Mac, execute o script do lado do cliente por meio de launchd do cron, mas o cron deve funcionar bem também.
Se você ainda não tem as habilidades necessárias para fazer isso, acho que este é um ótimo projeto para ajudá-lo a aprender scripts de shell e cron scheduling.