파일에서 데이터를 선택하고 (임계 값을 충족시키는 경우)이 데이터를 다른 파일에 전달하는 bash 프로그램이 있습니다. bash 스크립트 안에 smaoutput-analyse.sh라는 PHP 스크립트가 있습니다. 쉘에서 실행하면 완벽하게 작동합니다. 루트로 cron 작업으로 실행될 때 올바른 실행되지만 출력이 없습니다.bash 스크립트는 명령 행에서 실행하지만 cron에서는 실행되지 않습니다.
# Every minute result of SMA
*/1 8-22 * * * /home/pi/scripts/SBFspot.sh > /home/pi/test/smaoutput.txt 2>&1
# afterwards read and save in file
*/1 10-20 * * * /home/pi/test/smaoutput-analyse.sh > /dev/null 2>&1
(전술 한 바와 같이) 여기
#!/usr/bin/php
<?php
echo " Programm to read smaoutput.txt",PHP_EOL;
// etc etc
`if(!file_put_contents("sma_saved_data.txt",$sma_saved_data_string,FILE_APPEND)){
// failure
echo "error opening the file sma_saved_data.txt for writing",PHP_EOL;
}
// etc etc
?>
는 crontab을 선이다 FOM을 쉘을 실행할 때 여기
올바르게 추가 정보이다grep -i cron /var/log/syslog
Aug 14 16:06:01 raspberrypi CRON[6705]: (root) CMD (/home/pi/scripts/SBFspot.sh > /home/pi/test/smaoutput.txt 2>&1) Aug 14 16:06:01 raspberrypi CRON[6706]: (root) CMD (/home/pi/test/smaoutput-analyse.sh > /dev/null 2>&1)
로부터 출력
파일 권한을 + rw로 설정하고 + rwx로 설정했다고 생각합니다. bash는
내가 그리워 했는가
매우 제한된 환경에서 실행되는 Cron 스크립트는'PATH'와 다른 환경 변수가 예상과 다를 수 있음을 의미합니다. 작업 디렉토리는 예상 한 것과 다를 가능성이 있습니다. –
'sma_saved_data.txt'를 파일을 저장할 위치의 절대 경로로 바꿉니다. –