Sauve­gar­der Github

Bon, pas tout Github, juste les projets auxquels je parti­cipe.

Il y a moyen de faire ça manuel­le­ment avec git clone --mirror. Je voulais quelque chose qui aille au moins lister mes projets pour les synchro­ni­ser auto­ma­tique­ment sans que j’ai besoin de les ajou­ter manuel­le­ment à mes scripts de sauve­garde.

J’ai trouvé git-sync (atten­tion, il y a beau­coup d’ou­tils du même nom) qui fait exac­te­ment ce que je veux.

La confi­gu­ra­tion

# Repository settings
include_forks: true # Include forked repositories
include_wiki: true # Include wiki's
include_repos: [] # Include specific repositories
exclude_repos: [] # Exclude specific repositories
include_orgs: [] # Include repositories from specific organizations
exclude_orgs: [] # Exclude repositories from specific organizations
raw_git_urls: [] # Raw valid git URLs

# Authentication
username: username
tokens: [xxxxxx]

# Server settings
backup_dir: /path/to/backup-dir
clone_type: mirror # Default: bare
concurrency: 5
retry:
  count: 3
  delay: 10 # in seconds
platform: github
server:
  domain: github.com
  protocol: https
notification:
  enabled: false

Et pour lancer git-sync --config /path/to/config.yaml

Au premier essai ça a synchro­nisé énor­mé­ment de choses. Ça liste tous les dépôts où vous êtes membres, donc aussi tous les dépôts privés qui vous ont été parta­gés. Je me suis rendu compte qu’il y en avait un paquet pour moi, et j’ai pu faire un peu de ménage. Ça m’a aussi permis de marquer comme archives un paquet de vieux dépôts inuti­li­sés, et de suppri­mer des trucs vides ou à peine commen­cés.


Je n’ai pas besoin de sauve­gar­der tout ça très fréquem­ment. Une fois par semaine devrait suffire. Main­te­nant, comme ça ne télé­charge que ce qui change, j’exé­cu­te­rai peut-être en quoti­dien.

Comments

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *