linux服务器上使用crontab指令执行制定PHP文件,生成定时任务。

首先  写个 PHP文件 ,我写的是向数据库表插入数据,如下图

<?php
$dbms='mysql'; //数据库类型
$host='localhost'; //数据库主机名
$dbName='rrr'; //使用的数据库
$user='root'; //数据库连接用户名
$pass='yourpassword';  //对应的密码
$dsn="$dbms:host=$host;dbname=$dbName";


try {
    $dbh = new PDO($dsn, $user, $pass); //初始化一个PDO对象
    echo "success<br/>";
    //你还可以进行一次搜索操作
//    foreach ($dbh->query('SELECT * from e23') as $row) {
//    print_r($row); //你可以用 echo($GLOBAL); 来看到这些值
//    }

    $sql=$dbh->query("insert into e23(name) values('fdsfdsfdsf')");
    $dbh = null;
} catch (PDOException $e) {
    die ("Error!: " . $e->getMessage() . "<br/>");
}
//默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT => true) 变成这样:
$db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true));

?>

然后写好后,在服务器端登陆,我用的是xshell,登陆后输入 vi/etc/crontab

输入后如图

然后就在下面写自己的操作就好了,我写的是每隔一分钟执行一次执行一次我的那个insert语句,如下:

 

其中 前面部分 可能大家不明白 我给简单解释一下

首先  */1 * * * *这里面 */1 代表每一分钟执行一次,第二个* 代表的是小时,第三个*代表的是日,第四个* 代表的是月,第五个* 代表的是周

然后root代表的是执行此操作的用户,就是你的服务器的账号用户,我一般用root

然后 /www/wdlinux/apache_php5.5.38/bin/php -f 是你的php在你服务器上的安装路径加个 -f ,每个人服务器上安装php路径不同,自己找到,安装上就可以了。

然后/www/web/www_sss/public_html/contra/test.php代表的是我要调用的php文件的路径

最后 >a.log就是 在执行的时候生成一个日志文件,这个可以写也可以不写。然后你就去数据库坐等结果就可以了

猜你喜欢

转载自www.cnblogs.com/HoverM/p/9244885.html