文档章节

crontab执行身份的小坑

zgldh
 zgldh
发布于 2017/09/26 14:48
字数 284
阅读 186
收藏 0

有个ubuntu服务器,跑着apache, PHP7, Laravel,supervisor。

apache和supervisor都是www-data用户。 平时管理员ssh登上去用的都是devuser用户。

今天发现Laravel日志异常了,连着几天都是只有短短一行日志记录。 从文件大小就看出来不对劲

新的日志都写不进去。chown 改成 www-data 后日志还是写不进去,见了鬼了。

后来尝试重启 apache, supervisor, PHP7 ,然后重命名掉今天的日志文件,发现新日志终于有了。是正常的 www-data 用户的文件。

怀疑为什么会有 devuser 的日志文件产生:

  1. 有人用 devuser 身份 SSH 登进来搞事情。
  2. 有什么软件是以 devuser 身份执行了。

我们检查了 apache, supervisor, PHP配置文件, 都是 www-data。百思不得其解。 最后排查到定时任务,才想起来我们使用了 crontab 来重复触发 artisan schedule:run 来执行定时任务。

由于我们使用了 devuser 来配置的 crontab -e,所以执行身份肯定是 devuser。 最后我们将 schedule:run 命令写入了 /etc/crontab 里面,指明用 www-data 执行。

天下太平了。

© 著作权归作者所有

zgldh
粉丝 101
博文 36
码字总数 47009
作品 2
高级程序员
私信 提问
linux Crontab 使用

cron用法说明 cron的用法老是记不住,索性写下来备忘。下文内容大部分是根据《Cron Help Guide》翻译而来,有些部分是自己加上的。 全文如下: cron来源于希腊单词chronos(意为“时间”),...

晨曦之光
2012/03/09
21.1K
0
PHP点点滴滴 二(我抄来滴,非常简单的东西)

//Jquery JS 正确的比较两个数字大小的方法 if(2 > 10) { alert("不正确!"); } 此比较不会是想要的结果:它相当于2 >1,把10的第一位取出来比较。 解决方法: if(eval(2) > eval(10)) { ale...

JK_OPERA
2016/03/21
48
0
crontab笔记-2

除了at、crontab外,batch和anacron也和例行工作相关。 batch和at作用基本一致,主要区别是batch是当cpu工作负载小于0.8时才进行后续的工作安排,从而避免cpu100%负载状态时还要进行例行工作...

legendland
2017/12/20
0
0
Linux 任务计划 at,cron

linux上的任务计划: 一种是突发性的,就是未来某个时间点一次性执行某任务 相关命令:at , batch 一种是周期性的,就是每个一定的周期执行某任务 相关命令:crontab at 命令:处理仅需要执...

xjxiaolei
2015/09/08
0
0
crontab系统使用雷区(为什么cron任务没运行)

写好的程序,手动执行没问题,上crontab就报错 Crontab任务的执行环境与手动执行时的执行环境不同。 手动执行时,任务的执行环境为当前用户或指定用户的执行环境,典型的执行环境是环境变量,...

panzhc
2014/01/08
168
0

没有更多内容

加载失败,请刷新页面

加载更多

Go 关闭 channel 的 close 方法

在 Go 中我们所以 close() 来关闭一个 channel 官方的注释如下 The close built-in function closes a channel, which must be either bidirectional or send-only. It should be executed o......

mickelfeng
26分钟前
3
0
语音转文字什么方法比较简单

在很多时候一些比较重要的对话需要录制下来,在录制完成后还需要整理出文字,可是长时间的录音内容想要整理出文字是非常的麻烦的。需要花费大量的时间将录制的声音转换成文字,那么想要简单快...

401恶户
30分钟前
5
0
IIS7配置thinkphp5项目到public目录下

有个项目,tp5写的,要配置到项目的public目录下,一开始报错了...后面删除了配置,重新配置成功了,记录一下过程 1.首先,将网站根目录变为你的public目录下 2.添加解析程序的CGI,这里选择你需要解...

老bia同学
34分钟前
10
0
Redis主从复制的配置和实现原理

Redis的持久化功能在一定程度上保证了数据的安全性,即便是服务器宕机的情况下,也可以保证数据的丢失非常少。通常,为了避免服务的单点故障,会把数据复制到多个副本放在不同的服务器上,且...

TurboSanil
36分钟前
8
0
counsul 集群

1 master节点 cat << EOF > /lib/systemd/system/consul.service[Unit]Description=consul-masterAfter=network-online.target [Service]ExecStart=/bin/sh -c 'consul agent ......

拜了个拜
36分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部