리눅스를 재부팅 했을 때 특정한 스크립트가 자동으로 실행되도록 하려면 crontab에 @reboot 지시어를 사용하면 된다.
이 방법을 사용하면 서버 장비 재시작 시 WAS를 자동으로 시작시키는 등의 자동화 환경을 구축할 수 있다.
1. crontab 설정
리눅스의 작업 스케줄러인 crontab에 작업을 등록한다.
crontab -e
crontab을 열어 편집한다.
@reboot /bin/sleep 5 && /bin/echo "HELLO" >> /home/user1/echo_test/HELLO.log 2>&1
예시로 이와 같이 해볼 건데 시스템이 재부팅되고 5초 뒤에 HELLO 라는 문자 출력을 /home/user1/echo_test/HELLO.log 경로에 저장하는 명령이다.
이처럼 crontab에서
@reboot
는 시스템이 리부팅된 이후에 어떻게 하겠다~ 는 의미다.
crontab -l
crontab이 잘 등록됐는지 확인한다.
2. reboot 후 확인
crontab을 등록했으면 시스템을 리부팅한 후 확인해본다.
[root@newhost ~]# reboot
시스템이 리부팅된다.
경로에 가보니 저장한 스케줄러 대로 잘 저장됐다.
이 글에선 간단하게 문자열을 출력하고 저장하는 스케줄러를 등록했지만 이 형태 그대로 응용해서 여러 방식으로 쓰면 된다.