Linux: crontab 설정

윈도우 스케줄러와 비슷한 개념의 리눅스 crontab은 주기적으로 홈페이지 및 DB 데이터를 백업해야 하거나 특정 시간에 로그 파일 등을 삭제해서 서버 유지 관리가 필요한 경우에 사용되는 스케줄러입니다.

크론탭은 특정 시간주기적으로 작업이 자동으로 이루어지도록 설정하는 것을 의미합니다.

1. 크론탭 자주 사용되는 명령어

~]# crontab -e

vi 명령어처럼 편집할 수 있는 명령어입니다. 직접 편집한 후에 콜론(:) 입력 후 [wq] 명령어를 입력해서 저장할 수 있습니다. 기본 설정(실행) 경로는 /var/spool/cron/crontab 경로에 만들어지며, /var/spool/cron/root 등과 같은 형식으로 만들어집니다.

~]# crontab -l

cat 명령어처럼 표준 출력으로 설정된 내용을 확인할 수 있습니다.

2. 리눅스 크론탭 명령어 목록

크론탭에서 실제 사용하는 명령어는 다른 명령어에 비해 적습니다. 하지만 리눅스 서버를 운영할 때 필수라고 할 수 있는 명령어이기도 합니다.

리눅스(Linux)

3. 크론탭 주기 설정

※ 요일에서 0,7은 일요일을 의미하며 1부터 월요일, 6이 토요일입니다.

4. 크론탭 연산자

크론탭 구문은 연산자를 사용합니다. 필수로 사용해야 하는 부분입니다.

5. 크론탭 백업

실수로 크론탭을 삭제할 경우를 대비해서 크론탭을 텍스트 파일로 백업하는 것을 권장 드립니다.

crontab -l > /home/bak/cron_tab_bak.txt
# 기본 백업 파일 명령어를 만들어 준 후에 매일 오전 5시 50분에 백업 가능하도록 설정 #
50 05 * * * cron_tab -l > /home/bak/cron_tab_bak.txt

6. crontab 설치-CentOS

리눅스에서 크론탭은 cron이란 시스템 데몬에 의해 수행됩니다.

# cron 설치 
~]# yum update -y
~]# yum install -y cronie

# cron 시작
~]# systemctl start crond

# cron systemctl 활성화
~]# systemctl enable crond

# cron systemctl 등록 확인
~]# systemctl list-unit-files | grep crond

7. 크론 로그 및 설정 확인

크론 로그를 확인해서 정상적으로 크론 작업이 실행 되었는지 확인할 수 있습니다.

# 로그 확인
~]# cat /var/log/cron
# 설정 확인
cat /var/spool/cron/root

cron은 주기적으로 실행할 내용을 디렉터리에 넣고 작동합니다. 디랙토리 구조는 아래와 같습니다.

crontab 디렉토리 구조
핸드폰 안의 리눅스

Similar Posts

  • 리눅스 디렉토리 구조 및 파일 종류🔝

    리눅스 운영체제는 계층적 파일 시스템을 사용합니다. 위에서 아래 또는 위와 아래로 구성되어 있습니다. 리눅스 디렉토리 구조는 파일 시스템의 시작 지점인 루트 디렉토리(/)부터 시작됩니다. Linux 파일 시스템 계층 구조는 리눅스를 포함한 유닉스 유형 운영 체제의 디렉토리 구조와 내용을 결정하는 일련의 지침인 파일 시스템 계층 구조 표준의 적용을 받습니다. 계층 구조 표준은 리눅스 재단(영어: Linux Foundation)에서…

  • GeoIP 국가 코드표 정리 목록

    아파치 서버에서 사용할 수 있는 GeoIP 국가 코드표 정리 목록입니다. 목차1. 크론탭 자주 사용되는 명령어2. 리눅스 크론탭 명령어 목록3. 크론탭 주기 설정4. 크론탭 연산자5. 크론탭 백업6. crontab 설치-CentOS7. 크론 로그 및 설정 확인GeoIP란? GeoIP는 maxmind에서 제공하는 모듈과 IP 정보 DataBase를 이용해서 웹에 접근하는 IP를 국가 별로 확인할 수 있는 오픈소스솔루션입니다. 필요에 따라 특정…

  • Syslog란 무엇인가? | rsyslog.conf 설정

    Syslog는 원래 Sendmail의 일부로 개발되었으며, 이후 로그 관리의 편리함이 인식되면서 독립적인 표준으로 발전하게 되었습니다. System Logging의 약자로, 로그를 기록하고 관리하는 표준 서비스 또는 프로토콜을 의미합니다. 메일 서버, FTP 서버 등 다양한 프로그램이 생성하는 메시지를 중앙에서 수집하여 로그 파일로 저장하고, 이를 분석할 수 있도록 지원합니다. 시스템을 효율적으로 모니터링하고, 잠재적인 문제를 신속하게 식별 및 해결하며,…

  • 셔뱅(Shebang) [#! /bin/bash]

    shebang (셔뱅 또는 해시뱅)은 스크립트 파일의 첫 줄에 쓰이는 #!(해시 기호 + 느낌표)로 시작하는 구문입니다. 이 줄은 해당 스크립트를 어떤 인터프리터로 실행 할지를 지정합니다. 인터프리터(interpreter)는 프로그래밍 언어로 작성된 코드를 한 줄씩 읽고 즉시 실행하는 프로그램입니다. 이는 “작성된 명령을 번역해서 곧바로 실행해주는 번역기”라고 볼 수 있습니다. 보통 ASCII 텍스트 파일로 작성된 셸 스크립트에서 해시…

  • HTTP 상태 코드 표 [100~500] 정리

    HTTP 상태 코드는 운영 중인 서버의 오류를 확인하는 데 매우 중요한 지표로 활용됩니다. HTTP(Hypertext Transfer Protocol)란 웹 서버와 웹 클라이언트 사이에 데이터를 주고 받기 위해 사용되는 프로토콜 중 하나이며, TCP/IP 프로토콜 위에서 동작합니다. HTTP는 HTML, XML과 같은 하이퍼텍스트(Hypertext)만 전송하는 것이 아닌 이미지, 동영상, JavaScript 등의 다양한 파일을 데이터로 전송할 수 있습니다. 목차1. 크론탭…

  • Linux snapd | Rocky Linux에서 snapd 설치

    스냅크래프트(Snapcraft) 또는 스냅(Snap)은 캐노니컬(Canonical)이 시작한 Ubuntu 스마트폰 운영 체제를 위한 소프트웨어 배포 및 패키지 도구로서 개발되었으며, 패키지 관리 시스템이다. 스냅(snap)이라고 불리는 패키지와 snapd를 사용하는 도구는 업스트림 소프트웨어 패키징을 간편화하여 다양한 리눅스 배포판에서 사용할 수 있도록 도와준다. Linux snapd은 앱 패키지로 데스크톱, 클라우드, IoT에서 사용 가능하며, 설치가 용이하고 안전하며 다양한 플랫폼에서 사용할 수 있으며…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 4   +   2   =