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 로 백업해서 분석하는 일이 종종 있었는데 문제없었던 걸 보면 어떤 조건에서 누락되었는지 여부도 분석이 되어야 할 것 같네요.
© SIRSOFT
현재 페이지 제일 처음으로