스크립트는 루트 터미널에서 실행되지만 사용자로 cronjob으로 실행될 때는 실행되지 않습니다.

스크립트는 루트 터미널에서 실행되지만 사용자로 cronjob으로 실행될 때는 실행되지 않습니다.

예약 된 일들:

51 18 * * * /home/XXXXXX/public_html/wp-content/uploads/wpallimport/files/wpai_scripts/ld_wpai_script 2>> /home/XXXXXX/public_html/wp-content/uploads/wpallimport/files/wpai_scripts/ld_wpai_script_cron.log

스크립트:

#!/bin/bash
set -x

cd /home/XXXXXX/public_html/wp-content/uploads/wpallimport/files/ && wget "https://XXXXXXsystems.com.au/WSDataFeed.asmx/DownLoad?CustomerCode=XXXXXX&WithHeading=true&WithLongDescription=true&DataType=0" -O leader-direct.zip && rm -rf ld-direct/ ; mkdir ld-direct/ && unzip -q leader-direct.zip -d ld-direct/ && rm -f leader-direct.zip && mv -f ld-direct/*.csv lead.csv && rm -rf ld-direct/ && wget -q -O - "https://www.XXXXXX.com.au/wp-load.php?import_key=XXXXXX&import_id=28&action=trigger"

내 스크립트는 루트 터미널에서 실행될 때 실행되지만 사용자로서 cronjob으로 실행될 때는 실행되지 않습니다.

Crob 작업은 grep XXXXXX /var/log/cron아래와 같이 실행됩니다.

Jan 15 18:38:01 server CROND[32025]: (XXXXXX) CMD (/home/XXXXXX/public_html/wp-content/uploads/wpallimport/files/wpai_scripts/ld_wpai_script 2>> /home/XXXXXX/public_html/wp-content/uploads/wpallimport/files/wpai_scripts/ld_wpai_script_cron.log)

내가 시도한 것:

  1. 스크립트에 권한이 있는지 확인하세요 755.
  2. 사용자의 crontab 파일에서 루트와 사용자 환경을 일치시키려고 시도했는데 PATH="/usr/local/cpanel/3rdparty/lib/path-bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/cpanel/composer/bin:/root/bin"루트 터미널에서 문제 없이 cron 작업이 실행되기 때문에 PATH 문제는 배제되었다고 생각했습니다.
  3. crontab 파일 끝에 줄 바꿈(빈 줄)이 있는지 확인하세요.
  4. 명령의 전체 경로를 사용하십시오.user/bin/wget

내 연구에 따르면 사람들이 크론 작업을 실행하지 못하게 하는 가장 일반적인 4가지 이유가 있습니다. 하지만 나는 그들을 배제했다고 생각합니다.

그렇다면 무엇이 잘못되었을 수 있습니까?

관련 정보