Git backup client podešenje¶
1) generiši ključ¶
ssh-keygen -t rsa /root/.ssh/samba.sigma-com.net
2) dodaj ključ u config¶
/root/.ssh/config
IdentityFile samba.sigma-com.net
3) podesi gitosis.conf¶
a) Prava pristupa u gitosis.conf¶
prava pristupa
[group backup_samba] members = samba.sigma-com.net writable = samba_fmk_data
repozitorij
[repo samba_fmk_data] description = fmk data samba.sigma.com.net owner = samba.sigma-com.net gitweb = yes daemon = yes
b) Dodaj public key u keydir¶
samba.sigma-com.net.pub => hernad@nmraka-1:~/admin/backup.bring.out.ba/gitosis-admin/keydir
c) git push gitosis-admin repozitorija¶
4) napravi git repozitorij na klijentu¶
git init git add \* git commit -a -m "init"
5) podesi .git/config¶
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = git@backup.bring.out.ba:samba_fmk_data.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master
6) git push inicijalno¶
uradi prvi push
root@samba:/var/lib/fmk_data# git push origin master:refs/heads/master
provjer na gitweb-u je li sve ok http://backup.bring.out.ba
7) podesi crontab za buduće push-eve¶
a) potrebni programi¶
Instaliraj anacron , ako ga nema
- apt-get install anacron
Setting up anacron (2.3-13ubuntu2) ... * Starting anac(h)ronistic cron anacron [ OK ]
b) podesi skriptu koju će cron pokretati¶
/var/lib/fmk/git_backup_update.sh
#!/bin/bash git_update_push() { cd /var/lib/fmk_data nice -n 19 git add \* cp git_status.txt git_status_old.txt nice -n 19 git status > git_status.txt nice -n 19 git commit -a -m "auto update" nice -n 19 git push } time git_update_push
c) podesi .gitignore¶
samba:/var/lib/fmk# cat .gitignore
git_status*.txt
root@hp-smraka-1:/etc# git add .gitignore
d) stavi u cron¶
/etc/cron.daily/git_backup
#!/bin/sh EXEC=/var/lib/fmk_data/git_backup_update.sh test -x $EXEC || exit 0 $EXEC
ako ima više backup poslova staviti ih jedan za drugim u git_backup
e) podesiti vrijeme kada se izvršava cron.daily¶
ovo je dobro vrijeme:
# m h dom mon dow user command ... 25 3 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
na raznim serverima ovo vrijeme treba biti različito po 20-tak minuta da ne dođe do zagušenja servera bez potrebe
R) Reference¶