기존 환경
node 설치 후 코드를 crontab 에 스케줄링 등록한 경우,
node 명령어를 절대 경로로 기입해야 하기 때문에 아래와 같은 형태일 것이다.
[root@Quick141-75 ~]# crontab -l
00 01,02 * * * /usr/bin/node /root/nodejs/db_sync.js >> /root/nodejs/result.txt
이 상태로 운영 중에 nvm 을 통해서 node 버전을 변경(업그레이드)하였다면 후속 조치가 필요하다.
node 버전 변경 후
경로 확인
[root@Quick141-75 ~]# which node
/root/.nvm/versions/node/v11.0.0/bin/node
[root@Quick141-75 ~]# type node
node is /root/.nvm/versions/node/v11.0.0/bin/node
[root@Quick141-75 ~]# whereis node
node: /usr/bin/node /usr/include/node /usr/share/node /usr/share/man/man1/node.1.gz
which, type, whereis 등의 명령어로 확인해 보면, 변경한 node 명령어는 /root/.nvm 하위 경로에 위치하고 있다.
즉, 현재 /usr/bin/node 파일은 업그레이드한 node 명령어가 아니다.
파일별 경로 확인
[root@Quick141-75 ~]# /usr/bin/node -v
v0.10.48
[root@Quick141-75 ~]# /root/.nvm/versions/node/v11.0.0/bin/node -v
v11.0.0
[root@Quick141-75 ~]# node -v
v11.0.0
조치 방법
crontab 에 스케줄링 설정된 node 명령어의 경로를 교체한다.
[root@Quick141-75 ~]# crontab -l
00 01,02 * * * /root/.nvm/versions/node/v11.0.0/bin/node /root/nodejs/db_sync.js >> /root/nodejs/result.txt
또는 /usr/bin/node 파일 자체를 교체하거나 심볼릭 링크하는 방법이 있다.
'코딩 > node.js' 카테고리의 다른 글
NVM 을 사용하여 node, npm 설치 (0) | 2023.09.04 |
---|---|
yum 설치 에러 Error: Cannot find a valid baseurl for repo: base (0) | 2023.09.04 |
npm ERR! Cannot read properties of undefined (reading 'stdin') (0) | 2022.06.08 |
node.js - DB 연동 이미지 파일 다운로드 스케줄링 (0) | 2020.07.13 |