본문 바로가기
LEARN/OS

[UBUNTU] bash 그리고 crontab

by 아이엠제니 2024. 5. 31.

 

CLOUD: AWS EC2
OS: Ubuntu 22.04.4 LTS


 

 

script.sh 작성


vi script.sh
#!/bin/bash

 

file script.sh

확장자를 확인할 수 있다.

 

 

💾 script.sh

#!/bin/bash

mkdir ~/desktop/seoul
cd ~/desktop/seoul
touch file(1..10)
ls -l ~/desktop/seoul > ~/desktop/seoul.log

 

 

 

 

script.sh 실행


bash script.sh

 

 

 

 

seoul.log 확인


 

 

 

crontab


# 매분마다 실행
* * * * * echo "Hello Linux" >> ~/desktop/hello.txt

 

* * * * * 

분(0-59)
시간(0-23)
일(1-31)
월(1-12)
요일(0-7)

 

스케줄링 기능으로, 이전에 실습을 했는 때는 사실 이해를 잘 못했었다.

근데 이번에 프로젝트를 진행하면서, 소스 안에서 스케줄링 기능을 직접 사용해 보니 이해가 잘 되었다.

여담으로, 현재 서버에서 무료 ssl 인증서를 재발급받기 위해, crontab을 사용하고 있다.

 

위처럼 크론탭 명령어를 작성한 후 확인을 해보면!

 

 

 

`hello.txt`라는 파일이 생성되어 있는 것을 확인할 수 있다.

 

 

 

그리고 cat 명령어를 사용해, 내용을 확인해본다.

그러면 이렇게 `Hello Linux` 문장이 3줄 생성된 것을 볼 수 있다.

 

 

 

시간이 지나, 다시 확인을 해본다.

5개로 늘어난 것을 확인할 수 있다.

 

 

 

# 매분마다 실행
* * * * * echo "Hello Linux" >> ~/desktop/hello.txt
* * * * * ~/desktop/ bash script.sh

# 매주 목요일 4시 30분에 실행
30 4 * * 4 echo "Hello Ubuntu" >> ~/desktop/ubuntu.txt

# 매주 목요일 4시 10, 20, 30 실행
10,20,30 4 * * 4 echo "Hello Ubuntu" >> ~/desktop/ubuntu2.txt

# 매일 2시부터 2시 30분까지매분  실행
0-30 2 * * * echo "Hello Ubuntu" >> ~/desktop/ubuntu3.txt

# 매 10분마다 실행
*/10 * * * * echo "Hello Ubuntu" >> ~/desktop/ubuntu4.txt

매분마다 실행할 수도 있지만?

매주 해당 요일이나, 시간에도 실행할 수 있다.

알아두면 좋을 것 같아.

생각보다 많이 쓰이는 것 같다.

 

 

 

참고
`Linux Command-Line 명령어 기초 배우기` - 인프런

 

 

 

300x250