2024. 2. 20. 08:54ㆍLinux/CentOS7
오늘은 at와 cron에 대해서 살펴보자
만약 회사에서 밤 12시에 업데이트가 예정 돼
시스템을 재부팅 해줘야 한다면
그것 때문에 사내에 밤12시까지 대기하기 힘들 것이다.
그럴때
at 이라는 명령어를 사용할 수 있다
at
단기적으로 한번만 예약실행
먼저 at를 설치해주자
그 다음 at를 실행시켜주자
예시로 지금으로부터 3분 뒤에
cat 명령어로 hello.txt 파일을 생성하며
내용은 test / test1 / test2 로 하겠다.
다 입력했으면 Ctrl+d 를 눌러주면 된다
그럼 끝부분에 작업 번호와
언제 실행되는지 표시가 된다!
작업 리스트를 확인하고 싶다면
at -l 나 atq 를
입력하자 (둘다 똑같다)
만약 어떤 작업인지 확인하고 싶다면
at -c (작업번호)
위 사진처럼 조금 난잡하지만
해당 작업번호가 어떤 작업인지
알려준다.
만약 작업을 삭제하고 싶다면
at -d (작업번호)
이제 작업을 예약해두고 실제로 잘 생성되는지 확인해보자
한 세션을 복제해서 수평으로 분할했다.
위쪽에는 watch -n 2 ls -al
명령어를 입력해
2초마다 ls -al 명령어가 계속 갱신되게 하겠다.
그리고 밑에서 at 예약기능을 사용하자
이제 기다려보자
42분이 되는 구간부터 즉시
at.txt 파일이 생성됐다
예약 작업시 꼭 현재시간 기준일 필요는 없다.
위처럼 원하는 시간을 설정할 수도 있다.
또한 -f 명령어를 이용해 스크립트를 예약할 수도 있다!
cron
주기적인 반복작업 예약실행
cron은 따로 설치 작업이 필요없다.
systemctl status crond로 확인해보면
현재도 실행중인 것으로 나온다.
cron은
/etc/crontab
경로에 테이블이 존재한다.
확인해보면 위와 같이 나오는데
각각
(분)(시)(일)(월)(요일)(사용자)(명령어)
위 순서로 아랫줄에 작성해주면 된다!
만약 매달 1일 11시59분에 시스템을 리부팅할 수 있도록 작성해보자
위처럼
59분 23시 1일 *(매달) *(매요일) (root) (reboot)
여기서 요일이 모든 요일로 설정 되어 있는데
실제로 모든 요일에 실행되는 것이 아니라
1일의 어떤 요일이든 실행할 수 있게 해주는 것이다.
또한 매 짝수월 1일,15일에 새벽 00시 01분에 abc.sh 스크립트를 실행해보자
(01분) (0시) (1,15일) (2-12/2월) (매요일) (root) (abc.sh)
위에서 짝수일을 표현하기 위해서 2-12/2 라는 문구를 작성했는데 이는
2월부터 12월까지 2씩 증가 시킨다는 뜻이다.
고로 홀수월이라면 1-11/2 라고 작성하면 될 것이다!
이상으로 at 와 cron에 대해서 알아보았다.
'Linux > CentOS7' 카테고리의 다른 글
Linus 23 . HAProxy (1) | 2024.02.25 |
---|---|
Linux 22 .quota (0) | 2024.02.22 |
Linux 20 . NFS 서비스 (0) | 2024.02.19 |
Linux 19 . Mail 서비스 (0) | 2024.02.19 |
Linux 18 . httpd 서비스 (0) | 2024.02.19 |