干货分享-Crontab定时任务使用

2022-11-20 1456阅读

温馨提示:这篇文章已超过648天没有更新,请注意相关的内容是否还可用!

Crontab在linux系统主要用来周期性的执行定时任务管理,与windows下的计划任务类似,操作系统安装完成后,默认会安装此服务工具,且会自动启动crond进程(crond是crontab的服务进程名)。

干货分享-Crontab定时任务使用
(图片来源网络,侵删)
干货分享-Crontab定时任务使用
(图片来源网络,侵删)

Linux下的任务调度分为两类查看crontab 任务,系统任务调度和用户任务调度。

这里主要说明用户任务调度,用户使用 crontab命令提交,编辑或删除相应的调度任务。

01查看系统是否安装

[root@localhost ~]# rpm -qa | grep crontab

crontabs-1.11-6.20121102git.el7.noarch

说明系统已有安装版本。

如果没有查到内容,说明系统没有安装crontab

通过yum在线安装:[root@localhost ~]# yum install crontabs(记得要联网)

干货分享-Crontab定时任务使用

02crontab服务

(1)查看crontab状态:[root@localhost ~]# systemctl status crond

干货分享-Crontab定时任务使用

active(running)表示已开启,正在运行的状态

(2)关闭crontab:[root@localhost ~]# systemctl stop crond

(3)开启crontab:[root@localhost ~]# systemctl start crond

(4)加载crontab:[root@localhost ~]# systemctl reload crond

03crontab全局配置文件

干货分享-Crontab定时任务使用

cron.daily 每天执行一次的任务

cron.weekly 每周执行一次的任务

cron.monthly 每月执行一次的任务

cron.hourly 每个小时执行一次的任务

cron.d 系统自动定期需要做的任务

cron.deny 用于控制不让哪些用户使用crontab的功能

crontab 设定定时任务执行文件

04用户定义的cron文件

每个用户都可以有自己的cron配置文件,通过crontab -e就可以编辑。所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致。

crontab文件的格式

干货分享-Crontab定时任务使用

命令:* * * * * command 解释:分 时 日 月 周 命令

第1列表示分钟1~59 每分钟用*或者 */1表示

在以上各个字段中,还可以使用以下特殊字符:

星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。

逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”

中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”

正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10查看crontab 任务,如果用在minute字段,表示每十分钟执行一次。

例如:每隔两天的上午8点到11点的第3和第15分钟执行 命令:

3,15 8-11 */2 * * command

定时任务编辑步骤:

(1) 开启编辑:[poptest@localhost ~]$ crontab -e

(2) 输入编辑内容:*/1 * * * * echo "hello poptest" >> test.txt

(3) 保存退出

(4) 创建空文件test.txt文件

每隔一分钟就会往文件test.txt中追加一行内容。

Crontab的用途很多,一般用于:

定时数据采集;

定时日志备份;

定时生成报表;

定时数据备份;

...

等等任务。

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]