Linux 定时任务调度(crontab命令)
crond 是Linux下用周期性的执行某种任务或者等待处理某些事件的一个守护进程,crond 进程会每分钟定期检查是否有要执行的任务,如果有要执行的任务则自动执行该任务
Linux 下的任务调度
- 系统任务调度:系统周期性所要执行的工作,如:写缓存数据到硬盘、清理日志等。系统任务调度的配置文件 /etc/crontab
- 用户任务调度:用户定期要执行的工作,比如数据库备份、定时邮件提醒等。所有用户定义的crontab文件都保存在/var/spool/cron目录中。文件名与用户名一致。
crontab 文件的含义
用户所建立的crontab文件中,每一行代表一项任务,每行的每个字段代表一项设置,共分六个字段,前五段是时间设定段,第六段是要执行的命令段
minute hour day month week command

在以上各个字段中,还可以使用以下特殊字符: 星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。 逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9” 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6” 正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次
crontab 服务
- service cron start //启动服务
- service cron stop //关闭服务
- service cron restart //重启服务
- service cron reload //重新载入配置
- service cron status //查看服务状态
查看服务是否已经运行用 ps -ax | grep cron
crontab命令选项:
- -u指定一个用户
- -l列出某个用户的任务计划
- -r删除某个用户的任务
- -e编辑某个用户的任务
新增任务调度
- 在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。
- 直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。
查看任务调度
crontab -l //列出当前的所有调度任务
crontab -l -u jp //列出用户jp的所有调度任务
删除任务调度
crontab -r //删除所有任务调度工作
利用任务调度执行Shell脚本,在Shell脚本中执行PHP文件,可以做到每秒执行一次PHP文件
假设脚本为 aaa.sh (一定要给该文件可执行的权限) 内容为:
#!/bin/bash
int=1
while(( $int<=60 ))
do
php /var/www/html/index.php
echo $int
let "int++"
sleep 1
done
PHP文件(如果执行不成功可以尝试给该文件授权为755) 内容为:
<?php
echo "this is zhuchenglin's website!";
执行如下命令:
sudo corntab -e 编辑定时任务
内容,加上下面内容(里面是绝对路径):* * * * * sh /var/www/html/aaa.sh >> /var/www/html/crontab.log
#后面将输出的内容重定向到日志文件中是为了看定时任务是否执行
编辑好后,保存并退出
重启cron服务
service cron restart
过大概一分钟后查看日志文件内是否有内容 (尽量给该日志文件足够的权限)
cat /var/www/html/crontab.log
注:本文参考:Linux定时任务crontab命令详解及linux定时任务的设置 crontab 配置指南
如需转载请注明出处:http://www.cnblogs.com/zhuchenglin/p/8758444.html
Linux 定时任务调度(crontab命令)的更多相关文章
- linux定时任务调度定系统——opencron
linux定时任务调度定系统——opencron https://gitee.com/terrytan/opencron/#%E8%BF%90%E8%A1%8C%E7%8E%AF%E5%A2%83 一 ...
- linux定时任务:crontab命令
crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查 ...
- Linux定时执行任务命令概述:at和crontab
本文介绍在Linux下的两种定时执行任务的方法:at命令,以及crontab服务. (1)at命令 假如我们只是想要让特定任务运行一次,那么,这时候就要用到at监控程序了. 设置at命令很简单,指示定 ...
- 转 Linux定时执行任务命令at和crontab
本文介绍在Linux下的两种定时执行任务的方法:at命令,以及crontab服务. (1)at命令 假如我们只是想要让特定任务运行一次,那么,这时候就要用到at监控程序了. 设置at命令很简单,指示定 ...
- Linux中使用crontab命令定时执行shell脚本或其他Linux命令
使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令.例如系统管理员安排一个备份任务使其每天都运行 如何往 cron 中添加一个作业? # crontab –e0 5 * ...
- Linux 设置定时任务crontab命令
1. crontab命令概念 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行. cron 系统调度进程. 可以使 ...
- Linux中的crontab命令用法
Crontab 在linux中,crontab的用来设置定期执行指定的命令,我们可以用它来指定一些需要重复的事情,Linux系统的用户只需将想要定期要执行的命令序列加到crontab文件中,操作系统即 ...
- Linux -定时任务调度
l crond 任务调度 crontab 进行定时任务的设置,. 概述 任务调度:是指系统在某个时间执行的特定的命令或程序. 任务调度分类:1.系统工作:有些重要的工作必须周而复始地执行.如病毒扫 ...
- Linux新手学堂 Crontab命令的语法
crontab 命令的用途就是:提交.编辑.列出或除去 cron 作业. 语法 crontab [ -e [UserName] | -l [UserName] | -r [UserName] | -v ...
随机推荐
- IIS版本号可以被识别 解决方案
1.在IIS配置文件中进行修改. 借助IIS URL Rewrite Module,添加如下的重写规则: <rewrite> <allowedServerVariables> ...
- 第五节:WebApi的三大过滤器
一. 基本说明 1. 简介: WebApi下的过滤器和MVC下的过滤器有一些区别,首先我们要注意的是通常建WebApi项目时,会自动把MVC的程序集也引入进来,所以我们在使用WebApi下的过滤器的 ...
- JDBC事务管理
JDBC事务管理 概念回顾: 事务:一个包含多个步骤的业务操作,如果这个业务操作被事务管理,那么这个业务操作的多个步骤要么同时失败,要么同时成功 事务操作: 开启事务 提交事务 回滚事务 使用Conn ...
- 数据结构Java实现03----栈:顺序栈和链式堆栈
一.堆栈的基本概念: 堆栈(也简称作栈)是一种特殊的线性表,堆栈的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置进行插入和删除操作,而堆栈只允许在固定一端进行插入和删除 ...
- Beamer中左边画图, 右边文字解释
\begin{columns} \column{.4\textwidth} \begin{figure} \centering % Requires \usepackage{graphicx} \in ...
- GMM与EM共舞
GMM,即高斯混合模型(Gaussian Mixture Model),简单地讲,就是将多个高斯模型混合起来,作为一个新的模型,这样就可以综合运用多模型的表达能力.EM,指的是均值最大化算法(expe ...
- Visual Studio Code 的使用方法和技巧
VSCode是微软推出的一款轻量编辑器,采取了和VS相同的UI界面,搭配合适的插件可以优化前端开发的体验. 布局:左侧是用于展示所要编辑的所有文件和文件夹的文件管理器,依次是`资源管理器`,`搜索`, ...
- Win10上默认VS 2017以管理员身份运行
Win10上的UAC虽然是个好东西,但是对于使用开发工作的技术人员来说有时候也挺麻烦.这里有一个让VS2017无论如何都以管理员身份运行的方法. 1.进入VS2017的安装目录:..\Microsof ...
- 【原创】大叔经验分享(12)如何程序化kill提交到spark thrift上的sql
spark 2.1.1 hive正在执行中的sql可以很容易的中止,因为可以从console输出中拿到当前在yarn上的application id,然后就可以kill任务, WARNING: Hiv ...
- linux 乌班图 xshell链接不上服务器
输入 ps -e |grep ssh ,如果没有任何反应则是没有安装 命令 sudo apt-get install openssh-server 然后出现是否同意-Y,同意进行自动下载 如果提示 ...