You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

共享主机环境下DirectAdmin中Cron命令无法运行问题求助

解决DirectAdmin中Cron命令执行报错的问题

我之前在DirectAdmin里折腾Cron命令时也碰到过一模一样的反引号解析坑,给你几个靠谱的解决办法:

问题根源

DirectAdmin的Cron执行环境(默认用/bin/sh)对反引号`的解析逻辑和cPanel不一样,导致shell误以为你的反引号没有闭合,从而抛出unexpected EOF这类语法错误。

解决方案1:替换反引号为$()(推荐)

$()是POSIX标准的命令替换语法,兼容性比反引号更好,几乎所有现代shell都支持,能避开面板之间的解析差异。修改后的命令如下:

* * * * * /usr/bin/wget -U "anyuser" http://example.com/directory/$(date +%Y-%m-%d).zip -O /home/username/public_html/directory/$(date +%Y-%m-%d).zip

解决方案2:把命令封装成Shell脚本(更稳妥)

如果经常遇到面板解析命令的问题,把命令放到单独的shell脚本里是更省心的做法:

  1. 创建脚本文件/home/username/get_daily_zip.sh,内容如下:
#!/bin/sh
# 获取当前日期
CURRENT_DATE=$(date +%Y-%m-%d)
# 执行下载命令
/usr/bin/wget -U "anyuser" "http://example.com/directory/${CURRENT_DATE}.zip" -O "/home/username/public_html/directory/${CURRENT_DATE}.zip"
  1. 给脚本添加执行权限:
chmod +x /home/username/get_daily_zip.sh
  1. 修改Cron命令为调用脚本:
* * * * * /home/username/get_daily_zip.sh

额外检查项

  • 确认/home/username/public_html/directory/目录存在且有写入权限
  • 测试单独执行wget命令是否能正常下载文件(排除网络或权限问题)
  • 保留邮箱接收Cron输出,方便后续排查其他潜在问题

内容的提问来源于stack exchange,提问作者CoderFriend

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 10:37:41