1.定时任务服务提供crontab命令来设定服务
2.crontab -e //编辑某个用户的cron的服务
3.crontab -l //列出某个用户cron服务的详细内容
4.crontab -r //删除某个用户的cron服务
定时任务结合PHP的案列
## php 代码 db.php
<?php
class Db {
static private $_instance;
static private $_connectSource;
private $_dbConfig = array(
'host' => '127.0.0.1',
'user' => 'root',
'password' => '',
'database' => 'video',
);
private function __construct() {
}
static public function getInstance() {
if(!(self::$_instance instanceof self)) {
self::$_instance = new self();
}
return self::$_instance;
}
public function connect() {
if(!self::$_connectSource) {
self::$_connectSource = @mysql_connect($this->_dbConfig['host'], $this->_dbConfig['user'], $this->_dbConfig['password']);
if(!self::$_connectSource) {
throw new Exception('mysql connect error ' . mysql_error());
}
mysql_select_db($this->_dbConfig['database'], self::$_connectSource);
mysql_query("set names UTF8", self::$_connectSource);
}
return self::$_connectSource;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
## file.php
<?php
class File {
private $_dir;
const EXT = '.txt';
public function __construct() {
$this->_dir = dirname(__FILE__) . '/files/';
}
public function cacheData($key, $value = '', $cacheTime = 0) {
$filename = $this->_dir . $key . self::EXT;
if($value !== '') {
if(is_null($value)) {
return @unlink($filename);
}
$dir = dirname($filename);
if(!is_dir($dir)) {
mkdir($dir, 0777);
}
$cacheTime = sprintf('%011d', $cacheTime);
return file_put_contents($filename,$cacheTime . json_encode($value));
}
if(!is_file($filename)) {
return FALSE;
}
$contents = file_get_contents($filename);
$cacheTime = (int)substr($contents, 0 ,11);
$value = substr($contents, 11);
if($cacheTime !=0 && ($cacheTime + filemtime($filename) < time())) {
unlink($filename);
return FALSE;
}
return json_decode($value, true);
}
}
$file = new File();
echo $file->cacheData('test1');
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
## cron.php
<?php
require_once('./db.php');
require_once('./file.php');
$sql = "select * from video where status = 1 order by orderby desc";
try {
$connect = Db::getInstance()->connect();
} catch(Exception $e) {
file_put_contents('./logs/'.date('y-m-d') . '.txt' , $e->getMessage());
return;
}
$result = mysql_query($sql, $connect);
$videos = array();
while($video = mysql_fetch_assoc($result)) {
$videos[] = $video;
}
$file = new File();
if($videos) {
$file->cacheData('index_cron_cahce', $videos);
} else {
file_put_contents('./logs/'.date('y-m-d') . '.txt' , "没有相关数据");
}
return;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
最后创建定时任务 调用cron.php,调用列子的时候,建议大家,把列子中的数据库和表的名字改下,以免出错!