浅谈 linux 例行性工作 crontab (linux定时任务)
定时任务大家都挺说过,就好比你手机上的闹钟,到了指定的时候就会响起。
今天在对redis缓存进行定时储存时又操作了一把,发现一些细节,写的不好。大家就将就看吧,
首先 简单介绍一下linux 例行性工作 两种方式,
主要有两种:
- at (和下面一样,只是它只定时执行一次就结束)
- crontab

演示定时执行php程序将数据插入数据库:
一个案例表:blog
CREATE TABLE `blog` (
`blog_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`blog_title` varchar(200) NOT NULL DEFAULT '' COMMENT '标题',
`blog_content` text NOT NULL COMMENT '内容',
`blog_time` int(10) unsigned NOT NULL DEFAULT '' COMMENT '时间',
`uid` int(10) unsigned NOT NULL COMMENT '用户id',
`cat_id` int(10) unsigned NOT NULL COMMENT '分类',
`blog_look` int(10) unsigned NOT NULL DEFAULT '' COMMENT '浏览量',
PRIMARY KEY (`blog_id`),
KEY `blog_time` (`blog_time`),
KEY `uid` (`uid`),
KEY `blog_look` (`blog_look`),
KEY `cat_id` (`cat_id`)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8 COMMENT='文章表'
一个php文件:/www/123.php (请无视链接数据库面向过程函数,仅供演示)

1 <?php
2
3 $connect = mysql_connect('localhost','root','12315Smm');
4 mysql_select_db('mydb',$connect);
5 mysql_query('set names utf8',$connect);
6 $time=time();
7 $sql="INSERT INTO `blog` VALUES (null, '我是标题', '我是内容',{$time}, '1', '1', '0')";
8 mysql_query($sql,$connect);
9
10
执行 php /www/123.php 先插入一条数据测试代码是否正确。(ps : php是否加入环境变量, 可以执行php -v 测试 ,如没有请找到php程序位置执行,如 /usr/local/php/bin/php /www/123.php)
还有在执行时,可能会有提示错误:
PHP Warning: Module 'xxxx' already loaded in Unknown on line 0 ps:(xxxx 代表一些模块名如curl,redis)
原因
有两种方法来加载在PHP中大多数扩展。一种是直接编译扩展到PHP二进制文件。另一种是通过一个ini文件动态加载的共享扩展。这些错误表明,动态扩展正在通过.ini文件加载,即使它们已经被编译到PHP二进制文件。
解决方法:
要解决此问题,您必须编辑你的php.ini(或extensions.ini文件)文件和注释掉那些已经编译的扩展。例如,修改完成后,因为编译安装的模块不需要引入
例:extension=redis.so 改为 ;extension=redis.so
执行 php -v 可以看到提示没有了

设置定时任务 :
命令:crontab -e

添加定时任务,这里添加一条,如多条,每条任务换行,
前面的 “*/1 * * * * ” 分别代表 :分钟,时,日,月,星期。
- * 代表任意时刻,
- */1 代表没分钟执行一次,
- /usr/local/php/bin/php 执行的程序php (注意,这里不能用环境变量,必须绝对路劲,否则失败!)
- /www/123.php 要执行的代码或文件

:wq 保存就OK;
查看效果;

自动插入成功,
其他执行的方式 同理,
大半夜写的不容易,转载请注明出处!!有不足之处还请大神指点。
浅谈 linux 例行性工作 crontab (linux定时任务)的更多相关文章
- 第十五章 例行性工作(crontab)--循环执行的例行性工作调度 crontab(定时任务)
循环执行的例行性工作调度 crontab(定时任务) 15.1 例行性工作调度 不考虑硬件与服务器的链接状态,Linux帮助提醒很多任务. Linux例行性工作是如何进行调度的? Linux调度就是通 ...
- linux例行性工作调度学习(一)
Linux系统中有一种例行性工作(crontab)可以调度,是通过crontab和at来实现的. 这两种工作调度: 一种是例行性的,就是每隔一定的周期要来办的事项. 一种是突发性的,就是这次做完以后就 ...
- linux备忘录-例行性工作排程 (crontab)
例行性工作排程 例行性工作排程分为两类 at at是只执行一次就结束的指令安排.要想使用at,必须要有atd服务的支持. crontab crontab是每隔一段时间自动执行的指令安排.crontab ...
- 第十六章、例行性工作排程 (crontab)
1. 什么是例行性工作排程 1.1 Linux 工作排程的种类: at, crontab 1.2 Linux 上常见的例行性工作 2. 仅运行一次的工作排程 2.1 atd 的启动与 at 运行的方式 ...
- Linux学习-循环执行的例行性工作排程
循环执行的例行性工作排程则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的例行性工作,因此这个系统服务是默认启动的. 另外, 由于使用者自己也可以进行例行性工 ...
- Linux学习-什么是例行性工作排程
那么 Linux 的例行性工作是如何进行排程的呢?所谓的排程就是将这些工作安排执行的流程之意! 咱们的 Linux 排程就是透过 crontab 与 at 这两个东西! Linux 工作排程的种类: ...
- Linux管理,例行性工作,at和cron
at 仅执行一次就结束调度(服务atd必须启动) at的配置信息 1.我们设定的at进程其实都是被以文本的方式写入到/var/spool/at/目录内,然后这些设定的进程便会等待atd服务来启动这些进 ...
- 例行性工作排程 (crontab)
1. 什么是例行性工作排程 1.1 Linux 工作排程的种类: at, crontab 1.2 Linux 上常见的例行性工作2. 仅运行一次的工作排程 2.1 atd 的启动与 at 运行的方式: ...
- linux例行性任务(定时作业)
linux定时作业(例行性任务) linux有两种定时作业方式: • at : 这个工作仅执行一次就从 Linux 系统中的排程中取消: • cron : 这个工作将持续例行性的作下去! at仅执行一 ...
随机推荐
- 【组织级项目管理】P2 MSP P3O
组织级项目管理--有你,有我,有大家 在过去的2年,无论对于企业来讲,还是对于我们个人都有很多大脑的冲击,有几个词大家应该特别耳熟能详:转型,变革,敏捷,互联网+,组织的项目化管理等.就是这些让我们的 ...
- iOS二维码生成、识别、扫描等
二维码扫描 前言: 最近的项目中使用到了二维码,二维码这个模块功能也完成:觉得还是有必要总结一下用来做记录.好长时间没有写二维码了都忘记在差不多了,重新拾起来还是挻快的. 二维码使用场景: 生活中有很 ...
- ExtJS 4.2 业务开发(三)数据添加和修改
接上面的船舶管理业务,这里介绍添加和修改操作. 目录 1. 添加操作 2. 修改操作 3. 在线演示 1. 添加操作 1.1 创建AddShipWindow.js 在业务中的view目录下创建一个Ad ...
- [转]利用URLConnection来发送POST和GET请求
URL的openConnection()方法将返回一个URLConnection对象,该对象表示应用程序和 URL 之间的通信链接.程序可以通过URLConnection实例向该URL发送请求.读取U ...
- 前端学HTTP之实体和编码
前面的话 每天都有各种媒体对象经由HTTP传送,如图像.文本.影片以及软件程序等.HTTP要确保它的报文被正确传送,识别.提取以及适当处理.为了实现这些目标,HTTP使用了完善的标签来描述承载内容的实 ...
- Android和JavaScript相互调用的方法
转载地址:http://www.jb51.net/article/77206.htm 这篇文章主要介绍了Android和JavaScript相互调用的方法,实例分析了Android的WebView执行 ...
- Solr 排除查询
前言 solr排除查询也就是我们在数据库和程序中经常处理的不等于,solr的语法是在定语前加[-].. StringBuilder sbHtml=new StringBuilder(); shBhtm ...
- BI分析受阻?FineBI推出SPA螺旋式分析新功能!
过去,企业级的数据分析通常会有这么几种场景,业务部门托信息部门分析数据,结果报表一出,唇枪舌剑争论你我高低,数据不准,指标不对.信息部门欠缺业务概念,业务部门不懂技术逻辑,数据分析之路,暂时搁浅. 后 ...
- atitit.细节决定成败的适合情形与缺点
atitit.细节决定成败的适合情形与缺点 1. 在理论界有两种观点:一种是"细节决定成败",另一种是"战略决定成败".1 1.1. 格局决定成败,方向决定成败 ...
- [Django]用户权限学习系列之设计自有权限管理系统设计思路
若在阅读本片文章遇到权限操作问题,请查看本系列的前两章! http://www.cnblogs.com/CQ-LQJ/p/5609690.html和http://www.cnblogs.com/CQ- ...