명령줄이 제대로 작동할 때 cron 작업 오류 발생

명령줄이 제대로 작동할 때 cron 작업 오류 발생

httpdocs/pub/ftp-admin/ 디렉터리에서 .sh bash 파일을 실행합니다. 디렉토리의 명령줄에서는 모든 것이 잘 작동합니다. plesk에서 cron 작업을 실행하면 모든 magento 2 명령이 작동하지 않고 이 메시지가 나타납니다.

Magento는 PHP 7.1.3 이상을 지원합니다.

아래 스크립트를 참조하세요. 뭐가 문제 야. 실행 중: CentOS Linux 7.8.2003 및 PHP 7.2.31

#!/usr/bin/env bash

file=*.ZIP
  if [ -f $file ]
    then
      echo $file "exist"
    # 
        cp $file ./backup
    # 
    unzip -P web $file
    # 
    rm -f $file
   fi
    # 
   if [ -f *BASIC.XML ]
    then
    mv *_BASIC.XML BASIC.XML
    php -f ../../bin/magento import:job:run 1
   fi
    # 
   if [ -f *PRICES.XML ]
        then
        mv *_PRICES.XML PRICES.XML
        php -f ../../bin/magento import:job:run 4
    php -f ../../bin/magento import:job:run 2 
   fi
    # 
   if [ -f *STOCKINFO.XML ]
        then
        mv *_STOCKINFO.XML STOCKINFO.XML
        php -f ../../bin/magento import:job:run 3
   fi
    # 
    cp -f *.XML ./backup
    # 
    rm -f *.XML

답변1

crontab에서 스크립트를 사용할 때마다 PATH그에 따라 명령 변수를 설정해야 합니다(여기)./path/to/the/bin/magento

전임자:PATH=$PATH:/path/to/the/bin/magento

스크립트에서 ../스크립트가 실행되는 디렉토리와 스크립트에서 사용하려면 항상 전체 경로를 사용하십시오../cd/path/to/the/bin/magento

답변2

문제가 해결되었습니다. plesk의 Cron 작업은 낮은 PHP 버전에서 실행된 다음 SSH를 통해 실행됩니다. 다음과 같이 스크립트를 편집하면 문제가 해결되었습니다.

/opt/plesk/php/7.2/bin/php -f $MAGEPATH/magento import:job:run 1

관련 정보