crontab配置与使用,以及crontab环境执行脚本存在的问题

本文详细介绍Crontab定时任务的使用方法,包括crontab命令的介绍、确定服务器是否开启定时任务计划服务的方法、crontab格式说明、创建定时任务的步骤、查看定时任务执行情况的方式以及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.crontab简介

crontab命令常见于Unix类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。

 

2.确定服务器是否开启定时任务计划服务

命令: service crond status 确认定时任务是否开启

命令: service crond start 开启服务

命令: service crond stop 关闭服务

命令: service crond restart 重启服务

命令: service crond reload 重新载入配置

 

3.crontab格式说明

格式为 :  * * * * * *

 minutehourday of mouthmonth of yearday of week
 *****
含义每个小时的第几分钟执行该任务每天的第几个小时执行该任务每月的第几天执行该任务每年的第几个月执行该任务每周的第几天执行该任务
取值范围0~590~231~311~120~6(0表示周天)

 

示例:

5 * * * * Command 每小时的第5分钟执行一次命令

30 18 * * * Command 指定每天下午的 6:30 执行一次命令

30 7 8 * * Command 指定每月8号的7:30分执行一次命令

30 5 8 6 * Command 指定每年的6月8日5:30执行一次命令

30 6 * * 0 Command 指定每星期日的6:30执行一次命令

5,15,25,35,45,55 16,17,18 * * * Command 每天的下午4点、5点、6点的5 min、15 min、25 min、35 min、45 min、55 min时执行命令。

每五分钟执行 */5 * * * *

每小时执行 0 * * * *

每2小时执行 0 */2 * * *

每天执行 0 0 * * *

每周执行 0 0 * * 0

每月执行 0 0 1 * *

每年执行 0 0 1 1 *

 

4.开始创建一个定时任务

crontab -e 编辑某个用户的cron服务

crontab -l 列出某个用户cron服务的详细内容

crontab -r 删除某个用户的cron服务

5.查看定时任务的执行情况

tail -n 100 /var/log/cron

 

6.注意

crontab执行shell脚本的环境与直接在命令行执行shell脚本的环境可能是不一样
即crontab执行shell脚本时可能有的命令报错

解决如下,脚本中添加:
# crontab环境下环境变量与默认用户环境变量不同
source /etc/profile
source ~/.bash_profile

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值