在哪里可以找到 Centos 6 cron 作业.sh文件



我真的是Linux的新手,如果这是基本的,我深表歉意,但我有谷歌找到不清楚的例子,我很困惑。(问题与运行 CentOs 6 的服务器有关)

我的问题是:

  1. 不确定我应该在其中存储.sh文件的默认目录是什么,以便 cron 作业可以运行它。
  2. 下面文件中我的代码.sh语法和顺序是否正确?

我已经测试了 TSQL 及其精细。

#! SQL="DELETE FROM messages WHERE date < DATE_SUB(CURDATE(), INTERVAL 7 DAY)"
MYSQL_USER="root"
MYSQL_PASS="xxxxxx"
MYSQL_DB="mydb"

我知道 cron 应该包含这个来每天这样做:

0

0 * * *

但我只是担心如何把它们放在一起,所以我不会把事情搞砸。完整的示例或解释或参考链接将不胜感激。

我相信cron将从它所在的任何目录执行脚本,因为:

  • 该文件具有cron运行的用户的执行权限(如果在系统范围的 crontab 中配置了作业,则通常root
  • cron行指定脚本的完整路径

因此,如果您的脚本是/opt/script.sh,请在 cron 中指定以下内容:

0 0 * * * /opt/script.sh

将在每天上午 12:00 执行 script.sh。

请注意,如果这是系统范围的 crontab (/etc/crontab),它还应该包含一个用于执行命令的用户名:

0 0 * * * username /opt/script.sh

此外,在使用 cron 时要确保的是从脚本调用外部命令时使用完整路径,或者设置 PATH 变量(在脚本本身或crontab文件中)。这是必需的,因为通常运行 cron 作业的环境非常有限。

要记住的另一件事是,如果任何输出是由 cron 作业生成的,则此输出将通过邮件发送给执行 cron 的用户。因此,要从脚本中获得一些反馈,您必须设置系统,以便邮件消息最终进入由人类读取的邮箱,或者脚本将其所有输出发送到日志文件或系统日志。

最新更新