Cron으로 Remote Git 동기화

2024. 6. 11. 17:26Cloud

git 리포지터리를 동기화 할 필요가 있을때 linux 서버 기준으로 cron에 등록하여 동기화 하는 방법입니다.

test 리포지터리의 master 브랜치를 clone 리포지터리의 master branch로 동기화 하는 샘플입니다.

 

$> cd /home/woocc/git

 

## 원본 git 을 clone 한다. 여기서는 ssh 인증을 사용하였다.

$> git clone git@github.com:wcc8088/test.git -b master

 

## clone 된 git 으로 이동한다.

$> cd test

 

## 등록된 remote 를 확인한다.

$> git remote -v

origin  git@github.com:wcc8088/test.git (fetch)
origin  git@github.com:wcc8088/test.git (push)

 

## 동기화 할 remote 를 추가한다. clone 은 등록할 리모트 이름이고 뒤에는 리포지터리 주소이다.

$> git remote add clone git@github.com:wcc8088/clone.git

 

## 등록된 remote 를 확인한다.

$> git remote -v 

clone   git@github.com:wcc8088/clone.git (fetch)
clone   git@github.com:wcc8088/clone.git (push)
origin  git@github.com:wcc8088/test.git (fetch)
origin  git@github.com:wcc8088/test.git (push)

 

## cron 에 등록할 script를 생성한다.

$> vi cron-clone.sh

cd /home/woocc/git/test
git pull origin master
git push clone master 

 

## crontab 에 등록한다.

$> crontab -e

20 8 * * * sh /home/woocc/git/cron-clone.sh >> /home/woocc/git/clone.log 2>&1

 

## 로그를 확인한다.

$> cd /home/woocc/git

$> cat clone.log
From github.com:wcc8088/test
 * branch            master     -> FETCH_HEAD
Already up to date.
Everything up-to-date

'Cloud' 카테고리의 다른 글

Ceph 정리 - 작성중  (0) 2021.07.22