Linux的crontab任务的编写格式与系统服务的管理
crontab命令参数
功能说明
在Linux中所有的命令都可以通过 --help显示命令的参数
- 作用:编辑计划任务,让系统每过多久执行1次命令。每行一条命令,一个计划任务可以有多条命令。
语法格式
crontab [参数] | 参数说明 |
---|---|
-l | 显示已经存在的计划任务 |
-e | 编辑现有的计划任务,调用vim来编辑 |
-r | 删除任务 |
操作演示
- 显示当前root用户的定时任务
- 进入任务编辑状态
执行结果
定时任务的配置
定时任务的说明
- 每行一个定时任务
- 时间格式由6个参数组成:分 时 日 月 周 命令
格式说明
解释以下配置的含义
* * * * * command
每分钟执行一次
30 21 * * * command
每天的21点30分,执行1次
3,15 * * * * command
每小时的第3分钟和第15分钟执行1次
5,10 8-11 * * * command
每天的8点到11点的第5分钟和第10钟执行
*/2 * * * * command
每过2分钟执行1次
crontab案例
案例需求
每隔一分钟,让Linux输出当前的系统时间到/root/mydate.log文件中。
操作步骤
-
输入crontab -e后,会启动vi编辑器,来编写新的定时任务,一行写一个定时任务。
* * * * * date >> /root/mydate.log
-
保存并退出vi编辑器后,定时任务立刻生效。
-
等几分钟,显示mydate.log文件的内容
-
最后删除当前的定时任务
执行结果
- 编辑后显示的命令行
- 过几分钟查看mydate.log的文件内容
系统服务的管理
- 定时器服务的管理
- 设置后台服务的自启动
定时服务的管理
crontab如果安装到Linux系统上,默认是开启服务的,会消耗一定的资源。类似于Windows下的服务:
定时服务管理的命令
crond服务管理命令 | 说明 |
---|---|
systemctl start crond | 开启服务 |
systemctl stop crond | 停止服务 |
systemctl status crond | 显示服务状态 |
systemctl restart crond | 重启服务:相当于停止再开启 |
systemctl reload crond | 重新加载服务:重载加载新的配置文件 |
操作演示
- 查看定时器服务的状态,默认处理开启状态
- 关闭定时服务后,查看服务的状态
- 重启服务定时服务,查看服务的状态
执行结果
设置后台服务的自启动配置
类似于Windows下服务的自启动
语法格式
命令 | 说明 |
---|---|
systemctl list-units *.service | 显示当前已经**的所有服务 |
systemctl enable 服务名 | 设置服务为开机自启动 |
systemctl disable 服务名 | 关闭服务开机自启动 |
操作演示
- 查看某项指定的服务是否开启,如crond.service
- 禁止crond服务开机自启动;重新启动linux;查看crond服务是否已经开启
- 再次将crond服务设置为开机自启动;重新启动linux;查看crond服务是否已经加载