O Obsidian é uma ferramenta poderosa para gerenciamento de notas, e manter um backup automatizado é essencial para a segurança dos seus dados. Neste post, vou mostrar como configurar um backup automático do seu vault do Obsidian usando Git no macOS, com execução programada duas vezes ao dia.
Pré-requisitos
- macOS
- Git instalado
- Repositório Git configurado (GitHub, GitLab, etc.)
- Conhecimento básico de terminal
- Obsidian instalado com um vault configurado
1. Criando o Script de Backup
Primeiro, vamos criar um script que realizará o backup. Crie um arquivo chamado cronObsidian.sh
no diretório de sua preferência aqui vou utilizar o seguinte ~/git:
#!/bin/zsh
echo "Atualizando repositório Obsidian..."
d=$(date +'%a %b %e %H:%M:%S %Z %Y')
msg="UpdateAt: ""$d"
cd ~/git/obsidianVault
git add .
git commit -m "$msg"
git push origin main
Depois, torne o script executável:
chmod +x ~/git/cronObsidian.sh
2. Configurando o Git
Para que o script funcione corretamente, configure seu nome de usuário e email no Git:
git config --global user.name "Seu Nome"
git config --global user.email "seu.email@exemplo.com"
3. Configurando a Tarefa Agendada com Launchd
No macOS, usamos o launchd em vez do cron tradicional. Crie um arquivo plist em ~/Library/LaunchAgents/com.user.cronobsidian.plist:
<?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.user.cronobsidian</string>
<key>ProgramArguments</key>
<array>
<string>/Users/SeuUsuario/git/cronObsidian.sh</string>
</array>
<key>StartCalendarInterval</key>
<array>
<dict>
<key>Hour</key>
<integer>12</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
<dict>
<key>Hour</key>
<integer>18</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
</array>
<key>StandardOutPath</key>
<string>/Users/SeuUsuario/Library/Logs/cronobsidian.log</string>
<key>StandardErrorPath</key>
<string>/Users/SeuUsuario/Library/Logs/cronobsidian.error.log</string>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
4. Ativando a Tarefa Agendada
Carregue a tarefa no launchd:
launchctl load ~/Library/LaunchAgents/com.user.cronobsidian.plist
Verifique se está funcionando:
launchctl list | grep cronobsidian
5. Verificando o Funcionamento
O script agora executará automaticamente:
- Às 12:00 (meio-dia)
- Às 18:00 (6 da tarde)
Os logs serão gravados em:
- ~/Library/Logs/cronobsidian.log (saída padrão)
- ~/Library/Logs/cronobsidian.error.log (erros)
Dicas de Solução de Problemas
- Verifique as permissões do script (deve ser executável)
- Confirme se os caminhos no arquivo plist estão corretos
- Verifique os arquivos de log para identificar possíveis erros
- Certifique-se de que o Git está configurado corretamente
Conclusão
Com essa configuração, seu vault do Obsidian será automaticamente versionado e backup-ado duas vezes ao dia. Isso garante que suas notas estejam sempre seguras e sincronizadas com seu repositório remoto.