중간에 종료되는 스크립트 실행

중간에 종료되는 스크립트 실행

일부 패키지 업데이트를 실행하는 스크립트가 있는데 완료되면 다시 시작하고 싶습니다. 유일한 문제는 재부팅한 후에 뭔가를 해야 한다는 것입니다. 분명히 시스템이 재부팅되면 스크립트가 더 이상 실행되지 않습니다.

다시 시작한 후 스크립트가 수행 중인 작업을 계속하려면 어떻게 해야 합니까? 나머지 스크립트를 삽입할 수 있는 nextBoot 또는 이와 유사한 설정이 있습니까?

/etc/init.d에 대해 알고 있지만 이 스크립트는 최대 한 달에 한 번만 실행되며 시작 시 전체 스크립트가 실행되는 것을 원하지 않습니다.

미리 감사드립니다!

답변1

다루어야 할 운영 체제의 범위는 매우 넓기 때문에 제가 일반적으로 조언하는 것은 유지 관리하는 "2단계" 스크립트를 호출하는 각 운영 체제에 대해 "init" 스크립트를 설치하는 것입니다. 이 "2단계" 스크립트는 업데이트된 스크립트가 있는지 확인하고 존재하는 경우 이를 실행한 다음 삭제합니다. "1단계 업데이트" 스크립트는 완료 후 재부팅하기 전에 이 업데이트 후 스크립트를 설치합니다.

답변2

크론을 사용할 수 있습니다@재시작확장 기능(사용 중인 cron이 이를 지원한다고 가정). 예를 들어, 다시 시작 전 스크립트는 다시 시작하기 전에 임시 파일을 생성할 수 있고, 다시 시작 후 스크립트는 나머지 스크립트를 실행하기 전에 임시 파일을 확인합니다.

답변3

스크립트(예: /var/local/yourscript)에 잠금 파일을 생성하고 재부팅할 때마다(cron @reboot) 파일이 있는지 확인하고 파일이 있으면 두 번째 스크립트(또는 특정 매개변수가 있는 스크립트가 있는 첫 번째 스크립트)를 실행하세요. ).

관련 정보