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

find命令printf参数在crontab中正确格式是什么?执行后输出为空

crontab执行find命令输出为空的解决方法

问题原因

  • crontab内置规则中%是特殊保留字符,会被默认解析为换行符,未转义的%会导致命令截断无法正常执行
  • crontab默认环境变量PATH非常精简,可能找不到find命令的执行路径

正确写法

你可以先在终端执行which find确认find的绝对路径,常见路径为/usr/bin/find,以下为crontab任务行参考写法(开头的时间规则可根据你的定时需求自行调整):

最简推荐写法(去掉冗余的echo $(),直接重定向find输出)

* * * * * /usr/bin/find /tmp -type f -printf "\%p||\%s||||||" > /share/Public/serwer/test33.data

保留原有echo写法的修正版

如果一定要保留原有写法,转义后如下:

* * * * * echo $(/usr/bin/find /tmp -type f -printf "\%p||\%s||||||") > /share/Public/serwer/test33.data

额外排查建议

  • 提前确认/share/Public/serwer/目录存在,且crontab执行用户对该目录拥有读写权限
  • 若仍有问题,可在命令末尾追加错误日志输出排查根因:
    * * * * * /usr/bin/find /tmp -type f -printf "\%p||\%s||||||" > /share/Public/serwer/test33.data 2>> /tmp/find_cron_error.log
    

内容的提问来源于stack exchange,提问作者Sławomir Kudła

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 19:45:03