cron服务——Linux计划任务管理
前言
这是我听老师讲课做的笔记,考试要看的。 这是视频地址
作者:RodmaChen
关注我的csdn博客,更多Linux笔记知识还在更新
一.cron服务介绍
cron
是一个可以用来根据时间、日期、月份、星期的组合来调度对周期性任务执行的守护进程。- 利用cron所提供的功能,可以将需要周期性重复执行的任务设置为cron任务,并且设置为在主机较空闲的时间(如夜间)自动完成
二.管理cron服务
更多服务管理命令和解释可以看我这篇文章 : Linux系统下服务和运行目标管理
指令 | 任务 |
---|---|
# systemctl status crond.service |
查询crond服务状态 |
# systemctl stop crond.service |
停止crond服务 |
# systemctl start crond.service |
启动crond服务 |
# systemctl restart crond.service |
重新启动crond服务 |
# systemctl list-units -t service |grep "crond" |
查看crond服务的开机启动状态 |
三. 配置cron服务
- cron服务的配置主要使用
crontab命令
。cron服务在配置的时候是基于当前用户的,不同的用户cron任务的存储文件也不同。
指令 | 功能 |
---|---|
# crontab -l |
查看用户的cron任务 |
# crontab -e |
调用文本编辑器对cron任务进行编辑 |
# crontab -u user名称 - e |
编辑用户的cron任务 |
# crontab -r |
删除用户现有的cron任务 |
-
关于时间配置的介绍:
-
时间的设置上还有一些特殊的符号能够起到灵活的效果
*
:代表所有的取值范围内的数字
"/"
:代表每的意思,"*/5"表示每5个单位
"-"
:代表从某个数字到某个数字
","
:分开几个离散的数字
- 举例:
(1)我们可以使用vi命令
进入test.text文本中编辑,直接输入日期和指令就行。
(2)也可以使用以下方法
- 每两个小时输出“have a break now”到test.txt文本中
0 */2 * * * echo "Have a break now." >> /tmp/test.txt
- 晚上11点,早上八点 输出“have a good dream :)”到命令行终端上
0 23,8 * * * echo "Have a good dream:)" >> /dev/tty1
- 每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点执行某段命令
0 11 4 * 1-3 command line
- 保存cron任务的文件: 所有用户的cron任务(使用crontab命令创建的任务)都被保存在目录
“/var/spool/cron/”
中的文件中,文件的名称与用户名相同。
例如:root用户的cron任务列表文件的名称“/var/spool/cron/root”
四. cron服务的配置文件和目录
-
系统任务配置文件
“/etc/crontab”
文件中设置的是Linux系统维护所需的任务,一般不需要人为去修改 -
任务脚本目录
在“/etc”
目录中有名为cron.hourly 、cron.daily 、cron.weekly 和cron.monthly
的目录,目录中存放的是需要定期执行的系统任务脚本
例如:“/etc/cron.daily/”
目录中存放的是每日执行一次的系统任务脚本
五. 实训任务
- 请在每天早上3点钟进行重启httpd服务的工作
- 每周六、周日的1 : 10重启机器
- 每晚的21:30输出提示“have a break”
这里我们直接输入命令,然后他会在/var/spool/cron/
文件夹里添加一个root文件
,然后进入编辑状态,你也可以使用crontab -u 文件名 -e
自己设置文件名。
进入输入模式,将三个问题输入。
注意一:在censor中直接使用service
是无效的,需要加绝对路径
注意二:重启机器reboot命令
也需要加绝对路径才能生效(我测试时候是这样的,可是我老师就不用)
注意三:tty1
是命令行终端,可以用who命令
查看
然后退出输入模式:wq
保存退出就行了
更多Linux学习可以看以下链接:
转载说明:跟我说明,务必注明来源,附带本人博客连接。
请给我点个赞鼓励我吧
- 点赞
- 收藏
- 关注作者
评论(0)