[shell] 시스템 부팅 후 실행되는 Shell 작업 스케줄링

시스템이 부팅되면 특정한 작업이 자동으로 실행되어야 하는 경우가 있습니다. 이러한 경우에는 cron이나 systemd와 같은 툴을 사용하여 Shell 작업을 스케줄링할 수 있습니다.

1. Cron을 사용한 스케줄링

Cron은 리눅스 시스템에서 표준적으로 사용되는 시간 기반 작업 스케줄러입니다.

우선, cron 작업을 생성하려면 crontab 명령어를 사용해야 합니다.

crontab -e

위 명령어를 실행하면, 현재 사용자의 cron 작업 목록이 편집기로 열리고, 원하는 작업을 추가할 수 있습니다.

@reboot /path/to/your/script.sh

위와 같이 @reboot을 사용하면 시스템 부팅 후 작업이 실행됩니다.

2. Systemd를 사용한 스케줄링

Systemd는 최신 리눅스 배포판에서 사용되는 초기화 및 시스템 관리 툴입니다. Systemd를 사용하여 시스템 부팅 후 실행되는 서비스나 스크립트를 등록할 수 있습니다.

먼저, .service 파일을 작성해야 합니다.

sudo nano /etc/systemd/system/myjob.service

다음과 같이 .service 파일을 작성합니다.

[Unit]
Description=My Job
After=network.target

[Service]
ExecStart=/path/to/your/script.sh

[Install]
WantedBy=default.target

.service 파일을 작성한 후에는 아래 명령어를 사용하여 등록합니다.

sudo systemctl enable myjob

위 명령어를 실행하면, 시스템 부팅 후에 ExecStart에 설정한 스크립트가 실행됩니다.

이러한 방식으로, Cron이나 Systemd를 사용하여 시스템 부팅 후에 실행되는 Shell 작업을 스케줄링할 수 있습니다.