PHP가 실행할 컬 명령이 포함된 스크립트가 있습니다.
/root/notify-down-script.sh
#!/bin/bash
echo "test" > file
curl -d "credentials=foobar" -d "title=$server down" https://notifi.it/api
명령줄에서 실행할 수 있습니다.
/usr/bin/php -r "echo shell_exec(\"/root/notify-down-script.sh test\");"
좋은 결과. cron에 추가하면:
* * * * * /usr/bin/php -d safe_mode=Off -r "echo shell_exec(\"/root/notify-down-script.sh test\");"
이것은 컬을 호출하지 않습니다( 호출되지 않습니다 echo
). 이것은 모두 루트로 실행됩니다. 스크립트(>/tmp/curl.log)에서 컬의 출력을 캡처하려고 하는데 아무 일도 일어나지 않습니다. 나는 전체 컬 경로를 시도해 보았습니다. 나는 완전히 길을 잃었습니다. 내가 뭘 잘못했나요?
답변1
다음과 같이 스크립트에서 컬 호출에 전체 경로를 추가해 보세요.
/usr/bin/curl -d"credentials=foobar" -d"title=$서버 다운"https://notifi.it/api