计划任务:
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)
我尝试过的:
- 确保脚本的权限为
755
。 - 我尝试在用户 crontab 文件中匹配 root 和用户的 env
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 作业可以在 root 终端中毫无问题地执行,所以我认为排除了 PATH 的问题。 - 确保 crontab 文件末尾有换行符(空行)。
- 使用命令的完整路径,例如
user/bin/wget
我的研究表明,以下是阻碍人们运行 cron 作业的 4 个最常见原因。但我想我已经排除了它们。
那么可能出了什么问题呢?