Linux Crontab 获取环境变量配置解析

所属分类: 操作系统 / unix linux 阅读数: 65
收藏 0 赞 0 分享

使用Laravel分版本环境部署时遇到的问题

Crontab 执行 Laravel 获取不到用户全局变量,通过查阅资料获知 Crontab 载入配置的时候 并未载入 /etc/profile ;

针对这个现象 初期解决方式是在Crontab 任务内添加配置文件载入

* * * * * source /etc/profile && php task.php
 或
 * * * * * export PHP_ENV=prod && php task.php
 或
 * * * * * /home/user_name/task.sh && php task.php

之后发现配置文件的载入顺序

  • /etc/environment

是系统在登录时读取的第一个文件,用于为所有进程设置环境变量。系统使用此文件时并不是执行此文件中的命 令,而是根据KEY=VALUE模式的代码,对KEY赋值以VALUE,因此文件中如果要定义PATH环境变量,只需加入一行形如 PATH=$PATH:/xxx/bin的代码即可。

  • /etc/profile

是系统登录时执行的第二个文件,可以用于设定针对全系统所有用户的环境变量。

  • ~/.profile

是对应当前登录用户的profile文件,用于定制当前用户的个人工作环境。

  • /etc/bash.bashrc

是针对所有用户的bash初始化文件,在此中设定的环境变量将应用于所有用户的shell中,此文件会在用户每次打开shell时执行一次。

  • ~/.bashrc

是对应当前登录用户的bash初始化文件,当用户每次打开shell时,系统都会执行此文件一次。

经测在 /etc/environment 设置后同样生效

以上所述是小编给大家介绍的Linux Crontab 获取环境变量配置解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

linux网站建立步骤

linux网站建立步骤
收藏 0 赞 0 分享

linux系统如何访问NTFS磁盘

linux系统如何访问NTFS磁盘
收藏 0 赞 0 分享

简单高效:用Swatch做Linux日志分析

简单高效:用Swatch做Linux日志分析
收藏 0 赞 0 分享

全球顶尖超级计算机60%用Linux系统

全球顶尖超级计算机60%用Linux系统
收藏 0 赞 0 分享

Linux操作系统12则经典应用技巧

Linux操作系统12则经典应用技巧
收藏 0 赞 0 分享

Linux 的 常 用 网 络 命 令

Linux 的 常 用 网 络 命 令
收藏 0 赞 0 分享

循序渐进学习LINUX之软件配置

循序渐进学习LINUX之软件配置
收藏 0 赞 0 分享

混合使用Linux和Windows

混合使用Linux和Windows
收藏 0 赞 0 分享

浅谈linux操作系统的优化及安全

浅谈linux操作系统的优化及安全
收藏 0 赞 0 分享

如何实现Linux操作系统的自动登录

如何实现Linux操作系统的自动登录
收藏 0 赞 0 分享
查看更多