记一次简单使用Linux的crontab定时任务
首先需要打开crontab的服务
#查看crond服务是否运行
ps -ef | grep -v grep | grep crond
#关闭服务
service crond start
#关闭服务
service crond stop
#重启服务
service crond restart
#重新载入配置
service crond reload
编辑命令文档,我用的是root用户
#编辑定时任务
crontab -e
#查看定时任务
crontab -l
定时任务例子,注释跟shell文件一样,编辑保存跟vi命令一致
需指定shell解释器命令:SHELL=/bin/bash
# m h dom mon dow command
SHELL=/bin/bash
* * * 9 * cd /home/game/ && sh ./start.sh > /home/game/log/mail.txt 2>&1
#*/1 * * * * cd /home/game/ && sh ./demo1.sh > /home/game/log/mail.txt 2>&1
----------------------------------------------------------------------------------------------------|
- /var/spool/cron/
这个目录下存放的是每个用户(包括root)的crontab任务,每个任务以创建者的名字命名,比如:
用户root建的crontab任务对应的文件就是/var/spool/cron/root
对应执行日志在 /var/spool/mail/root 目录下 - /etc/crontab
这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab
minute(m) : 代表一小时内的第几分,范围 0-59。
hour (h) : 代表一天中的第几小时,范围 0-23。
mday (dom) : 代表一个月中的第几天,范围 1-31。
month(mon) : 代表一年中第几个月,范围 1-12。
wday (dow) : 代表星期几,范围 0-7 (0及7都是星期天)。
who : 要使用什么身份执行该指令,使用 crontab -e 配置时,不需要加这个。
command(command):所要执行的指令。
minute | hour | mday | month | wday | who | command |
---|---|---|---|---|---|---|
* | * | * | * | * | root(用户) | 执行的命令 |
- /etc/cron.d/
这个目录用来存放任何要执行的crontab文件或脚本。
参考博客:
链接 | 说明 |
---|---|
https://blog.mimvp.com/article/7470.html | Linux 定时运行命令脚本:crontab |
https://blog.mimvp.com/article/12138.html | crontab不能正常执行原因 |
https://blog.mimvp.com/article/11820.html | crontab不能正常执行原因 |
https://www.cnblogs.com/jxkshu/p/7476966.html | crontab不能正常执行的五种原因 |