대용량 파일의 내용은 살리고 용량은 줄이는 법
글쓴이: leeki07 / 작성시간: 화, 2015/10/20 - 5:05오후
계산기에 자동 저장되는 error.log가 1Gbyte이상이 되어 있음을 발견하였습니다.
완전히 지우기는 부담스럽고 내용만 줄이고 싶어서 vi로 열어 보았으나
수분을 기다려도 열리지가 않네요.
최근 log는 남기고 용량을 줄이고 싶은데 방법이 없을까요?
tail -n 500000 error.log > gomi
cat /dev/null > error.log
cat gomi >> error.log
요렇게 해도 될까요???
Forums:
logrotate를 쓰세요.
logrotate를 쓰세요.
설정변경은 관리자만 가능하므로 logrotate는 사용불가입니다.
현재 상태를 유지하가며 가끔(6개월에 한번정도) error.log 크기를 줄이는 방법이 필요합니다.
일단 당장은 error.log 백업해놓고 이러저러한
일단 당장은 error.log 백업해놓고 이러저러한 방법들 사용하시면 될것같고요,
궁극적으로는 logrotate를 사용못하신다고 하니..
계산기를 수정해서 error.log를 기록하는 시점에 rotate 기능을 구현하거나,
crontab에 일자별로 error.log를 백업하고, 월별로 지난 백업 로그 삭제하는 방법이 있겠네요.
소곤소곤
구글에 검색해 봤더니...
splitting huge text files 이런 문구로 구글에 검색해 봤더니
누가 비슷한 문제인데 텍스트가 9GB이라네요.
자기는 python으로 해결 했답니다.
GSplit 이나 HJSplit 이런 프로그램도 있다네요.
리눅스에선 split 명령도 있네요.
$ split --help
Usage: split [OPTION] [INPUT [PREFIX]]
Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default
size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when INPUT
is -, read standard input.
Mandatory arguments to long options are mandatory for short options too.
-a, --suffix-length=N use suffixes of length N (default 2)
-b, --bytes=SIZE put SIZE bytes per output file
-C, --line-bytes=SIZE put at most SIZE bytes of lines per output file
-d, --numeric-suffixes use numeric suffixes instead of alphabetic
-l, --lines=NUMBER put NUMBER lines per output file
--verbose print a diagnostic to standard error just
before each output file is opened
--help display this help and exit
--version output version information and exit
이렇게 할수 있다고 합니다.
split -l 200000 filename
댓글 달기