linux 定时任务 crond

本文介绍 Linux 系统下 crond 守护进程及其配置文件 crontab 的使用方法,包括如何新建、修改 crontab 文件,定义周期性执行的任务格式,以及常见注意事项。

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

crond 是 Linux 系统周期性执行任务的守护进程,和 windows 的计划任务类似。crond 默认会随系统安装,启动系统的同时也会启动 crond。

新建 crontab 文件

每个用户都是独立的 crontab 文件,root 用户的文件是 /etc/crontab,普通用户默认没有创建 crontab。
修改 crontab 文件
$ crontab -e
在这里插入图片描述
普通用户首次运行这个命令会提示没有 crontab,将会使用一个空白的 crontab,根据提示选择编辑器修改 crontab 文件,这里选的是 3,vim.tiny,后续默认都会使用 vim.tiny 打开当前用户的 crontab 文件。

crontab 文件内容:
在这里插入图片描述

用法的介绍

任务格式:
minute hour day month week command
含义:
minute:   分钟,0-59 范围内的整数;
hour:     小时,0-23 范围内的整数;
day:      日期,1-31 范围内的整数;
month:    月份,1-12 范围内的整数;
week:     星期,0-7 范围内的整数,0 和 7 表示星期日;
command:  命令,可以是系统命令或者自己写的脚本、程序等;

字段中还可以加入特殊字符:
星号(*):所有可能的值,如 minute 字段填星号,表示每分钟执行一次;
逗号(,):指定一个列表,如 minute 字段填  "1,5,9"  ,表示 01分、05分和 09分分别会执行一次;
横杠(-):指定一个范围,如 minute 字段填  "12-15"  ,等同  "12,13,14,15";
正斜杠(/):指定时间的间隔频率,如 minute 字段填  "*/5"  ,表示每5分钟执行一次;

栗子:
05 01 * * 1-5/2 /bin/bash /home/lk/backup.sh
表示周一到周五,每隔两天的凌晨一点零五分使用 bash 执行一次 /home/lk/backup.sh 脚本

添加完任务好保存文件退出就可以生效了。

注意事项:
	crontab 默认不会加载任何环境变量,如上面的栗子,如果命令改成 bash /home/lk/backup.sh ,会报错找不到 bash,
所以加载环境变量的话要自己设置。
在 crontab 文件前面加上 
PATH=/sbin:/bin/:/usr/bin:/usr/sbin
就可以使用 bash /home/lk/backup.sh 了。
	一些软件特殊需要的环境建议使用脚本来配置,crontab 只要运行脚本就可以了,这样 crontab 的环境不会乱,减少冲突。

crontab 命令使用

可以使用 crontab 命令管理 crond

参数:
usage:	crontab [-u user] file
	    crontab [ -u user ] [ -i ] { -e | -l | -r }
		(default operation is replace, per 1003.2)
	-e	(edit user's crontab)
	-l	(list user's crontab)
	-r	(delete user's crontab)
	-i	(prompt before deleting user's crontab)

file:crontab 文件,缺省时默认是当前用户的 crontab 文件
-u:指定用户,一般是 root 用户使用的,缺省时默认当前用户;
-e:修改 crontab 文件;
-l:显示 crontab 文件的任务;
-r:删除 /var/spool/crond 目录的 crontab 文件;
-i:删除用户的 crontab 文件时提示;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值