
내 직업은 MySQL에 의존합니다. 그래서 저는 MySQL 이후에 제 작업을 시작할 수 있기를 바랍니다.
나는 읽었다신생 요리책start on
자동으로 작업을 시작할 수 있다는 것을 알았습니다 .
start on started mysql
그리고 그것은 작동합니다. 하지만 부팅 후 mysql이 내 작업에 영향을 미치는 것을 원하지 않습니다. 작업을 중지하면 mysql을 다시 시작하여 다시 시작됩니다. 이것을 피하는 방법?
답변1
/tmp/
작업이 이미 실행되었음을 추적하기 위해 폴더 에 잠금 파일을 만듭니다 . 예를 들면 다음과 같습니다.
다음 두 가지 시작 작업 구성 파일을 만듭니다.
/etc/init/joba.conf
# job A start on local-filesystems stop on runlevel[016] script /bin/echo job-A started >> /tmp/myjobs.log exec sleep 5 end script
/etc/init/jobb.conf
# job B triggered after A start on started joba script /bin/echo job-B started >> /tmp/myjobs.log if ! [ -f /tmp/jobb.lock ] then /bin/echo " do job-B tasks" >> /tmp/myjobs.log /bin/touch /tmp/jobb.lock else /bin/echo " bypass job-B tasks" >> /tmp/myjobs.log fi exec sleep 5 end script
재부팅
- 확인 하거나 다른 창에서
cat /tmp/myjobs.log
열어보세요 .sudo tail -f /tmp/myjobs.log
- 작업 A를 다시 실행해 보세요.
sudo start joba
확인
/tmp/myjobs.log
하고 우회 참고 사항을 참조하세요.job-A started job-B started do job-B tasks job-B started bypass job-B tasks job-A started job-B started job-A started bypass job-B tasks
메모:각 실행마다 3개의 라인이 있습니다. 여기서는 줄을 정렬하는 것이 중요하지 않습니다. stdout
버퍼링 문제는 시작과 관련이 없습니다. 작업은 올바른 순서로 실행됩니다.