1분마다 죽었는지 확인하고 죽었으면 다시 시작시키는 cron job 설정하는 법
1분마다 특정 서비스의 상태를 확인하고, 해당 서비스가 중지되었을 경우 다시 시작시키는 작업을 cron
을 사용하여 자동화하려면 다음과 같은 절차를 따르면 됩니다:
- 스크립트 작성
- 스크립트 실행 권한 부여
- sudoers 파일 수정
- cron job 설정
먼저, 서비스 상태를 확인하고 필요한 경우 시작시키는 스크립트를 작성합니다. 아래 예시는 gnome-remote-desktop.service
를 대상으로 합니다.
#!/bin/bash
status=$(systemctl is-active gnome-remote-desktop.service)
if [ "$status" != "active" ]; then
sudo systemctl start gnome-remote-desktop.service
fi
스크립트에 실행 권한을 부여합니다:
chmod +x /path/to/check_service.sh
sudo
명령어를 비밀번호 없이 실행할 수 있도록 설정해야 합니다. 이를 위해 sudoers
파일을 수정합니다:
sudo visudo
아래의 내용을 파일의 마지막에 추가합니다 (여기서 username
은 실제 사용자 이름으로 바꿔주세요):
username ALL=(ALL) NOPASSWD: /bin/systemctl start gnome-remote-desktop.service
crontab
을 사용하여 새로운 cron job을 추가합니다:
crontab -e
다음 내용을 에디터의 마지막에 추가합니다:
* * * * * /path/to/check_service.sh
이제 check_service.sh
스크립트는 1분마다 실행됩니다.
주의: cron
을 사용할 때는 경로와 환경 변수가 제한적이므로 절대 경로를 사용하는 것이 좋습니다. 필요한 경우 스크립트 내에서 환경 변수를 설정해 주세요.
댓글
댓글 쓰기