* Cent os 7을 기준으로 설명한 글입니다.
Cron을 이용해서 'Reeker'라는 문자열이
1분마다 출력되도록 해보려고 합니다.
1. 사용자에게 cron을 사용할 수 있는 권한 부여하기
sudo vi /etc/cron.allow
로 들어가서 빈 파일에
사용자 계정명을 작성한다.
그래야 사용자가 cron을 사용할 수 있다.
내 계정명은 reeker라서 reeker를 작성해주고
ESC키 누르고 :wq!를 눌러서 저장하고 나왔다.
그리고
sudo vi /etc/crontab
를 통해서 crontab을 열어서
MAILTO=root를
MAILTO=reeker로 바꿔줬다.
2. a.txt.log 파일 만들기
cd ~ <<home 밑에 사용자 계정 폴더로 이동하라는 명령어
touch a.txt.log << a.txt.log란 파일 만들기
이 a.txt.log 파일에 Reeker란 문자열이 계속 출력되도록 만들 것이다.
3. crontab에서 편집하기
crontab -e
를 입력한 후 거기에
*/1 * * * * echo 'Reeker' >> $HOME/a.txt.log
이렇게 작성했을 때 안될 때도 있다.
*/1 * * * * echo 'Reeker' >> /home/reeker/a.txt.log
를 입력하면 된다.
위에 걸 해석해보자면
* * * * * *
점 하나 당
분, 시, 일, 월, 요일이다.
*/1 * * * * 이렇게 쓰면 1분마다 실행하라는 뜻이다.
*/10 * * * * 이렇게 쓰면 10분마다 실행하라는 뜻이다.
주의할 점은 ***** 이렇게 작성하면 안돼고
* * * * * 이렇게 점 사이를 띄어서 써야 한다.
단 */1을 쓸 때는 붙여서 쓴다.
echo는 파이썬을 배웠다면 print라고 생각하면 쉽다.
echo 'Reeker' 즉 Reeker를 출력하라는 뜻이다.
아직 파이썬을 모른다면 그냥 Reeker란 문자열을 출력해줘라고
명령하는 게 echo란 아이라고 알아두자.
출력이란 말이 어려울 수도 있는데
빈 파일에 1분마다 Reeker란 문자열을 찍어내는 거라고 생각하면 된다.
이제 1분마다 Reeker란 문자를 어디에 찍어내야 하는지 알려줘야 한다.
$HOME은 home/reeker를 의미한다.
$HOME/a.txt.log는 사실
home/reeker/a.txt.log를 의미하기도 한다.
home 폴더 밑에 reeker 폴터 밑에 있는 a.txt.log 파일을 의미한다.
*/1 * * * * echo 'Reeker' >> $HOME/a.txt.log
를 정리하자면 /home 밑에 /reeker 밑에 있는 a.txt.log 파일에
Reeker란 문자열을 1분마다 찍어내라가 된다.
ESC 키 누르고 :wq! 눌러서 저장하고 나와준다.
crontabl -l
을 입력해서 잘 입력했는지 확인해보자.
찍어낸 걸 확인하는 방법은 파일 탐색기를 열면된다.
4. 파일 탐색기 열기
파일 탐색기를 열어서 확인하는 방법은 아래와 같다.
프로그램 (Applications) 클릭
Files 클릭한 후
a.txt.log 파일을 클릭하면
사진처럼 Reeker가 자동으로 찍히고 있는 걸 확인할 수 있다.
1분 마다 찍히는 거라 찍히는 속도가 좀 느리긴 하다.
*추가*
크론 로그 보는 방법
sudo cat /var/log/cron 입력하면 된다.
'BOX-IT > Linux' 카테고리의 다른 글
[Linux] 500 OOPS vsftpd: refusing to run with 해결 방법 (0) | 2022.06.02 |
---|---|
[Linux] 'Failed to start IPv4 firewall with iptables' 해결 방법 (0) | 2022.05.27 |
[Linux] Ctrl + Alt + Delete(CAD) 키 활성화 및 비활성화 방법 (0) | 2022.05.18 |
[Linux] 외부에서 ping날렸을 때 ping 차단하는 방법 (0) | 2022.05.12 |
[Linux] 리눅스에 xrdp 설치하고, 윈도에서 원격으로 접속하는 방법 (1) | 2022.05.04 |