![cron을 사용하여 다른 스크립트를 실행하는 쉘 스크립트를 실행하는 방법은 무엇입니까? [복사]](https://linux55.com/image/13978/cron%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%8B%A4%EB%A5%B8%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94%20%EC%89%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
내가 달릴 때
sh /opt/script/cypress.sh
모든 것이 잘 작동하고 스크립트는 디렉토리를 변경하고 명령을 실행하여 다른 스크립트를 엽니다.
하지만 이런 crontab이 있으면
1 * * * * /opt/script/cypress.sh
이것은 작동하지 않습니다. "crontab -e"로 crontab을 편집하고 다음과 같이 cypress.sh 터치 명령으로 작동하는지 테스트했습니다.
#!/bin/sh
cd "/opt/script" | ./cypress > /opt/script/log;
Cypress 파일은 다음과 같습니다.
cd "/opt/Website Testing/"
npx cypress run --record --key *
이번 포스팅에서는 레코드 키를 "*"로 교체했습니다
답변1
나에게 도움이 된 것은 다음 구성이었습니다.
예약 된 일들:
0 4 * * * /opt/script/cypress.sh > /opt/log
사이프러스.sh:
#!/bin/sh
. $HOME/.bashrc
cd "/opt/Website Testing/" && "/opt/Website Testing/node_modules/.bin/cypress" run --record --key *
도움을 주셔서 감사합니다. ".$HOME/.bashrc"가 누락되었습니다.