3GB의 공간에 도달하면 응용 프로그램에 의해 지속적으로 작성 / 열리는 파일을 자르거나 비우는 Unix 스크립트를 작성하려고합니다. 나는 아래 명령이 그것을 할 것이라는 것을 알고 있습니다.
cp /dev/null [filename]
그러나 나는 이것을 cron 작업으로 프로덕션 환경에서 자동으로 실행할 것입니다. 여기에 게시하여 이와 유사한 작업을 수행하는 동안 문제가 발생했는지 확인하십시오.
3GB의 공간에 도달하면 응용 프로그램에 의해 지속적으로 작성 / 열리는 파일을 자르거나 비우는 Unix 스크립트를 작성하려고합니다. 나는 아래 명령이 그것을 할 것이라는 것을 알고 있습니다.
cp /dev/null [filename]
그러나 나는 이것을 cron 작업으로 프로덕션 환경에서 자동으로 실행할 것입니다. 여기에 게시하여 이와 유사한 작업을 수행하는 동안 문제가 발생했는지 확인하십시오.
답변:
다른 답변을 추가하기 위해
: > filename
:
bash (POSIX 호환)에서 작동하지 않으므로 본질적으로 쓰기 위해 파일을 열고 (물론 파일을 자른 다음) 즉시 닫습니다.
편집 : 쉘터가 언급했듯이 실제로 리디렉션과 함께 이동하는 명령이 필요하지 않습니다.
$ echo foo > foo.txt
$ cat foo.txt
foo
$ > foo.txt
$ cat foo.txt
$
단순한 리디렉션만으로도 파일이 지워집니다.
> filename
(당신이 아는 것처럼). 모두에게 행운을 빕니다.
logrotate
값을 제공 할 수 있습니다 (하지만 설정 (추측)하는 데 짜증이납니다!).