Como atualizo automaticamente meu banco de dados todas as noites

1

Atualmente, todos os dias antes de começar a trabalhar, concluo o seguinte procedimento:

  • ssh para o servidor de produção
  • gzip nosso arquivo de despejo diário do banco de dados
  • scp o arquivo de dump gzipado para o meu computador
  • gunzip o arquivo de despejo
  • dropdb mydatabase
  • createdb mydatabase
  • psql mydatabase < dump.sql

É possível (tenho certeza que é) para automatizar esse processo no Mac OSX? Desta forma, é feito no momento em que eu começo a trabalhar de manhã. Se sim, qual é a maneira mais rápida e fácil?

    
por Russ Bradberry 07.05.2010 / 22:09

2 respostas

1

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.

    
por 07.05.2010 / 22:52
0

Você pode usar Espere pelo trabalho. Este programa pode iniciar tarefas e enviar entrada para o processo com base na saída obtida.

    
por 07.05.2010 / 22:45