Computer >> 컴퓨터 >  >> 프로그래밍 >> Bash 프로그래밍

Linux 재부팅 및 시작 시 명령 자동화:단계별 가이드

나는 Linux 시스템을 부팅하고 로그온할 때 뒤에서 일어나는 일들에 항상 매료됩니다. 베어메탈에서 전원 버튼을 누르거나 가상 머신을 시작하면 완전한 기능을 갖춘 시스템으로 이어지는 일련의 이벤트가 실행됩니다. 때로는 1분도 채 걸리지 않습니다. 로그오프하거나 시스템을 종료할 때도 마찬가지입니다.

이를 더욱 흥미롭고 재미있게 만드는 것은 부팅할 때와 로그온 또는 로그아웃할 때 운영 체제가 특정 작업을 실행하도록 할 수 있다는 사실입니다.

배포판에 구애받지 않는 이 기사에서는 Linux에서 이러한 목표를 달성하기 위한 전통적인 방법에 대해 논의할 것입니다.

참고 :Bash를 사용한다고 가정합니다. 로그온 및 로그아웃 이벤트를 위한 기본 셸로 사용됩니다. 다른 방법을 사용하는 경우 이러한 방법 중 일부가 작동할 수도 있고 작동하지 않을 수도 있습니다. 의심스러우면 쉘 문서를 참조하세요.

재부팅 또는 시작 중 Linux 스크립트 실행

시작 중에 명령을 실행하거나 스크립트를 실행하는 두 가지 전통적인 방법이 있습니다:

방법 #1 - 크론 작업 사용

일정을 표시하는 데 널리 사용되는 일반적인 형식(분/시/월/월/요일) 외에도 cron 스케줄러에서는 @reboot 사용을 허용합니다. . 이 지시어 뒤에 스크립트의 절대 경로가 오면 컴퓨터가 부팅될 때 스크립트가 실행됩니다.

그러나 이 접근 방식에는 두 가지 주의 사항이 있습니다:

  1. a) cron 데몬이 실행 중이어야 합니다(일반적인 상황의 경우).
  2. b) 스크립트 또는 crontab 파일에는 필요한 환경 변수(있는 경우)가 포함되어야 합니다(자세한 내용은 이 StackOverflow 스레드를 참조하세요).

방법 #2 – /etc/rc.d/rc.local 사용

이 방법은 시스템 기반 배포판에도 유효합니다. 이 방법이 작동하려면 /etc/rc.d/rc.local에 실행 권한을 부여해야 합니다. 다음과 같습니다:

# chmod +x /etc/rc.d/rc.local

파일 하단에 스크립트를 추가하세요.

다음 이미지는 두 개의 샘플 스크립트(/home/gacanepa/script1.sh)를 실행하는 방법을 보여줍니다. 그리고 /home/gacanepa/script2.sh ) 크론 사용 직업 및 rc.local , 그리고 각각의 결과.

script1.sh:

#!/bin/bash
DATE=$(date +'%F %H:%M:%S')
DIR=/home/gacanepa
echo "Current date and time: $DATE" > $DIR/file1.txt

script2.sh:

#!/bin/bash
SITE="Tecmint.com"
DIR=/home/gacanepa
echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt
Linux 재부팅 및 시작 시 명령 자동화:단계별 가이드 시작 시 Linux 스크립트 실행

두 스크립트 모두 이전에 실행 권한을 부여받아야 한다는 점을 기억하세요:

$ chmod +x /home/gacanepa/script1.sh
$ chmod +x /home/gacanepa/script2.sh

로그온 및 로그아웃 시 Linux 스크립트 실행

로그온 또는 로그아웃 시 스크립트를 실행하려면 ~.bash_profile를 사용하세요. 및 ~.bash_logout , 각각. 대부분 후자의 파일은 수동으로 생성해야 합니다. 이전과 같은 방식으로 각 파일 하단에 스크립트를 호출하는 줄을 놓으면 준비가 완료됩니다.

요약

이 문서에서는 재부팅, 로그온 및 로그아웃 시 스크립트를 실행하는 방법을 설명했습니다. 여기에 포함할 수 있는 다른 방법이 생각나면 아래 의견 양식을 사용하여 자유롭게 지적해 주세요. 여러분의 연락을 기다리겠습니다!

Linux 기술을 한 단계 끌어올리세요

루트 회원은 매달 새로운 과정이 추가되는 모든 과정, 인증 준비 트랙 및 점점 늘어나는 실습 Linux 콘텐츠 라이브러리에 대한 전체 액세스 권한을 갖습니다.

얻을 수 있는 것

모든 프리미엄 기사를 광고 없이 이용하세요

모든 강좌 이용 가능:Linux, Linux용 AI, Bash 스크립팅, Ubuntu 핸드북, Golang 등을 배우세요.

Linux 인증(RHCSA, RHCE, LFCS 및 LFCA)에 액세스

출시되면 새로운 강좌에 액세스하세요

주간 뉴스레터에 접속하세요

댓글의 우선 도움말

비공개 텔레그램 커뮤니티

Linux 커뮤니티와 연결

Linux 재부팅 및 시작 시 명령 자동화:단계별 가이드

Gabriel Cánepa는 아르헨티나 산루이스의 Villa Mercedes 출신의 GNU/Linux 시스템 관리자이자 웹 개발자입니다. 그는 세계 최고의 소비재 회사에서 근무하고 있으며 FOSS 도구를 사용하여 일상 업무의 모든 영역에서 생산성을 높이는 데 큰 즐거움을 느끼고 있습니다.

TecMint의 각 튜토리얼은 숙련된 Linux 시스템 관리자로 구성된 팀에 의해 작성되었습니다. 우리의 고품질 기준을 충족합니다.