Projekat

Općenito

Profil

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

  1. 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

  1. smraka-1 /etc backup

<=