CentOS 7에서 cron 작업을 사용하는 Nohup 노드 서비스

CentOS 7에서 cron 작업을 사용하는 Nohup 노드 서비스

nohup node serviceCentOS 7에서 cron 작업을 사용하여 실행 하고 싶습니다 . 이를 위해 /home/guest/start_indexjs다음과 같은 파일을 만들었습니다.

#!/bin/bash

if pgrep -f "index.js" >/dev/null; then
echo "index.js is Running."
else
echo "index.js is Stopped."
nohup node /root/demo/index.js > /root/index-nohup.log &
fi

로그인 ssh root하고 다음 명령을 실행합니다.

cd /home/guest/
chown root start_indexjs
chgrp -R root start_indexjs
chmod +x start_indexjs

/home/guest/start_indexjs매 순간 달리고 싶었어요. 이를 위해 다음 줄을 추가했습니다 /etc/crontab.

*/1 * * * * root /home/guest/start_indexjs > /var/log/start_indexjs.log

/var/log/start_indexjs.log다음 권한으로 생성합니다 .

-rwxrwxr-x  1 root   root    179 Aug 12 12:31 start_indexjs

그런 다음 crond다음 명령을 사용하여 서비스를 다시 시작했습니다.

systemctl restart crond.service

결국 내 cron 작업은 실행 중이지만 /home/guest/start_indexjs > /var/log/start_indexjs.log실행될 때 cron 작업 내에서는 내 작업이 index.js실행되지 않습니다. index.js다음 명령을 사용하여 실행 중인 프로세스가 없습니다.

ps -ef | grep index.js

답변1

  • 현재 경우 에 스크립트를 실행하려면 crond모든 바이너리에 대한 전체 경로를 제공해야 합니다. pgrepnode
  • nohup필요 없음. crond터미널을 할당하지 않고 스크립트를 실행합니다.

관련 정보