운영체제/Linux

[Linux 실습] crontab으로 명령어 작업 예약 후 확인해 보기

gamjadori 2024. 8. 12. 15:02
728x90

[Linux 실습] crontab으로 명령어 작업 예약 후 확인해 보기

  • 매일 1시, 15시에 날짜와 시간을 “/home1/ncloud/cron_log.txt” 파일에 찍히게 설정하고 확인하기

 

<풀이>

cron을 사용하려면 crond라는 데몬이 실행 중이어야 함. (처음에 이걸 몰라서 실행이 안 됐음.)

< crontab 설치 명령어 >

yum install -y cronie
systemctl start crond
systemctl enable crond

* 데몬이란? 

운영체제에서 사용자가 직접 제어하지 않아도, 백그라운드에서 작업하는 프로그램

 

/home1/ncloud/cron_log.txt 폴더를 미리 만들어야 함.

mkdir /home1/ncloud
touch cron_log.txt

<crontab> 지정된 시간에 명령어 실행

형식: 분 시 일 월 요일 명령어1
>>: 파일의 끝에 내용을 추가해라
>: 파일을 생성한 후 내용을 추가해라

 

a. crontab 설정 후 확인

crontab -e: 크론 편집기 실행
<입력>
0 1,15 * * * date >> /home1/ncloud/cron_log.txt

crontab -l으로 설정한 cron 리스트 확인 가능

b. /home1/ncloud/cron_log.txt 파일 확인

  • cat /home1/ncloud/cron_log.txt으로 확인 가능

b-1. 15시

b-2. 1시

 

<crontab 실행 확인을 위한 시간 변경 방법>

  • 현재 시간 명령어 date로 확인 가능
  • 시간 변경
timedatectl set-time '2024-08-09 14:59:00' > 15시 확인
timedatectl set-time '2024-08-09 00:59:00' > 1시 확인

 

<시간 변경이 안 되는 이유>

Failed to set time: Automatic time synchroniation is enabled

NTP(네트워크 타임 프로토콜)를 사용하여 시간을 자동으로 동기화하는 경우 NTP를 비활성화한 후 시간을 변경해야 함.

  • NTP 비활성화: timedatectl set-ntp false

>> 14시 59분으로 변경 완료