我对Linux很陌生,如果这是初步的,我会道歉,但是我让谷歌找不到清晰的例子,我很困惑。 (该问题与运行CentOs 6的服务器有关)
我的问题是:
我测试了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 * * *
但我只是对如何将它们放在一起感到忧虑,所以我不会搞砸。非常感谢完整的示例或解释或参考链接。
答案 0 :(得分:1)
我相信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的用户。因此,要从脚本获得一些反馈,您必须设置系统,以便邮件消息最终出现在人类读取的邮箱中,或者脚本将其所有输出发送到日志文件或系统日志。