재부팅 시 bash 스크립트를 작성/실행하는 방법이 있습니까(Debian/Ubuntu에서와 같이 집에 2개의 상자가 있기 때문에)
또한 권장되는 크론 작업 가이드가 있나요? 나는 그것들을 완전히 처음 접했습니다 (그러나 그것은 매우 유용할 것입니다)
답변1
Ubuntu/Debian/Centos에서는 @reboot를 실행하도록 크론 작업을 설정할 수 있습니다. 시스템 시작 시 한 번 실행됩니다. crontab -e를 사용하여 crontab을 편집하고 아래 예와 같이 줄을 추가합니다.
@reboot /path/to/some/script
cron을 찾아보면 많은 리소스가 있습니다.이 웹사이트몇 가지 좋은 예가 있습니다.
답변2
많은 컴퓨터에서 무언가를 시작하는 또 다른 일반적인 방법*닉스플랫폼은 (아니면, 이것이 인기를 잃기 시작할 수도 있다고 생각합니다. 참조)대안/etc/rc2.d
) 특정 OS/배포판에 따라 , /etc/rc3.d
, 등 처럼 보일 수 있는 디렉토리에 스크립트를 배치합니다. /etc/rc/rc3.d
(다른 배포판은 다른 "런레벨"을 사용합니다. 여기에서 숫자가 나옵니다. 아래 링크를 참조하십시오.) 종종 이들은 수동으로 더 쉽게 실행할 수 있도록 파일과 심볼릭 링크되어 /etc/init.d
있으며 대부분의 *nix 플랫폼에서 "시작" 및/또는 "중지" 인수뿐만 아니라 "상태", "다시 시작" 부팅"도 사용합니다. 많은 Linux 플랫폼 등이 있습니다. 이러한 시스템에서는 일반적으로 다음 init
을 통해 수행 됩니다 inittab
. - 참조SysV 초기화 스크립트. *BSD 시스템에는비슷한 컨셉의 다른 스타일, 위에 링크된 것처럼 다양한 변형이 있습니다.
예를 들어 위 스타일에서 /etc/rc2.d
스크립트(기본 런레벨 2를 사용하는 시스템의 경우)는 일반적으로 S
문자 또는 로 시작 K
하고 그 뒤에 두 자리 숫자가 옵니다. S로 시작하는 스크립트가 실행됩니다.사전 편찬 순서(일반적으로 숫자 순서로 번역됨) "start" 매개변수를 사용하여 시작 시 레벨 2를 입력합니다. 종료 시 K 접두사가 붙은 스크립트는 "stop" 매개변수를 사용하여 유사하게 실행됩니다.
/etc/init.d
(때때로 또는 기타 변형) 의 파일 /etc/rc/init.d
이름은 S 및 K 접두사 또는 숫자 없이 지정됩니다. 일반적으로 다양한 /etc/rc?.d 디렉토리의 파일은 실제 파일에 심볼릭 링크되어 있으며 일반적으로 상대 경로 접두어를 통해 참조됩니다 ../init.d/
.
다양한 유틸리티는 다양한 시스템에 존재하여 이를 관리하고 켜고 끄는 등의 작업을 수행합니다. IRIX에서는(제 기억이 맞다면 적어도 IRIX 4 이후) chkconfig
링크를 작동하지 않지만 스크립트가 링크를 실행해야 하는지 확인하는 도구였습니다 . 나생각하다IRIX는 이러한 기능을 갖춘 최초의 운영 체제입니다. 나중에 제가 사용했던 RedHat의 일부 버전에는 같은 이름을 가진 도구가 있었지만 약간 다르게 동작하고 실제로 심볼릭 링크를 관리했습니다.chkconfig(8)
아마도 제가 당시 사용하던 버전과 동일(또는 매우 유사한) 버전이 아닐까 싶습니다.
update-rc.d
내가 액세스할 수 있는 Ubuntu 9.04 시스템에서는 실행할 스크립트 처럼 보입니다 .
inittab을 사용하는 시스템에 있다면 직접 추가할 수도 있습니다. 이는 부팅 시 한 번만 실행하는 것이 아니라 실행 여부를 init
적극적으로 모니터링 하려는 경우에 특히 유용합니다. respawn
충돌 또는 종료. man inittab
자세한 내용은 시스템의 출력(사용 가능한 경우)을 참조하세요 . 그리고/또는 man init
등등 다양한 버전이 있고 저는 데비안이나 우분투(아직)에 익숙하지 않기 때문에 정확히 무엇을 지적해야 할지 모르겠지만 이것이 여러분에게 몇 가지 출발점을 제공할 수 있기를 바랍니다.
crontob의 @reboot 부분은 나에게 새로운 것이지만 유용한 옵션이 될 것 같습니다. 비록 많은 면에서 init 스크립트가 더 바람직하다고 제안하고 싶지만 말입니다. 그러나 man 5 crontab
cron 구성에 무엇을 넣을 수 있는지, 실행하도록 지시하는 방법과 시기(Cron의 Vixie/ISC 버전 가정 포함)에 대한 자세한 정보를 참조하세요.예약된 작업 기록] 그리고 @reboot
).
이게 도움이 되길 바란다.