[2021.07.08] How to use crontab on Ubuntu ?
* 07-21 cron을 이용하기 위해, 리눅스 서버 시간을 한국 시간으로 바꿔야 한다.
-> 바꾸지 않으면, 내가 원하는 작업 시간(cron)에 지정해 둔 작업이 실행되지 않는다. 꼭 설정해주자.
-> 또한, 시간 설정 후, 아래의 명령어인 stop & start 사용해야함
sudo timedatectl set-timezone Asia/Seoul
-> 해당 명령어를 사용하면, UTC -> KST(한국 시간)으로 변경할 수 있다.
* Ubuntu를 처음 설치하면, UTC 시간이 Default 값이다.
ubuntu@crawling:~$ sudo systemctl stop cron
ubuntu@crawling:~$ sudo systemctl start cron
-> 07-21 crontab -e로 작업(cron)을 수정했다면, 꼭 아래의 두 명령어를 실행해야 한다.
--------------------------------------------------------------------------------------------------------------------------------------------------------
crontab 설치 방법
pip install crontab
-> 해당 사진을 보면 이미 설치했다.
이제, cron(crontab) 설정하는 방법과 기능에 대해서 알아보자
--------------------------------------------------------------------------------------------------------------------------------
crontab 표현 방법
-> 순서대로, 분, 시간, 일, 월 , 요일(0 - 일요일 ~ 6 :토요일)
-> command to execute 에는 cron으로 수행할 작업 명령어 설정해주면 됨
e.g : * 23 * * * /home/ec2-user/1daysago.sh
* * * * * /home/ec2-user/after1days.sh
https://injekim97.tistory.com/300
-> 해당 게시글은 작업할. sh(shell) 파일을 만드는 방법(. sh에 실행 권한 부여) 방법이 게시되어 있다.
-> 해당 게시글 작업을 꼭 해야, crontab을 사용할 수 있다.
---------------------------------------------------------------------------------------------------------------------------------
crontab 기능 (등록된 작업 보기, 수정, 삭제)
설명 | |
crontab -l | crontab에 등록된 작업 보기 |
crontab -e | 현재 사용자에 대한 cron작업 수정 |
crontab -r | 사용자가 지정한 cron 작업을 모두 삭제 |
crontab -e
crontab -l
----------------------------------------------------------------------------------------------------------------------------
최종적으로 cron을 사용하기 위한 방법
1. Ubuntu(Linux) 시간을 한국 시간으로 설정
sudo timedatectl set-timezone Asia/Seoul
2-1 How to create sh file
sudo vi 파일이름.sh
chmod 777 파일이름.sh
2-2. 해당 sh 파일들에게 작업을 검
ubuntu@crawling:~$ cat *.sh
python3 /home/ubuntu/1daysago22.py
python3 /home/ubuntu/KABL.py
python3 /home/ubuntu/KLAC_craw.py
3. cron을 이용하여, *.sh들이 실행되도록 하게 함
ubuntu@crawling:~$ crontab -l
* 23 * * * /home/ubuntu/1daysago.sh > lawtalk_1day.log
* 23 * * * /home/ubuntu/KABL.sh > KABL.log
* 23 * * * /home/ubuntu/KLAC.sh > KLAC_law.log
systemctl status cron
systemctl start cron
systemctl stop cron
-> crontab -e 로 설정을 해주면 다시 cron을 실행
crontab 시작, 정지, 재시작 (Amazon Linux 2 AMI)
service crond start
service crond stop
service crond restart
cron 시작,정지,재시작 (Ubuntu20.04)
sudo service cron start
sudo service cron stop
sudo service cron restart
댓글