Automatiser les sauvegardes d’Obsidian sur macOS avec Git et Launchd

12 mai 2026

Automatiser les sauvegardes d’Obsidian sur macOS avec Git et Launchd

O Obsidian est un outil puissant pour la gestion des notes, et la mise en place d’une sauvegarde automatisée est essentielle pour la sécurité de vos données. Dans cet article, je vais vous montrer comment configurer une sauvegarde automatique de votre coffre Obsidian en utilisant Git sur macOS, avec une exécution planifiée deux fois par jour.

Prérequis

1. Création du Script de Sauvegarde

Tout d’abord, créons un script qui effectuera la sauvegarde. Créez un fichier nommé cronObsidian.sh dans le répertoire de votre choix; ici j’utiliserai le chemin suivant : ~/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

Ensuite, rendez le script exécutable :

chmod +x ~/git/cronObsidian.sh

2. Configuration de Git

Pour que le script fonctionne correctement, configurez votre nom d’utilisateur et votre email dans Git :

git config --global user.name "Seu Nome"
git config --global user.email "[email protected]"

3. Configuration de la Tâche Planifiée avec Launchd

Sous macOS, nous utilisons launchd plutôt que cron traditionnel. Créez un fichier plist dans ~/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. Activation de la Tâche Planifiée

Chargez la tâche dans launchd :

launchctl load ~/Library/LaunchAgents/com.user.cronobsidian.plist

Vérifiez si cela fonctionne :

launchctl list | grep cronobsidian

5. Vérification du Fonctionnement

Le script sera désormais exécuté automatiquement :

Les journaux seront enregistrés à :

Conseils de Dépannage

  1. Vérifiez les permissions du script (il doit être exécutable)
  1. Confirmez que les chemins dans le fichier plist sont corrects
  1. Consultez les fichiers de log pour identifier d’éventuelles erreurs
  1. Assurez-vous que Git est configuré correctement

Conclusion

Avec cette configuration, votre vault Obsidian sera automatiquement versionné et sauvegardé deux fois par jour. Cela garantit que vos notes restent toujours en sécurité et synchronisées avec votre dépôt distant.

Fabien Delpont

Auteur

Fabien Delpont

Fabien Delpont, développeur et créateur du site Python Doctor.