Crontab

Crontab μ„€μ • 방법

κ°œμš”

μ‚¬μ΄νŠΈλ₯Ό μš΄μ˜ν•˜λ‹€ 보면 νƒˆν‡΄ν•œ νšŒμ›μ˜ μ •λ³΄λ‚˜ μ‚­μ œλœ μ‚¬μ§„μ˜ 섬넀일,
ν™•μΈν•˜μ§€ μ•Šμ€ μ•Œλ¦Ό λ“± λΆˆν•„μš”ν•œ 데이터가 μŒ“μ΄κ²Œ λ©λ‹ˆλ‹€.
이런 데이터λ₯Ό μ •κΈ°μ μœΌλ‘œ μ‚­μ œν•΄ μ£Όλ©΄ λ””μŠ€ν¬ 곡간을 μ ˆμ•½ν•˜κ³ 
μΎŒμ ν•œ μ„œλ²„ ν™˜κ²½μ„ μœ μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λΌμ΄λ―ΉμŠ€λŠ” λΆˆν•„μš”ν•œ 데이터λ₯Ό μ‚­μ œν•˜κΈ° μœ„ν•œ λͺ‡ 개의 μ‰˜(PHP-CLI) 슀크립트λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.
cron을 μ‚¬μš©ν•  수 μžˆλŠ” λ¦¬λˆ…μŠ€ μ„œλ²„ ν™˜κ²½μ΄λΌλ©΄ μ •κΈ°μ μœΌλ‘œ 이 μŠ€ν¬λ¦½νŠΈλ“€μ„ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
λ‹€λŸ‰μ˜ 데이터λ₯Ό μ‚­μ œν•˜λŠ” μž‘μ—…μ—λŠ” μƒλ‹Ήνžˆ κΈ΄ μ‹œκ°„μ΄ 걸릴 μˆ˜λ„ 있기 λ•Œλ¬Έμ—
μ›Ήμ—μ„œλŠ” μ‹€ν–‰ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

μ‰˜ 슀크립트 λͺ©λ‘

