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 풍미에서 작동