这里是在Centos7做的试验,在下面步骤开始之前你需要准备的东西:LAMP/LNMP环境,一个能用的laravel项目。下面是简单的两步骤:
1.添加cron条目(下面操作都是在root模式下,请先su进root模式再操作)
在终端输入
crontab -e
进入cron编辑,进入编辑后添加
* * * * * php (xxx)/artisan schedule:run 1>> /dev/null 2>&1
这里(xxx)是你laravel项目的位置,例如我的项目名叫mysys2,放在/var/www/html/,那么上面这句话就应该是* * * * * php /var/www/html/mysys2/artisan schedule:run 1>> /dev/null 2>&1
写好后保存(这个编写操作和vim差不多,不懂怎么写和保存的去看看vim的指令),保存后输入crontabl -u root -l
能看到你写的一条cron在这里
2.写任务
在laravel项目的/app/console里面找到kernel.php
在文件里面的schedule方法里面写
$schedule->call(function () {
DB::table('test')->insert(['name']=>'test');
})->everyMinute();
保存。这句话的意思是每分钟插入一条数据到test表里面(记得env配置好数据库和数据库用户与密码,别插错库了)
隔一分钟应该能看到数据库多了一条数据了。如果着急看,也可以cd进你的项目,
cd /var/www/html/mysys2
然后输入
php artisan schedule:run
这样就能立刻执行kernel里面的所有任务了。
建议最后还是执行上面这句话一次,因为之前写好了cron但是也没什么反应,但是执行完了上面这句后cron就开始定时任务了,不知道是不是需要执行这句话进行启动,反正没什么坏处