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

Debian11虚拟机:改写Cron重启命令以创建日期命名文件夹

解决cron重启时创建日期命名文件夹的命令问题

改写后的可行命令(两种方式)

  • 方式一:转义cron中的特殊字符%
    @reboot /usr/bin/mkdir -p /home/bin/data/"$(/usr/bin/date '+\%Y\%m\%d')"
    
  • 方式二:指定bash执行整个命令(更贴近终端环境)
    @reboot /bin/bash -c '/usr/bin/mkdir -p /home/bin/data/$(date "+%Y%m%d")'
    

关键原因解释

  1. cron中的%是特殊字符:默认情况下,cron会把%解析为换行符,而非传递给date命令。直接写%Y%m%d会导致date无法识别格式,必须用反斜杠\转义每个%。
  2. cron默认shell为sh而非bash:终端默认使用bash,而cron默认采用POSIX标准的sh,部分bash语法或环境变量在sh中不兼容。指定/bin/bash -c可让命令在bash环境下执行,与终端行为一致,此时无需转义%(单引号会阻止cron解析内部特殊字符)。
  3. 明确命令全路径:cron的PATH环境变量比终端窄很多,直接写mkdir或date可能出现命令找不到的情况,因此最好指定全路径/usr/bin/mkdir、/usr/bin/date。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 22:17:12