본문 바로가기
카테고리 없음

cron 명령어와 at명령어

by fabxoe 2019. 9. 19.
systemctl status crond

cron명령어를 사용하기 전에 서비스가 실행중인지 확인하자

active (running) 이라고 나오면 예약 기능을 사용할 수 있다.

그렇지 않으면 예약을 걸어봤자 사용할 수 없는 상태다.

 

 

 gedit /etc/crontab

 

   01    3    15  *     *  root  run-parts /etc/cron.monthly

분 시 일 월 요일 사용자 범위(전체/일부분) 실행할파일이담긴디렉토리

형태로 띄어쓰기를 이용하여 내용을 작성한다.

위 내용은 매달 15일 새벽 3시 1분에 수행한다는 의미다.

 

 

 

 

 cd /etc/cron.monthly/ 
 gedit myBackup.sh 
 

 

 

#!/bin/sh

set $(date)
fname="backup-$2$3.tar.xz"

tar cfJ /backup/$fname /home

cron이 실행할 내용인 쉘스크립트를 작성한다

 

 

chmod ugo+x myBackup.sh

myBackup.sh파일에 대한 실행권한을 주자

 

systemctl restart crond

작성한 내용을 인식하도록 서비스를 재시작 시킨다

 

date 011503002019
date

쉘스크립트 내용이 cron에 의해 정상적으로 반영되는 지를 확인하기 위해 시간을 강제로 바꾸었다

date명령을 이용해 03시 1분이 되었는지 확인하고 tar파일이 만들어 졌는지 확인하자.


at 명령어는 cron과 다르게 단 한번만 실행하는 스케줄러이다.

명령어를 테스트 해보기 전에 변경된 시간을 복구하자.

 

rdate -s time.bora.net

타임서버로 부터 내 컴퓨터 시간을 정상적으로 업데이트 한다. 

 

at 4:00 am tomorrow

콘솔에 위 명령어를 작성하면 엔터를 쳐도 벗어나지 않는 모드로 변경된다.

 

실행하고 싶은 명령어들을 엔터를 이용해 모두 작성하고나서

 

ctrl+d를 누르면 이 모드에서 벗어나고 저장이 된다.

 

 at -l

at으로 작성한 예약이 정상적으로 저장되었는지 확인할 수 있다.

 

atrm 1

예약을 취소 할 수도 있다.

댓글