Crontab 脚本未启动

Crontab 脚本未启动

我有一个简单的脚本,可以使用以下代码清理日志:

#!/bin/bash
LOG_ROOT=...
cd $LOG_ROOT
find ./* -mtime +$DAYS -delete

这是 crontab 中的内容:

@midnight /opt/sas/system/cleanlogs.sh

并且它运行得很好。但还有另一个脚本,用于清理沙箱,其代码与清理日志,只不过它是在另一个目录中运行的。它从命令行运行,但由于某种原因,无法从 crontab 启动。

我很困惑,因为这些脚本几乎一模一样,但有一个不起作用。问题可能出在哪里?

答案1

答案是脚本并不像我想象的那样。首先,我使用这个添加了 cron 日志记录

@midnight /opt/sas/system/cleansandbox.sh > .../cron.log 2>&1

#!/bin/bash — 没有这样的文件或目录错误。因此,脚本在第一行末尾包含额外的回车符,我使用此 检测到了它$ head -1 cleansandbox.sh | od -c,然后使用此 更正了脚本sed -i '1s/^.*#//;s/\r$//' cleansandbox.sh。现在它可以从 cron 运行。感谢大家的帮助!

相关内容