nohup 스크립트 내에서 at으로 시작

nohup 스크립트 내에서 at으로 시작

원격 서버에서 postgres 덤프를 실행하려고 하는데 몇 시간이 걸립니다. 이 작업을 수행하고 시작하기 위해 대상에서 bash 스크립트를 사용합니다.at

이제 문제가 발생할 경우를 대비해 를 사용하지만 nohup이 작업을 수행해야 하는지(시작 스크립트 사용으로 인해 at), 명령에서 직접 사용하는 것이 더 나은지 pg_dump(아래 참조) 아니면 스크립트 작성을 시작하는 것이 더 나은지 확실하지 않습니다 nohup. 명령 자체에서 수행하면 건너뜁니다.

스크립트의 현재 명령은 다음과 같습니다.

nohup nice pg_dump -h ${SOURCE} -d ${DB_NAME} -U ${DB_USER} -v -Fd -j 2 \
-f ${DUMPDIR}/${DUMPFILE}_"${NOW}" >  ${DUMPDIR}/${DUMPFILE}_"${NOW}".out

답변1

nohup을 사용하면 대화형 사용 시 세션 이후에도 작업을 계속할 수 있도록 하는 데 유용하지만 여기에는 적용되지 않습니다. 프로세스가 HUP를 받을 수 있는 유일한 이유는 다음과 같습니다.

  1. 문제가 발생하여 결과 백업이 쓸모 없게 됩니다.

  2. 호스트가 종료 중이거나 유지 관리 모드로 전환 중입니다.

이 경우 프로그램이 정상적으로 중지되기를 정말로 원하므로 여기에 "nohup"을 포함시키는 것이 중복되는 것보다 나쁩니다. 이는 실제로 무결성/가용성에 위험을 초래합니다.

관련 정보