2024. 6. 11. 17:26ㆍCloud
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 |
|---|