{"componentChunkName":"component---src-templates-post-template-jsx","path":"/works/posts/2020-11-06--001","result":{"data":{"site":{"siteMetadata":{"title":"Blog by Eunyoung","subtitle":"작업 기록 블로그","copyright":"© All rights reserved.","author":{"name":"EunYoung","twitter":"#"},"disqusShortname":"","url":"https://ssongey.github.io"}},"markdownRemark":{"id":"734ca074-9e2e-51e6-b9ed-73c5141f73a9","html":"<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">/home/jenkins/workspace/V2G-Prod-Server/logs/*log \n/home/jenkins/workspace/V2G-Dev-Server/logs/*log <span class=\"token punctuation\">{</span>\n    daily                                         \n    compress                                      \n    dateext                                       \n    maxage <span class=\"token number\">365</span>                                    \n    notifempty                                    \n    missingok                                     \n    copytruncate                                  \n<span class=\"token punctuation\">}</span>                                                 </code></pre></div>\n<table>\n<thead>\n<tr>\n<th>옵션</th>\n<th>설명</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code class=\"language-text\">rotate 숫자</code></td>\n<td>log 보관 갯수 ex) rotate 5 : log파일이 5개 이상시 삭제</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">maxage 숫자</code></td>\n<td>log 파일 생명 주기 ex) maxage 20 : 20일 경과시 삭제</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">size</code></td>\n<td>지정된 용량보다 클 경우 로테이트 실행 ex) size +100k : 100k 이상 시 로테이트</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">daily</code></td>\n<td>일 단위 파일순환</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">weekly</code></td>\n<td>주 단위 파일순환</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">monthly</code></td>\n<td>월 단위 파일순한</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">missingok</code></td>\n<td>파일이 없어도 상관없음(에러가 아니도록 처리)</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">notifempty</code></td>\n<td>로그내용이 없으면 로테이트 안함</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">ifempty</code></td>\n<td>로그 내용이 없어도 로테이트 진행</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">compress</code></td>\n<td>로그파일을 gzip으로 압축하여 보관</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">nocompress</code></td>\n<td>압축 안함</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">dateext</code></td>\n<td>rotate된 로그파일명에 날짜 표시</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">dateyesterday</code></td>\n<td>dateext 옵션과 함께 쓰면 파일명의 날짜에 어제 날짜로 저장</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">copytruncate</code></td>\n<td>이 옵션을 넣지 않으면 현재 사용중인 로그를 다른이름으로 move하고 새로운 파일을 생성한다</td>\n</tr>\n</tbody>\n</table>\n<hr>\n<h2># logrotate 수행</h2>\n<ul>\n<li>\n<p>설정파일의 오류확인 - debug 모드로 실제 로테이션은 되지 않음</p>\n<div class=\"gatsby-highlight\" data-language=\"cmd\"><pre class=\"language-cmd\"><code class=\"language-cmd\">$ /usr/sbin/logrotate -d /etc/logrotate.d/v2g</code></pre></div>\n</li>\n<li>\n<p>설정파일을 강제수행</p>\n<div class=\"gatsby-highlight\" data-language=\"cmd\"><pre class=\"language-cmd\"><code class=\"language-cmd\">$ /usr/sbin/logrotate -f /etc/logrotate.d/v2g</code></pre></div>\n</li>\n</ul>\n<h2># Cron 등록</h2>\n<p>syslog가 순환되고 있는 것은 cat /etc/cron.daily/logrotate 파일에 정의되어 crontab에서 실행되고 있다.\n로테이션을 위해 생성한 /data/logs/test_logrotate 파일을 /etc/logrotate.d/ 하위에 두면 rsyslog가 로테이션되는 시간에 같이 로테이션 된다.\n또는 해당 원하는 시간에  crontab에 추가하여 별도 관리하여도 된다.\n1일치 로그로 관리하기 위하여 0시에 순환되도록 아래와 같이 설정한다.</p>\n<div class=\"gatsby-highlight\" data-language=\"cmd\"><pre class=\"language-cmd\"><code class=\"language-cmd\">$ sudo crontab -e\n\n0 0 * * * /usr/sbin/logrotate -f /etc/logrotate/v2g</code></pre></div>","fields":{"tagSlugs":["/tags/logrotate/"],"slug":"/works/posts/2020-11-06--001"},"frontmatter":{"title":"/etc/logrotate.d 설정하기","tags":["logrotate"],"date":"2020-11-06","description":""}}},"pageContext":{"slug":"/works/posts/2020-11-06--001"}},"staticQueryHashes":[]}