재부팅 또는 시작 중에 명령 / 스크립트를 자동 실행하는 방법
저는 Linux 시스템을 부팅하고 로그온 할 때 뒤에서 일어나는 일에 항상 매료됩니다. 베어 메탈의 전원 버튼을 누르거나 가상 머신을 시작하면 시스템이 완전히 작동하도록하는 일련의 이벤트가 실행됩니다 (때로는 1 분 미만). 로그 오프 및/또는 시스템 종료시에도 마찬가지입니다.
이것을 더 흥미롭고 재미있게 만드는 것은 운영 체제가 부팅 할 때와 로그온 또는 로그 아웃 할 때 특정 작업을 실행하도록 할 수 있다는 사실입니다.
이 distro-agnostic 기사에서 우리는 Linux에서 이러한 목표를 달성하기위한 전통적인 방법에 대해 논의 할 것입니다.
참고 : 로그온 및 로그 아웃 이벤트의 기본 셸로 Bash를 사용한다고 가정합니다. 다른 방법을 사용하면 이러한 방법 중 일부가 작동하거나 작동하지 않을 수 있습니다. 확실하지 않은 경우 셸 설명서를 참조하십시오.
재부팅 또는 시작 중에 Linux 스크립트 실행
시작하는 동안 명령을 실행하거나 스크립트를 실행하는 두 가지 일반적인 방법이 있습니다.
일정을 나타내는 데 널리 사용되는 일반적인 형식 (분/시간/일/월/요일) 외에도 cron 스케줄러는 @reboot
의 사용을 허용합니다. 이 지시문과 스크립트의 절대 경로는 시스템이 부팅 될 때 실행되도록합니다.
그러나이 접근 방식에는 두 가지주의 사항이 있습니다.
- a) the cron daemon must be running (which is the case under normal circumstances), and
- b) the script or the crontab file must include the environment variables (if any) that will be needed (refer to this StackOverflow thread for more details).
이 방법은 시스템 기반 배포에도 유효합니다. 이 메서드가 작동하려면 다음과 같이 /etc/rc.d/rc.local
에 실행 권한을 부여해야합니다.
# chmod +x /etc/rc.d/rc.local
파일 하단에 스크립트를 추가하십시오.
다음 이미지는 cron 작업과 rc를 사용하여 두 개의 샘플 스크립트 ( /home/gacanepa/script1.sh
및 /home/gacanepa/script2.sh
)를 실행하는 방법을 보여줍니다. "로컬 및 각각의 결과.
#!/bin/bash DATE=$(date +'%F %H:%M:%S') DIR=/home/gacanepa echo "Current date and time: $DATE" > $DIR/file1.txt
#!/bin/bash SITE="Tecmint.com" DIR=/home/gacanepa echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt

두 스크립트 모두 이전에 실행 권한을 부여 받아야합니다.
$ chmod +x /home/gacanepa/script1.sh $ chmod +x /home/gacanepa/script2.sh
로그온 및 로그 아웃시 Linux 스크립트 실행
로그온 또는 로그 아웃시 스크립트를 실행하려면 각각 ~ .bash_profile
및 ~ .bash_logout
을 사용하십시오. 대부분의 경우 후자의 파일을 수동으로 만들어야합니다. 이전과 동일한 방식으로 각 파일의 맨 아래에 스크립트를 호출하는 줄을 놓기 만하면 바로 사용할 수 있습니다.
이 기사에서는 재부팅, 로그온 및 로그 아웃시 스크립트를 실행하는 방법을 설명했습니다. 여기에 포함시킬 수있는 다른 방법을 생각할 수 있다면 아래 의견 양식을 사용하여 지적하십시오. "여러분의 의견을 기다리겠습니다!