gpt4 book ai didi

ubuntu - Ubuntu Hardy 上的 Cron 作业执行但未按预期删除文件

转载 作者:行者123 更新时间:2023-12-04 18:35:51 26 4
gpt4 key购买 nike

我这里有点咸菜,想知道是否有人可以给我一些指示:

我有一个每天为特定用户执行的 cron 作业,并且应该扫描特定目录中的文件。从技术上讲,这是两个工作。我打开了 cron.log 来验证它们是否真的在执行,它们是:

May 24 11:03:01 AppNameGoesHere /USR/SBIN/CRON[11257]: (mongrel_AppNameGoesHere) 
CMD (rm -rf /var/www/apps/AppNameGoesHere/current/public/
{popular,index,purchasing,purchasing-alternate,support,about-us,guarantee,screenshots}.htm{,l})
May 24 11:04:01 AppNameGoesHere /USR/SBIN/CRON[11260]: (mongrel_AppNameGoesHere)
CMD (rm -rf /var/www/apps/AppNameGoesHere/current/public/
{stats,popular,bcf,articles,expenses})

我已经删除了实际的用户名并对其进行了格式化,以便在 StackOverflow 上不那么难看。

现在,我的问题是:尽管我可以看到这些删除正在执行并且显然在日志中成功,但如果我转到指定的目录,文件仍然存在。我最初怀疑权限 hijinx 正在进行,但我已经验证我可以通过 su-ing 到 mongrel_AppNameGoesHere 用户并发出单独的 rm 命令或通过将 cron 作业复制/粘贴到命令行来手动删除文件。尽管该 cron 作业成功执行了好几天,但我没有手动执行的任何操作都会保持未启动状态。

关于可能发生的事情有什么建议吗?我之前直接在/etc/crontab 文件中使用 Dapper Drake 和这些 cron 作业,当我升级到 Hardy 时,我将它们移动到用户特定的 crontabs(通过 sudo crontab -e - u mongrel_AppNameGoesHere ),这就是它们似乎已经停止的地方在职的。)

最佳答案

问题是 {} 是 shell 提供的 shell 扩展的一部分,因此为了使其工作,您需要更改执行 cron 条目的 shell。

默认情况下使用/bin/sh,所以只需输入:

SHELL=/bin/bash

作为 crontab 中的第一行,所以事情应该重新开始工作。

关于ubuntu - Ubuntu Hardy 上的 Cron 作业执行但未按预期删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/904022/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com