Linux的crontab任务的编写格式与系统服务的管理

crontab命令参数

功能说明

在Linux中所有的命令都可以通过 --help显示命令的参数

  • 作用:编辑计划任务,让系统每过多久执行1次命令。每行一条命令,一个计划任务可以有多条命令。

语法格式

crontab [参数] 参数说明
-l 显示已经存在的计划任务
-e 编辑现有的计划任务,调用vim来编辑
-r 删除任务

操作演示

  1. 显示当前root用户的定时任务
  2. 进入任务编辑状态

执行结果

Linux的crontab任务的编写格式与系统服务的管理

定时任务的配置

定时任务的说明

  1. 每行一个定时任务
  2. 时间格式由6个参数组成:分 时 日 月 周 命令

格式说明

Linux的crontab任务的编写格式与系统服务的管理

解释以下配置的含义

* * * * * 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文件中。

操作步骤

  1. 输入crontab -e后,会启动vi编辑器,来编写新的定时任务,一行写一个定时任务。

    * * * * * date >> /root/mydate.log
    
  2. 保存并退出vi编辑器后,定时任务立刻生效。

  3. 等几分钟,显示mydate.log文件的内容

  4. 最后删除当前的定时任务

执行结果

  1. 编辑后显示的命令行
  2. 过几分钟查看mydate.log的文件内容

系统服务的管理

  1. 定时器服务的管理
  2. 设置后台服务的自启动

定时服务的管理

crontab如果安装到Linux系统上,默认是开启服务的,会消耗一定的资源。类似于Windows下的服务:
Linux的crontab任务的编写格式与系统服务的管理

定时服务管理的命令

crond服务管理命令 说明
systemctl start crond 开启服务
systemctl stop crond 停止服务
systemctl status crond 显示服务状态
systemctl restart crond 重启服务:相当于停止再开启
systemctl reload crond 重新加载服务:重载加载新的配置文件

操作演示

  1. 查看定时器服务的状态,默认处理开启状态
  2. 关闭定时服务后,查看服务的状态
  3. 重启服务定时服务,查看服务的状态

执行结果

Linux的crontab任务的编写格式与系统服务的管理

设置后台服务的自启动配置

类似于Windows下服务的自启动
Linux的crontab任务的编写格式与系统服务的管理

语法格式

命令 说明
systemctl list-units *.service 显示当前已经**的所有服务
systemctl enable 服务名 设置服务为开机自启动
systemctl disable 服务名 关闭服务开机自启动

操作演示

  1. 查看某项指定的服务是否开启,如crond.service
  2. 禁止crond服务开机自启动;重新启动linux;查看crond服务是否已经开启
  3. 再次将crond服务设置为开机自启动;重新启动linux;查看crond服务是否已经加载

执行效果

Linux的crontab任务的编写格式与系统服务的管理
Linux的crontab任务的编写格式与系统服务的管理