ν„°λ―Έλ„μ΄λ‚˜ cronμ—μ„œ μ‹€ν–‰ν•  수 μžˆλŠ” μ‰˜ μŠ€ν¬λ¦½νŠΈλ“€μ€ 각 λͺ¨λ“ˆμ˜ scripts 폴더에 있으며,
라이믹슀 μ„€μΉ˜ κ²½λ‘œμ—μ„œ php index.php λͺ¨λ“ˆλͺ….슀크립트λͺ… [λ³€μˆ˜] λͺ…λ ΉμœΌλ‘œ μ‹€ν–‰ν•©λ‹ˆλ‹€.
μ•„λž˜μ˜ μ„€λͺ…μ—μ„œλŠ” λͺ¨λ“ˆλͺ….슀크립트λͺ…을 μ΄λ¦„μœΌλ‘œ μ‚¬μš©ν•©λ‹ˆλ‹€.

  • file.cleanEmptyDirs: μ²¨λΆ€νŒŒμΌ, νšŒμ›μ •λ³΄, 섬넀일 폴더 내에 남아 μžˆλŠ” 빈 폴더듀을 μ œκ±°ν•©λ‹ˆλ‹€.
  • file.cleanGarbageFiles: 파일만 μ—…λ‘œλ“œν•˜κ³  κΈ€ μž‘μ„±μ„ μ·¨μ†Œν•˜μ—¬ 남은 파일,
    λŒ€μš©λŸ‰ μ—…λ‘œλ“œκ°€ μ€‘λ‹¨λ˜μ–΄ 남은 파일 등을 μ œκ±°ν•©λ‹ˆλ‹€.
    λ¬Έμ„œλ‚˜ λŒ“κΈ€ 등에 μ—°κ²°λ˜μ§€ μ•Šκ³  10일 이상 μ§€λ‚œ νŒŒμΌμ„ μ‚­μ œν•˜λŠ” 것이 κΈ°λ³Έκ°’μ΄μ§€λ§Œ, λ³€μˆ˜λ₯Ό μ „λ‹¬ν•˜μ—¬ λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    (일뢀 μ„œλ“œνŒŒν‹° μžλ£Œκ°€ 파일 μ—…λ‘œλ“œ ν›„ μ •μƒμ μœΌλ‘œ μ—°κ²°ν•˜μ§€ μ•Šκ³  isvalid=N μƒνƒœλ‘œ
    νŒŒμΌμ„ λ°©μΉ˜ν•˜λŠ” κ²½μš°κ°€ μžˆμœΌλ‹ˆ μ£Όμ˜ν•˜μ‹­μ‹œμ˜€.)
  • file.cleanThumbnails: 였래된 섬넀일 이미지λ₯Ό μ‚­μ œν•©λ‹ˆλ‹€. 기본값은 90μΌμž…λ‹ˆλ‹€.
    였래된 κΈ€μ˜ 섬넀일도 ν‘œμ‹œν•  ν•„μš”κ°€ μžˆλŠ” μ›Ήμ§„ν˜• κ²Œμ‹œνŒμ„ μš΄μ˜ν•˜λŠ” κ²½μš°μ—λŠ” μ‚¬μš©ν•˜μ§€ λ§ˆμ‹œκΈ° λ°”λžλ‹ˆλ‹€.
    μ‚­μ œν•œ 섬넀일을 λ‹€μ‹œ μƒμ„±ν•˜λ €λ©΄ 더 λ§Žμ€ μ„œλ²„ μžμ›μ΄ μ†Œμš”λ©λ‹ˆλ‹€.
  • module.cleanMiscLogs: 메일 및 SMS λ°œμ†‘ 둜그, ν‘Έμ‹œ λ°œμ†‘ 둜그, μŠ€νŒΈν•„ν„° 둜그 λ“±
    μ—¬λŸ¬ λͺ¨λ“ˆμ—μ„œ μƒμ„±ν•˜λŠ” μž‘λ‹€ν•œ 둜그λ₯Ό 일괄 μ‚­μ œν•©λ‹ˆλ‹€. 기본값은 30μΌμž…λ‹ˆλ‹€.
  • ncenterlite.cleanNotifications: 였래된 μ•Œλ¦Όμ„ μ‚­μ œν•©λ‹ˆλ‹€.

μˆ˜λ™ μ‹€ν–‰ 예제

예λ₯Ό λ“€μ–΄ 60일 이상 μ§€λ‚œ μ•Œλ¦Όμ„ μ‚­μ œν•˜λŠ” λͺ…령은 μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€.

php index.php ncenterlite.cleanNotifications 60

crontab μ„€μ • 예제

λ™μ‹œμ— μ—¬λŸ¬ 슀크립트λ₯Ό μ‹€ν–‰ν•˜λ©΄ κ³ΌλΆ€ν•˜κ°€ 걸릴 수 μžˆμœΌλ―€λ‘œ, λ°©λ¬Έμžκ°€ 적은 μ‹œκ°„λŒ€μ— μ•½κ°„μ”© μ‹œκ°„μ°¨λ₯Ό 두고 μ‹€ν–‰ν•˜μ‹œκΈ° λ°”λžλ‹ˆλ‹€.
맀일 μΌμ •ν•œ μ‹œκ°μ— 백업을 μˆ˜ν–‰ν•˜μ‹ λ‹€λ©΄ λ°±μ—… 전에 μ •λ¦¬ν•˜λŠ” 것이 νŽΈλ¦¬ν•©λ‹ˆλ‹€.

μ•„λž˜μ˜ μ˜ˆμ œλŠ” 맀일 μƒˆλ²½ 5μ‹œ 5~20λΆ„ 사이에 4개의 슀크립트λ₯Ό λͺ¨λ‘ μ‹€ν–‰ν•©λ‹ˆλ‹€.
빈 폴더λ₯Ό μ œκ±°ν•˜λŠ” 슀크립트λ₯Ό 맨 λ§ˆμ§€λ§‰μ— μ‹€ν–‰ν•˜λ©΄ νš¨κ³Όμ μž…λ‹ˆλ‹€.

