반응형
큰 파일을 자르는 Unix 쉘 스크립트
3GB의 공간에 도달하면 응용 프로그램에 의해 지속적으로 작성 / 열리는 파일을 자르거나 비우는 Unix 스크립트를 작성하려고합니다. 나는 아래 명령이 그것을 할 것이라는 것을 알고 있습니다.
cp /dev/null [filename]
그러나 나는 이것을 cron 작업으로 프로덕션 환경에서 자동으로 실행할 것입니다. 여기에 게시하여 이와 유사한 작업을 수행하는 동안 문제가 발생했는지 확인하십시오.
다른 답변을 추가하기 위해
: > filename
:
bash (POSIX 호환)에서 작동하지 않으므로 본질적으로 쓰기 위해 파일을 열고 (물론 파일을 자른 다음) 즉시 닫습니다.
편집 : 쉘터가 주석을 달았 듯이 리디렉션과 함께 진행하기 위해 실제로 명령이 필요하지 않습니다.
$ echo foo > foo.txt
$ cat foo.txt
foo
$ > foo.txt
$ cat foo.txt
$
간단한 리디렉션만으로도 파일이 지워집니다.
데비안에서 다음 명령을 사용했습니다.
truncate -s 0 filename
그것은 나에게 합리적인 것 같습니다. 물론 유닉스에서는 약 50 가지의 다른 방법으로이를 수행 할 수 있습니다. 예를 들면
echo -n "" >filename
cat /dev/null >filename
trunc filename
UNIX의 AIX 풍미에서 작동
참고 URL : https://stackoverflow.com/questions/13575477/unix-shell-script-to-truncate-a-large-file
반응형
'Nice programing' 카테고리의 다른 글
코드의 레이아웃 방향 (0) | 2020.10.04 |
---|---|
동적 높이가있는 행이있는보기 기반 NSTableView (0) | 2020.10.04 |
Rails의 보호 및 비공개 메서드 (0) | 2020.10.04 |
"모두 제외"jQuery 선택기 (0) | 2020.10.04 |
Ruby 블록에서 'return'사용 (0) | 2020.10.04 |