I use this script to regularly backup my Emacs org-roam files to a git repository. It requires you to already have initialised the directory in a remote git repository.
```bash
#!/usr/bin/env bash
ORG_PATH=$1;
cd $ORG_PATH;
if [[ ! `git status --porcelain` ]];
then
echo "No changes to repository; skipping this commit.";
exit 1;
fi
echo "Committing changes to org (${ORG_PATH}) to git";
DATE=$(date +%Y%m%d%H%M%S);
git add .;
git config commit.gpgsign false;
git commit -a -m "Autocommit from \`org-git.sh\` at ${DATE}";
git push;
```
This can be added to your user's crontab like so:
```sh
# m h dom mon dow command
*/5 * * * * bash /path/to/script.sh /path/to/directory >/dev/null 2>&1;
```