테스트 사이트 - 개발 중인 베타 버전입니다

Logrotate

· 18년 전 · 1968

1 logrotate

sysklogd 가 제어하지 않는 로그를 뱅글뱅글 돌리자.

1.1 emerge

emerge logrotate 

1.2 cron

하루에 한번 cron 에 의해 실행되도록 한다.
mkdir /etc/logrotate.d 
vi /etc/cron.daily/logrotatesh 
#!/bin/sh 
/usr/sbin/logrotate /etc/logrotate.d 
:wq 
chmod 700 /etc/cron.daily/logrotatesh 

1.3 setting

  • 실제 실행될 설정파일. 요점은 로테이트 시킬 로그파일 지정과 로그를 돌린 후 서버의 재시동이다.
  • /etc/logrotate.d 에 root.root 600 의 파일로 만든다.
  • 예문에 나온것들은 로그용량이 50MB 를 넘기면 교체하도록 되어있다.
  • 로그는 10개까지 생성된다.
로그가 도는 모습 예
cd /var/log/apache2 
ls -al 
-rw-r--r-- 1 root root 910 2003-06-09 03:00 access_log 
-rw-r--r-- 1 root root 51034152 2003-06-09 03:00 access_log.1 
-rw-r--r-- 1 root root 64837231 2003-06-08 03:00 access_log.2 
-rw-r--r-- 1 root root 57362834 2003-06-07 03:00 access_log.3 
-rw-r--r-- 1 root root 58374943 2003-06-06 03:01 access_log.4 
-rw-r--r-- 1 root root 79382834 2003-06-05 03:00 access_log.5 
-rw-r--r-- 1 root root 56384926 2003-06-03 03:01 access_log.6 
-rw-r--r-- 1 root root 53823232 2003-06-01 03:00 access_log.7 
-rw-r--r-- 1 root root 52344223 2003-05-26 03:00 access_log.8 
-rw-r--r-- 1 root root 54392345 2003-05-19 03:00 access_log.9 
apache2
/var/log/apache2/access_log /var/log/apache2/error_log /var/log/apache2/ssl_access_log /var/log/apache2/ssl_error_log /var/log/apache2/ssl_request_log { 
  size=50000k 
  rotate 10 
  missingok 
  notifempty 
  postrotate 
  /usr/sbin/apache2ctl graceful compress 
              Old versions of log files are compressed with gzip by default. 
              See also nocompress. 
  
  endscript 
} 
mysql
/var/log/mysql/mysql.log /var/log/mysql/mysql.err { 
  size=50000k 
  rotate 10 
  missingok 
  notifempty 
  postrotate 
  /usr/bin/mysqladmin refresh -uroot -pmysqlpassword 
  endscript 
} 
qmail
/var/log/qmail/qmail-smtpd/current /var/log/qmail/qmail-send/current { 
  size=50000k 
  rotate 10 
  missingok 
  notifempty 
  postrotate 
  /usr/bin/svc -t /service/qmail-s* 
  endscript 
} 

2 응용

매일같이 DB를 백업하되 열흘분만 남긴다.
mysql_db_backup
/yourmysqldbbackupdirectory/all_databases.sql { 
  size=1 
  rotate 10 
  missingok 
  notifempty 
  postrotate 
  /usr/bin/mysqldump --all-databases > /yourmysqldbbackupdirectory/all_databases.sql 
  endscript 
} 

3 질문과 답변

4 잡담

  • 압축만 되면 더이상 바랄게 없습니다. -송효진
      옵션중에 compress 란것이 있습니다. logrotate(8) 페이지를 참고. -- mithrandir
     
     

[펌] http://gentoo.or.kr/wiki/moin.cgi/Logrotate

[이 게시물은 관리자님에 의해 2011-10-31 17:32:05 Linux에서 이동 됨]

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
11470
11469
11468
11457
29100
11448
11444
24851
29091
11440
11434
11431
11420
11415
11412
29087
11408
11402
11397
11389
11387
11383
11375
11370
11362
11354
11349
11348
11347
11342
11338
29084
11335
11327
11325
11318
11312
11308
11303
11300
29077
24849
29075
29070
11291
11290
11288
11285
29068
11282
11279
11271
11267
11264
11263
29064
11256
11250
11244
11238
11237
11234
29061
11231
11228
11226
29056
11223
11216
11214
24846
11210
11206
11199
11194
11190
29052
11188
11182
11178
29048
11171
11163
11159
11154
29047
29037
11149
29036
11135
29032
11134
11129
29031
11127
29026
11119
11115
29020
11113