Miroir un repository git en tirant?

Je me demande s’il existe un moyen simple, par exemple un simple travail cron, de passer régulièrement d’un référentiel git distant à un miroir en lecture seule local à des fins de sauvegarde?

Idéalement, cela attirerait toutes les twigs et tous les tags, mais le master / trunk / head suffirait.

J’ai juste besoin d’un moyen de m’assurer que si le serveur maître git meurt, nous avons un emplacement de sauvegarde sur lequel nous pourrions basculer manuellement.

    Commencez par créer un miroir avec

    git clone --mirror git@somewhere.com:repo.git 

    puis configurez un job cron comme ceci:

     */1 * * * * gitbackup cd /backup/repo.git && git fetch -q --tags 

    Cela sauvegardera les modifications à chaque minute. Peut-être que vous voulez faire cela moins fréquemment.

    Comme Andrew l’a noté, chaque clone d’un repository git est une sauvegarde à part entière du repository. Cela dit, si vous voulez que quelque chose soit sauvegardé automatiquement sur une machine particulière, vous pouvez créer un repository nu sur le serveur de sauvegarde, y insérer toutes les twigs que vous souhaitez sauvegarder afin de le remplir initialement. Ensuite, installez simplement un hook de post-mise à jour sur le référentiel “principal” de sorte que dès qu’il y a des commits introduits, il les avance et les envoie au repository de sauvegarde. Pas besoin d’un job cron ou de rsync, et c’est une copie quasi live.

    avez-vous un access direct au serveur? alors vous pouvez simplement .git répertoire .git