tar 압축할때 동시에 외부 사용자가 그 파일 사용한다면? > 서버관리자

서버관리자

서버관리자 모임 게시판 입니다.

tar 압축할때 동시에 외부 사용자가 그 파일 사용한다면? 정보

tar 압축할때 동시에 외부 사용자가 그 파일 사용한다면?

본문

서버 관리자가 tar 압축이용 백업을 하려고

tar 명령어로 디렉토리를 압축을 하고 있는 도중에

웹상의 외부 사용자가 그 파일 사용한다면? 

 

그 파일은 깨진다는 말을 들은거 같은데

그래서 그것을 방지하기 위해

 

백업을 tar 압축사용하지 앟고 cp 로 백업을 한다는 말이 있던것 같은데

 

어떠합니까?

 

 

공감
0

댓글 23개

서버에서 순차적으로 압축이 풀어져서 덮어 씌워 지기 때문에 문제가 되지 않을듯 합니다만,
정말 동시에 압축을 풀어 만약 파일이 깨어지면 다시 압축을 풀어 덮어쓰기 하면 해결될 일이 아닌가요....^^
글쎄요. 그런경우가 흔하진 않을텐데요.
 그파일을 동시 사용을 못하도록 FTP 또는 shell 을 막은후에 압축 하시면 되지 않을까요.
예.. 그런 경우가 없으니 안전하게 서버 tar 를 이용해서 백업하라는 분도 있고
tar 를 쓰면 파일 날라갈 경우가 있다는 말도 있고

제가 이전에 tar  백업하다가... 자꾸 파일일부. 특히 초기화면 몇개 가 유실되어서
알고보니.. 그런것이 원인이 아닌가하고요
첨듣는것은 아니지만..
사이트 이전이나 그럴경우는 서버를 죽이는게 맞는거 같고
임시백업이라면 접속자가 별로 없는시간에 백업하고
업로드쪽이랑 소스쪽을 별개로 백업 하시는게 좋을듯 하긴 합니다.
그런가요? ㅎ
그런데..이전에 tar 압축할때... 파일일부가 유실되는 현상이 분명있었어요
파일 상단의 일부 스크립트가 유실되던데요
그런가요? ^^
그런데..이전에 tar 압축할때... 파일일부가 유실되는 현상이 분명있었어요
파일 상단의 일부 스크립트가 유실되던데요
모르는 부분이라 테스트를 해봤습니다.
test.php
<?php
$fp = fopen("./data/test.txt","w");
for($i = 0;$i<30;$i++){
        usleep(200000);
        echo $i;
        echo "\n\n";
        flush();
        fwrite($fp,"{$i} - 글 \n");
}
fclose($fp);

위 테스트 페이지를 웹에서 호출하면서 tar czvf 백업을 하고 다른 곳에서 압축을 풀었네요.

# cat test.txt
0 - 글
1 - 글
2 - 글
.................
22 - 글

22번째 루프까지 진행되고 있었나보네요.

테스트 파일인 test.php 와 data/test.txt 프로그램 도중 백업이 진행되었다는 것 확인했습니다.


테스트를 맞치고 생각해보니 운영중인 웹서버 로그파일을 tar 로 백업해서 분석하는 일이 종종 있었는데 문제없었던 걸 보면 어떤 조건에서 누락되었는지 여부도 분석이 되어야 할 것 같네요.
전체 644 |RSS
서버관리자 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT