특정 디렉토리에서 tar 파일을 찾는 자동화 된 프로세스 (1 분 cron 스크립트를 통해)를 배포해야합니다. tar 파일이 발견되면 해당 위치로 압축이 풀린 후 tar 파일이 삭제됩니다.
tar 파일은 다른 서버에서 SSH를 통해이 서버로 자동 복사됩니다. 경우에 따라 tar 파일은 파일이 많은 매우 큰 파일입니다.
내가 겪을 것으로 예상되는 문제 : tar 파일을 서버에 복사하는 데 1 분 이상 걸리고 cron 스크립트가 1 분마다 한 번씩 실행되면 .tar.gz 파일을보고 시도합니다. tar 파일이 아직 작성중인 경우에도 압축을 해제하십시오.
bash 명령을 통해 파일이 현재 쓰고 있는지 또는 부분 파일인지 여부를 테스트하는 방법이 있습니까?
내가 생각한 한 가지 대안은 파일을 다른 파일 확장자 (예 :)로 복사 한 다음 전송이 완료 된 후 .tar.gz.part
이름을 바꾸는 것이 었 .tar.gz
습니다. 그러나 파일이 명령 줄에서 전체 파일인지 확인하는 간단한 방법이 있는지 알아 내려고 노력했습니다. 단서가 있습니까?
rsync
전송 중 (기본적으로) 임시 파일 이름을 사용 하고 파일이 완전히 전송 된 후에 만 파일 이름을 실제 파일 이름으로 바꿉니다.