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
예약을 취소 할 수도 있다.
댓글