리눅스(linux) 크론 설정 기초, 크론(cron), 크론탭(crontab) 사용방법 ******/

2025. 7. 11. 07:39Web/.etc

반응형

리눅스 서버에서 cron으로 자동 작업 스케줄링하기

서버 운영 중 반복적인 작업을 자동화하고 싶을 때, 리눅스의 cron은 아주 강력한 도구입니다. 이번 글에서는 cron의 기본 개념부터 설정 방법, 실전 예제까지 자세히 알아보겠습니다.


1. cron이란?

cron은 리눅스/유닉스 시스템에서 주기적인 작업을 예약 실행할 수 있도록 해주는 작업 스케줄러입니다. 시스템 유지보수, 백업, 로그 정리, 이메일 전송 등 다양한 자동화 작업에 활용됩니다.


2. crontab의 위치 및 구조

  • 사용자별 cron 설정은 crontab이라는 파일을 통해 관리됩니다.
  • 명령어: crontab -e 를 입력하면 현재 사용자에 대한 cron 편집 화면이 열립니다.

crontab 한 줄 구조

* * * * * /실행할/스크립트/또는/명령
┬ ┬ ┬ ┬ ┬
│ │ │ │ └── 요일 (0-7, 0 또는 7 = 일요일)
│ │ │ └──── 월 (1-12)
│ │ └────── 일 (1-31)
│ └──────── 시 (0-23)
└────────── 분 (0-59)

3. 기본 명령어 정리

명령어설명
crontab -e 현재 사용자용 crontab 편집
crontab -l 현재 설정된 작업 목록 확인
crontab -r 현재 crontab 삭제
sudo crontab -e -u 사용자 특정 사용자용 crontab 편집
 

4. 실전 예제

매일 오전 8시에 스크립트 실행

0 8 * * * /home/ubuntu/scripts/backup.sh

매 10분마다 로그 정리

*/10 * * * * /usr/local/bin/clear_logs.sh >> /var/log/clear_logs.log 2>&1

매주 월요일 새벽 1시에 시스템 재시작

 
0 1 * * 1 /sbin/reboot

 


5. 주의사항

  • 환경변수: cron은 로그인 셸과 다르게 제한된 환경에서 실행되므로, PATH 등의 환경변수를 명시해주는 것이 좋습니다.
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
  • 스크립트 실행 권한 확인: 실행할 파일에 chmod +x로 실행 권한을 부여해야 합니다.
  • 로그 확인: cron 작업 실패 여부는 /var/log/syslog 또는 /var/log/cron.log에서 확인할 수 있습니다.
grep CRON /var/log/syslog
  • cron설치 상태 확인
    설치가 안되어있다면 설치를 해줘야 하며 대부분 리눅스 셋팅시 설치가 되어있거나 업데이트 해주면 된다.
    하지만 시작이 안되어 있을수 있다.
    cron은 설정을 하고 나면 다시 시작 해줘야 한다. 
cron상태 확인
>systemcrl status cron
cron 시작
>sudo systemctl start cron
cron 재시작
>sudo systemctl restart cron

print systemcrl status cron

 


6. Debug Tip

작업이 실행되지 않을 경우 아래 체크리스트를 점검해 보세요:

  • 파일 경로가 절대 경로인지?
  • 실행 권한이 부여되어 있는지?
  • cron 데몬이 실행 중인지 (systemctl status cron)
  • 에러 로그 확인했는지?

마무리

cron은 단순하지만 매우 강력한 자동화 도구입니다. 서버를 운용하면서 반복 작업이 생긴다면 꼭 한 번 도입해보시길 추천드립니다. 더 효율적인 서버 운영의 시작이 될 수 있습니다 

반응형

'Web > .etc' 카테고리의 다른 글

Atom Editor로 시작하는 프로그램  (0) 2019.06.24