부팅 시 실행되어야 하는 스크립트를 작성 중인데, 문제는 스크립트를 작성하려면 fstab을 통해 자동으로 마운트되는 공유 드라이브의 일부 파일이 필요하고 실행 시 드라이브가 아직 마운트되지 않았다는 것입니다.
cron @reboot 및 init.d 경로를 사용해 보았으나 둘 다 너무 일찍 실행되었습니다. mount -a
스크립트에 추가하는 것도 고려했지만 sudo
그렇게 하지 않는 것이 좋습니다. 이제 작동하도록 지연을 추가했지만 약간 진부한 느낌이 들었습니다.
fstab이 처리된 후에 시작 스크립트가 실행되도록 하는 방법이 있습니까? 아니면 마운트를 사용하지 않고 강제로 폐기하시겠습니까 sudo
?
답변1
이렇게 하려면 스크립트를 다음과 같이 전달해야 합니다.체계종속성을 정의할 수 있는 단위(systemd가 있다고 가정)...
지속하고 싶다면예약된 작업 @reboot(쉬운 옵션처럼 들립니다.) 스크립트를 좀 더 스마트하게 만들어야 합니다(또는 fs 마운트 후에 cron을 시작해야 합니다... 어떤 변경도 권장하지 않습니다). 단순한 지연 대신 필요한 파일 시스템이 마운트되었는지(bash에서) 확인할 수 있습니다.
while ! mount | awk '{print $3}' | grep -qx /the/mountpoint; do
sleep 1
done
또는 필요한 파일이 존재하는지 확인할 수 있습니다.
while ! [ -f /that/file ] ; do
sleep 1
done
답변2
나는 당신이 비교적 새로운 Linux 배포판을 사용하고 있다고 가정하고 있으므로 기본 배포판 설치에서는 더 이상 사용되지 않으며 이것이 문제일 가능성이 높으므로 systemd
매뉴얼을 확인하고 싶을 수도 있습니다 . 다른 스크립트보다 먼저 실행되는 스크립트를 지정할 수 있는 시작 종속성을 허용합니다.SysV
systemd
다음을 확인하세요협회