본문 바로가기
리눅스

리눅스 Cron/At 명령어 사용법

by 쏘세지입술 2023. 3. 29.
반응형

Cron

 

주기적으로 반복되는 일을 자동으로 실행할 수 있도록 시스템 작업을 예약해놓는 것을 cron이라 부른다.

cron과 관련된 데몬(서비스)은 crond이고, 관련 파일은 /etc/crontab이다.

 

vi editor로 /etc/crontab을 열어봤을때의 사진이다.

위 사진과 같이 분 - 시 - 일 - 월 - 요일 - 사용자 - 실행명령 순으로 나와있다.

ex) 00 05 1 * * root cp -r /home /backup => 매달(요일에 상관없이) 1일 05:00am에  /home 디렉토리의 정보를 /backup으로 복사(cp)해라.

 

cron의 경우 주기적으로 실행할 내용을 디렉토리에 넣어놓고 작동한다.

 /etc 디렉토리 안에 'cron'으로 시작하는 파일들을 보여준다. cron.daily/hourly/monthly/weekly를 볼수 있다. 

 

AT

 

cron은 주기적으로 반복되는 작업을 예약하는 것이지만, at 명령어는 일회성 작업을 예약하는 것이다. 

 

  • at 3:00am tomorrow -> 내일 새벽 3시
  • at 11:00pm January 30 -> 1월 30일 오후 11시
  • at now +1 hours -> 한시간후

 


# systemctl status crond => crond가 동작하는지 확인

 

매월 15일 새벽 3시 1분에 /etc/cron.monthly 디렉토리안에 모든 파일을 실행해라는 명령어를 /etc/crontab/에 넣어두면 명령어가 해당 시간에 실행된다.

 

그리고 /etc/cron.month/ 디렉토리 안에 myBackup.sh이라는 스크립트 파일을 만든다. 

위에 코드는 현재 날짜를 추출해서 /backup 디렉토리에 backup-현재날짜.tar.xz라는 파일로 /home 디렉토리 전체의 백업 파일을 생성하라는 의미이다. 스크립트 언어에 대해서는 나중에 더 자세히 알아보겠다. 

반응형

댓글