05 05 * * * php /라이믹슀/μ„€μΉ˜κ²½λ‘œ/index.php file.cleanGarbageFiles >> /라이믹슀/μ„€μΉ˜κ²½λ‘œ/files/cron.log 2>&1
10 05 * * * php /라이믹슀/μ„€μΉ˜κ²½λ‘œ/index.php file.cleanThumbnails >> /라이믹슀/μ„€μΉ˜κ²½λ‘œ/files/cron.log 2>&1
15 05 * * * php /라이믹슀/μ„€μΉ˜κ²½λ‘œ/index.php module.cleanMiscLogs >> /라이믹슀/μ„€μΉ˜κ²½λ‘œ/files/cron.log 2>&1
15 05 * * * php /라이믹슀/μ„€μΉ˜κ²½λ‘œ/index.php ncenterlite.cleanNotifications >> /라이믹슀/μ„€μΉ˜κ²½λ‘œ/files/cron.log 2>&1
20 05 * * * php /라이믹슀/μ„€μΉ˜κ²½λ‘œ/index.php file.cleanEmptyDirs >> /라이믹슀/μ„€μΉ˜κ²½λ‘œ/files/cron.log 2>&1

μ£Όμ˜μ‚¬ν•­

  • λΌμ΄λ―ΉμŠ€μ— ν¬ν•¨λœ μ‰˜ μŠ€ν¬λ¦½νŠΈλ“€μ€ μ›Ήμ—μ„œ μ‹€ν–‰ν•  수 μ—†μœΌλ©°, 웹크둠 μ„œλΉ„μŠ€ λ“±μœΌλ‘œ ν˜ΈμΆœν•  경우 였λ₯˜λ₯Ό ν‘œμ‹œν•˜κ³  μ’…λ£Œλ©λ‹ˆλ‹€.
  • ν‰μ†Œ μ›Ήμ„œλ²„λ₯Ό μ‹€ν–‰ν•˜λŠ” 계정(예: apache, nginx, www-data λ“±)μ—μ„œ crontab을 μ‚¬μš©ν•˜μ—¬μ•Ό ν•©λ‹ˆλ‹€.
    λ‹€λ₯Έ 계정을 μ‚¬μš©ν•˜κ±°λ‚˜ μ„œλ²„ κ΄€λ¦¬μž(root) κ³„μ •μœΌλ‘œ 싀행을 μ‹œλ„ν•  경우 λ‚˜μ€‘μ— μ‚¬μ΄νŠΈμ—μ„œ νΌλ―Έμ…˜ λ¬Έμ œκ°€ λ°œμƒν•˜κ±°λ‚˜ μΊμ‹œνŒŒμΌμ΄ 꼬일 μœ„ν—˜μ΄ μžˆμŠ΅λ‹ˆλ‹€.
    μ–΄λŠ 계정을 μ‚¬μš©ν•΄μ•Ό ν• μ§€ λͺ¨λ₯΄μ‹œκ² λ‹€λ©΄ files/config/config.php 파일 λ˜λŠ” files/cache ν΄λ”μ˜ μ†Œμœ μžλ₯Ό ν™•μΈν•˜μ‹­μ‹œμ˜€.
  • 였래된 섬넀일을 보쑴할 ν•„μš”κ°€ μžˆλŠ” μ‚¬μ΄νŠΈμ—μ„œλŠ” clean_old_thumbnails.phpλ₯Ό μ‹€ν–‰ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€.
  • μœ„μ˜ 예제λ₯Ό λ”°λΌν•˜λ©΄ μ‰˜ 슀크립트의 μ‹€ν–‰ κ²°κ³Όκ°€ files/cron.log νŒŒμΌμ— κΈ°λ‘λ©λ‹ˆλ‹€.
    crontab μ„€μ • ν›„μ—λŠ” λ©°μΉ κ°„ 이 νŒŒμΌμ„ λͺ¨λ‹ˆν„°λ§ν•˜λ©° 정상 μž‘λ™ μ—¬λΆ€λ₯Ό ν™•μΈν•˜μ‹œκΈ° λ°”λžλ‹ˆλ‹€.
  • μœˆλ„μš° μ„œλ²„λŠ” μ§€μ›ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.