사용자 가이드

정기 작업 (Crontab)

사이트를 운영하다 보면 탈퇴 회원 정보, 삭제된 사진의 섬네일, 오래된 알림 같은 불필요한 데이터가 쌓입니다. 정기 작업(Crontab)을 설정하면 자동으로 정리되어 디스크 공간과 성능을 지킬 수 있습니다.

개인 서버(SSH 접속 가능) 전용입니다. 웹 호스팅은 업체가 제공하는 cron 기능이 있는 경우에만 같은 명령을 등록할 수 있습니다.

실행 형식

php index.php 모듈명.스크립트명 [변수]

설치 경로에서 PHP CLI로 실행합니다. 웹 주소로 호출하는 방식(웹크론)은 지원하지 않습니다.

제공되는 정리 스크립트

명령하는 일기본 기준
file.cleanGarbageFiles글에 연결되지 않은 첨부파일 정리10일
file.cleanThumbnails오래된 섬네일 삭제90일
file.cleanEmptyDirs빈 폴더 제거-
module.cleanMiscLogs오래된 로그 삭제30일
ncenterlite.cleanNotifications오래된 알림 제거-

crontab 등록 예시

crontab -e 로 편집합니다. 과부하를 피해 새벽 시간대에 몇 분 간격으로 순차 실행하는 것을 권장합니다.

5  5 * * * cd /var/www/mysite && php index.php file.cleanGarbageFiles
10 5 * * * cd /var/www/mysite && php index.php file.cleanThumbnails
15 5 * * * cd /var/www/mysite && php index.php module.cleanMiscLogs
20 5 * * * cd /var/www/mysite && php index.php ncenterlite.cleanNotifications

주의사항

  • 웹서버와 같은 계정으로 실행하세요 (www-data 등). root의 crontab에 등록하면 생성되는 파일의 소유권이 어긋나 웹에서 접근하지 못하게 됩니다. crontab -e -u www-data 로 해당 계정에 등록할 수 있습니다.
  • 등록 후 files/cron.log 에서 정상 동작을 확인하세요.
  • 리눅스 서버 기준입니다. 윈도우 서버는 작업 스케줄러로 같은 명령을 등록합니다.