내용으로 건너뛰기
권남
사용자 도구
로그인
사이트 도구
검색
도구
문서 보기
이전 판
역링크
최근 바뀜
미디어 관리자
사이트맵
로그인
>
최근 바뀜
미디어 관리자
사이트맵
추적:
git:as_backup
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== git as backup ====== * [[:git|git]]을 백업도구로 사용하기 * [[git:gitsync|gitsync]] ===== 특정 디렉토리 이하를 Git Repository로 백업할 때 ===== * SSH Key 를 생성해서 등록. [[https://github.com|github]] 이면 public key 를 **Deploy Key**로 등록. * private key 는 백업할 시스템 계정의 ''~/.ssh/id_rsa'' 로 둔다. 그게 아니면 [[linux:ssh|Linux SSH]]에서 ''ssh-agent''로 등록해야한다. * 예를들어 ''/home/x/mydata'' 이하를 백업한다면, 해당 디렉토리 이하의 디렉토리나 파일들중 ignore할게 있다면 먼저 ignore할 파일, 디렉토리 바로 상위에 ''.gitignore''를 만들어서 해당 파일/디렉토리를 기입해준다. * Git repository를 생성한다. 예, ''mydata''리포지토리 <code sh> # 미리 .gitignore 처리 필수 cd /home/x/mydata git init # 혹은 .gitattributes 에 * -text 항목 필요. 불필요한 줄끝형식 변환제거 git config core.autocrlf false git config user.email "your@email.com" git config user.name "Git AutoBackup" # 필요하면 git config push.default simple # 파일 추가하고 커밋&푸쉬 git add . git commit -m 'backup initialized' git branch -M main git remote add origin <https://githost.com/path-to-git-backup.git> git push -u origin main </code> ===== 주기적 백업을 수행할 shell script 생성 ===== * ''backup.sh'' <code sh> NOWT=$(date +"%Y-%m-%d %T") cd /path/to/workingdir git add . git commit -m "$NOWT Automated git push" git push </code> * commit 할게 없어도 오류 없이 무시된다. ===== cron 등록 ===== * 매일 새벽 4시 5분에 실행. <code sh> 5 4 * * * /path/to/backup.sh > /tmp/cron_log.log 2>&1 </code> * 로그를 계속 남기려면 로그 파일 리다이렉트를 ''%%>>%%'' 로 설정하고 [[linux:logrotate|logrotate]] 를 해준다. ===== 참조 ===== * [[https://thearjunmdas.github.io/entries/backup-org-files-in-github/#code-snippet--back-up-file-to-github.sh|Backup org files in github :: ArMD — Architect Manager Devloper]]
git/as_backup.txt
· 마지막으로 수정됨: 2020/09/23 13:49 저자
kwon37xi
문서 도구
문서 보기
이전 판
역링크
맨 위로