PostgreSQL을 daemontools 서비스로 실행하는 방법은 무엇입니까?

PostgreSQL을 daemontools 서비스로 실행하는 방법은 무엇입니까?
  1. svscanboot가 실행되어 자동 시작에 추가되었습니다.
  2. 기사에서 스크립트를 추가했습니다.http://thedjbway.b0llix.net/services/postgresql.html/service/postgres/run으로 이동하고 모드 a+x, 루트 소유자를 변경합니다.
  3. 서비스 추가: svc -u /service/postgres
  4. svstat /service/postgres를 확인하세요. 스크립트가 실행되지 않았습니다.

답변1

해당 튜토리얼을 끝까지 따르면 로그 서비스도 있어야 합니다. 로그 서비스에는 정보가 있습니다.로그 파일에서주요 서비스가 실패한 이유에 대해. tail, grep및 를 사용하여 로그 파일을 읽을 수 있습니다 less.

Vanilla daemontools'는 svstat서비스가 현재 작동 중인지 작동 중지되었는지만 알려줍니다. 스크립트가 실행되지 않았다고 주장할 근거가 없습니다. 실제로 그럴 가능성이 매우 높다했다달리다; 로그 서비스의 로그 파일에 있는 오류 메시지는 어떤 오류 메시지가 출력되었는지 알려줍니다.

물론 스크립트가 더 많은 작업을 완전히 일반적인 방식으로 설명하도록 만들 수 있습니다. 결국 이는 #!/bin/sh해석된 스크립트이므로 쉘 -v-x옵션은 다른 쉘 스크립트에서와 마찬가지로 사용할 수 있습니다.

로그에서 찾을 수 있는 가장 가능성 있는 항목은 postmaster귀하의 로그가 아니고 또는 PATH같은 하위 디렉터리에 있다는 것입니다 . 이 경우에는 다음과 같이 호출해야 합니다. 또는 스크립트 내의 경로 앞에 추가하여 일반 오래된 unadorned 로 호출될 때 프로그램을 찾을 수 있도록 해야 합니다 . 후자는 PostgreSQL 문서 qv에 설명되어 있습니다./usr/lib/postgresql//usr/local/pgsql/usr/lib/postgresql/bin/postmaster/usr/lib/postgresql/bin/postmaster

추가 읽기

  • "환경 변수". PostgreSQL 현재 문서. 2016. PostgreSQL 글로벌 개발 그룹.
  • "서버 시작 실패". PostgreSQL 현재 문서. 2016. PostgreSQL 글로벌 개발 그룹.

관련 정보