Skip to main content

进程管理与定时任务和后台执行

进程管理与定时任务和后台执行

crond是什么?

crond是一个可以在指定时间执行一个shell脚本或者一系列的Linux命令。和Windows下的计划任务类似。当安装完操作系统后,默认会安装这个服务工具,并且会自动启动crond进程。

在Linux中任务的调度分为两类

  • 系统任务的调度

系统会周期性的执行一些工作,比如说写缓存的数据到硬盘,清理日志等

  • 用户任务的调度

用户定期也会执行一些任务,比如用户数据的备份,定时的邮件提醒等,这些都是通过crondtab来设置

那么crontab到底怎么用么

首先看看crontab的使用格式:

crontab -u user file

常见的选项

  • -u user:很明显是需要表明是那个用户的crontab服务,别瞎搞
  • file:file是命名文件的名字,表示将file作为crontab的任务列表文件并载入到crontab中
  • -e:e为edit,表示标记某个用户的crontab文件内容
  • -l:显示用户的crontab文件、

crontab的含义

创建的crontab文件,每一行代表一项任务,每个字段都有对应的设置规则,一共分为6个字段,分别为:

minute hour day month week command

  • minute:区间 0-59
  • hour:区间0-23
  • day:区间0-31
  • month:区间1-12
  • week:区间0-7 周日可以是0/7
  • command

这里的command代表的是需要执行的而命令,通常为脚本文件,

除了上面几个字段,还需要注意几个特殊字段

  • *:代表所欲呕可能的值
  • ,:通过,来表示区间范围的值
  • _:整数之间的中杠表示一个证书范围
  • 正斜线:表示时间的间隔频率,比如0-23/2表示每两个小时执行一次 开始放几个例子**
crontab -e
0 5 * * * /root/bin/backup.sh

这代表的是每天早上5点运行backup.sh

每个工作日11:59pm进行备份作业

59 11 * * 1-5 /root/bin/backup.sh

每五分钟运行一个命令

*/5 * * * * /root/bin/check-status.sh

crontab有哪些选项

crontab -e:修 改crontab文件,如果文件不存在会自动创建

crontab -l:显示crontab文件

crontab -r:删除crontab 文件

crontab -ir:删除crontab文件前提醒用户