2019-08-30 记一次在laradocker下使用cron定时任务遇到的坑

看官方文档,官方文档是这样说的:

## Adding cron jobs[#](https://laradock.io/documentation/#adding-cron-jobs "Permanent link")

You can add your cron jobs to `workspace/crontab/root` after the `php artisan` line.

```

* * * * * laradock /usr/bin/php /var/www/artisan schedule:run >> /dev/null 2>&1

# Custom cron

* * * * * root echo "Every Minute" > /var/log/cron.log 2>&1

```

Make sure you [change the timezone](https://laradock.io/documentation/#Change-the-timezone) if you don’t want to use the default (UTC).

If you are on Windows, verify that the line endings for this file are LF only, otherwise the cron jobs will silently fail.

---

只需要去到github拉取下来的laradock文件夹下的workspace/crontab/文件夹里面新建或者修改里面的文件,并且像linux里crontab -e一样添加好定时任务就行了.多余的没有说.这里我添加好了任务,重启没有后进入workspace容器,使用crontab -l 查看定时任务,告诉我no root script.没有定义root的运行任务。于是我搜索google,找到了一篇文章告诉我定时任务会在构建workspace容器的时候被加入到workspace容器的/etc/cron.d/文件夹里面,于是我重新build了容器。在laradock文件夹下运行

````

docker-composer stop workspace

docker-composer build workspace

````

再次进入workspace容器,运行crontab -l出现的还是no root script,我进入/etc/cron.d/文件夹下面查看已经存在了我在laradock/workspace/crondtab/里面定义好的定时任务,定时任务也运行了。

每次添加或者移除定时任务的时候都需要build workspace 容器

你可能感兴趣的:(2019-08-30 记一次在laradocker下使用cron定时任务遇到的坑)