Content of cronjob script:

#!/bin/bash

git config user.name || git config --global user.name "jenkins"
git config user.email || git config --global user.email "[email protected]"


cd ${JENKINS_HOME}
git add .
git add -u .
git status
git commit -m "auto-backup configuration changes"
git push origin master

Content of .gitignore file:

# Ignoring everything
*

# Except xml files in users and jobs
!/users/
!/users/*/
!/jobs/
!/jobs/*/
!/secrets/
!/secrets/*
!/secrets/*/
!/secrets/*/*

!/config-history
!/config-history/*
!/config-history/**/
!/config-history/**/*

!/plugins
!/plugins/*
!/plugins/**/
!/plugins/**/*



!/secret*
!/identity.key.enc

!*.xml
!.gitignore
!README.md
!cron.sh

!change-email.sh