iThemes Security 워드프레스 보안 플러그인에서 로그 삭제하기

Last Updated: 2022년 01월 31일 | | 댓글 남기기

며칠 전부터 DB 크기가 지속적으로 증가하는 현상이 나타났습니다. 글이 많아져서 그런가 하고 생각했지만 하루 만에 1MB 이상 크기가 증가하는 것이 관찰되어 정상적인 현상이 아닌 것은 확실해 보였습니다.

그러다가 iThemes Security의 로그를 살펴보니 10000개가 넘는 로그가 쌓여있었습니다. 예전에는 분명 로그를 삭제하는 기능이 있었지만 아무리 살펴보아도 로그를 지우는 기능이 없네요.

조금 살펴보니 2주 전 쯤에 iThemes가 업데이트되면서 로그 삭제 기능을 제거했다는 것을 알게 되었습니다. 대신 로그를 유지하는 기간을 선택하도록 했네요.

로그 유지 기간을 1일로 설정해도 로그가 삭제되지 않네요. DB에서 직접 삭제하려고 시도하다가 시간이 너무 많이 걸려서 포기하고, 대신 다음과 같은 쿼리를 사용하여 삭제했습니다.

TRUNCATE TABLE wp_itsec_logs;
TRUNCATE TABLE wp_itsec_lockouts;

MySQL TRUNCATE TABLE 구문의 예는 여기에서 확인해볼 수 있습니다.

비슷한 방법으로 페이지 템플릿을 사용할 수 있습니다. 테마 폴더 아래에 page-clear.php 파일을 하나 만들고 다음 내용을 추가하도록 합니다.

<?php
/**
* @package WordPress
* @subpackage U-Design
*/
/**
* Template Name: Page iThemes Security Clear All Log
*/
global $wpdb;

$wpdb->query('TRUNCATE TABLE wp_itsec_logs');
$wpdb->query('TRUNCATE TABLE wp_itsec_lockouts');

echo "iThemes Security - clear all log " . date('Y-m-d H:i:s') ."";
// Source: wordpress.org

그런 다음 페이지 하나를 만들고 페이지 템플릿으로 Page iThemes Security Clear All Log를 선택하고 저장을 누릅니다. 이 페이지를 실행할 때마다 로그가 모두 삭제됩니다.

저는 로그를 모두 삭제한 후에 Security > Settings > Global Settings에서 Log TypeFile Only로 변경했습니다.

로그 유형

파일 로그는 10MB 한도 내에서 계속 유지되는 것 같습니다.

Database Only는 모든 로그를 DB에 저장하기 때문에 빠르게 검색이 가능하지만 느려질 수 있고, File Only는 매우 빠르지만 플러그인에서 로그를 처리하지 않으므로 로그를 확인하는 것이 번거로워질 수 있습니다.

로그를 삭제하고 나니 DB 크기가 25MB 정도나 줄어들었습니다.

참고:


댓글 남기기

Leave a Comment