De uns tempos pra cá, comecei a desenvolver um site usando Django, tem alguns meses que estou desenvolvendo no meu tempo livre e recentemente resolvi colocar ele online de verdade.
Como o site vai ter bastante upload de arquivo por parte do usuário queria um jeito simples de fazer backup disso.
Vi um monte de jeito que o pessoal estava usando, até que vi o headless Dropbox e gostei. Seguindo essa linha resolvi dar uma pesquisada melhor nisso e fiz usando ele também.
Na página de download do Dropbox tem um link para a versão headless que você pode colocar no seu servidor.
Eu criei um usuário exclusivamente pra rodar o daemon do Dropbox. Com um script eu limito o CPU que o processo pode consumir e diminuo a prioridade que ele tem em operações de IO.
#!/bin/sh
ionice -c 3 /home/dropdaemon/.dropbox-dist/dropboxd &
sleep 4
cpulimit -b -e dropbox -l 15 -z
Como eu uso Monit nesse servidor, configurei o Monit pra ficar de olho no processo do Dropbox e executar esse script se o processo não estiver rodando.
E pra finalizar, coloquei no cron duas tarefas pra executar as 3 da manhã. Uma pra fazer o backup do banco pro diretório do Dropbox e outra pra copiar o diretório de media pra esse mesmo diretório.
Eu fiz essa task pra copiar os arquivos, pois caso alguém consiga acesso a minha conta do Dropbox poderia apagar os arquivos e isso ia me dar dor de cabeça. Acho que fica mais seguro assim.
Não é o jeito ideal de fazer as coisas mas pra minha necessidade atual está excelente!
No mais a qualidade da Digital Ocean me surpreendeu, tenho tudo, PostgreSQL, aplicação, Monit, nginx, uwsgi etc, rodando na mesma instância de um Droplet de U$5/mês!
Se você ainda não tem uma conta, use esse link, quando você se cadastrar vai ganhar U$10 de crédito.