进程管理与定时任务和后台执行
进程管理与定时任务和后台执行
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文件前提醒用户