한 회사의 서버 엔지니어가 되어 직원들이 출근하기 전인 오전 5시에 백업을 해야한다고 생각해보자. 하루 이틀 정도는 일찍 출근할 수 있겠지만 매일 해야 한다고 생각하면 정말 워라벨은 꿈도 꿀 수 없는 일이 따로 없을 것이다. 이러한 고통을 해소시켜줄 수 있는 소프트웨어가 바로 cron이다. cron은 주기적으로 반복되는 시스템 작업을 예약하는 소프트웨어이다. 주로 데몬인 crond, 설정 파일인 /etc/crontab을 이용해서 사용한다.
*데몬(daemon): 백그라운드에서 항상 서비스를 제공중인 소프트웨어
작업 예약 관리 명령어
- vi /etc/crontab
- /etc/crontab: 관리자(root)가 시스템 관리를 목적으로 설정한 예약 내용이 등록되는 곳 (시스템 전역에 영향)
- 임의의 사용자를 지정하여 예약할 수 있다
분 시 일 월 요일 [사용자명] [실행시킬 파일명]
- crontab -e
- edit, 새로운 작업 예약 추가/수정/삭제 (일반 사용자가 cron 설정 시 사용)
- /var/spool/cron/ 디렉토리에 사용자 별 파일로 저장됨
분 시 일 월 요일 [수행할 명령]
- crontab -l
- list, 현재 설정된 crontab 작업 확인
- crontab -r
- remove, 설정된 모든 crontab 작업 삭제 (수정은 -e)
- crontab -u [계정 명] [옵션]
- 일반적으로 사용자는 자신의 cron 작업만 수정 가능하다. 하지만 관리자(root)는 -u를 사용하여 특정 사용자의 cron 작업을 확인(-l)/수정(-e)/삭제(-r) 가능하다
작업 예약 설정 예시
30 5 * * * tar -zcvf /backup/movie.tar.gz /movie/
=> 매월 매일 모든 요일 5시 30분에 movie 디렉토리의 파일을 압축한 tar 파일을 backup 디렉토리에 저장하라
* * * * * echo "I am a boy" > /dev/tty2
=> 매분 tty2번 콘솔로 "I am a boy" 이라는 메세지를 출력하라
*요일 설정은 일요일(0), 월요일(1), 화요일(2)... 방식으로 설정한다
힘들지만 오늘도 해낸 나를 위한 한 마디,
"어떤 일에서든 추종자에 머물지 말고, 적극적으로 배우는 사람이 돼라", Jim Rohn
"수동적으로 따라가는 공부를 하지 말고, 주체적으로 질문하고 리딩하는 공부를 하자"
'System > Linux' 카테고리의 다른 글
[Linux] 저장소(Storage)관리 (5) | 2024.09.24 |
---|---|
[Linux] init? runlevel? target? (0) | 2024.09.23 |
[Linux] DHCP (0) | 2024.09.21 |
[Linux] 도대체 프로세스가 뭐야?(프로세스 관리 명령어) (0) | 2024.09.19 |
[Linux] 파일 소유권 & 권한 / 특수 권한 (0) | 2024.09.19 |