![我可以在终端中运行命令,但不能在 crontab 中运行命令(日期问题)](https://linux22.com/image/124391/%E6%88%91%E5%8F%AF%E4%BB%A5%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%8C%E4%BD%86%E4%B8%8D%E8%83%BD%E5%9C%A8%20crontab%20%E4%B8%AD%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%88%E6%97%A5%E6%9C%9F%E9%97%AE%E9%A2%98%EF%BC%89.png)
我检查了很多像我的问题一样的问题,但还没有找到解决方案
以下命令工作没有任何问题
rm -rf <PATH>/<pattern>*$(date +'%Y%m%d' -d "-2 days")*.csv
我用下面的行编辑了 crontab
39 9 * * * rm -rf <PATH>/<pattern>*$(date +\'\%Y\%m\%d\' -d \"-2 days\")*.csv
但是当 crond 运行我的命令时出现以下错误
> date: extra operand `days"'
Try `date --help' for more information.
我还没有找到任何解决方案,你有什么想法吗?
我有大量文件要删除,rm 比 find (-exec rm) 命令效果更好。
答案1
您不需要在 crontab 中转义引号。仅%
在大多数 crontab 中比较特殊。