나는 webmin을 사용하여 전용 서버(Centos 7 64비트)를 관리하고 거기에서 cron 작업을 생성하기 위해 다음을 포함하는 루트로 .sh 스크립트를 실행합니다.
#!/bin/bash
screen -dmS aud
screen -S aud -X stuff "node /home/AuditTrail-Web/app.js
"`echo -ne '\015'`
cron 작업은 시작할 때와 다음을 사용하여 이 화면에 참여할 때 이 스크립트를 실행합니다.
screen -r aud
나는 다음과 같은 것을 얻습니다 (아마 이름 지정 힌트일까요?):
sh-4.2#
이건 나를 허용하지 않습니다때때로다음과 같은 일부 명령을 실행하십시오.퓨저같은 다른 사람들도 있습니다노드/홈/AuditTrail-Web/app.js
그러나 화면을 수동으로 생성하면 다음과 같은 결과가 나타납니다.
[root@Martin ~]#
이를 통해 모든 것을 실행할 수 있습니다.
질문이 있으신가요?sh-4.2#왜 이런 형태로 존재하는 걸까요?
고마워하는
답변1
특히 노드 항목의 경우 .bashrc 또는 .bash_profile에서 의존하는 항목을 정의합니다.
Cron은 .bashrc 또는 .bash_profile을 가져오거나 존중하지 않으므로 화면을 시작할 때 설정되지 않습니다.
적어도 그것은 나의 첫 번째 추측입니다.