Linux Crontab 獲取環(huán)境變量配置解析
使用Laravel分版本環(huán)境部署時(shí)遇到的問(wèn)題
Crontab 執(zhí)行 Laravel 獲取不到用戶全局變量,通過(guò)查閱資料獲知 Crontab 載入配置的時(shí)候 并未載入 /etc/profile ;
針對(duì)這個(gè)現(xiàn)象 初期解決方式是在Crontab 任務(wù)內(nèi)添加配置文件載入
* * * * * source /etc/profile && php task.php 或 * * * * * export PHP_ENV=prod && php task.php 或 * * * * * /home/user_name/task.sh && php task.php
之后發(fā)現(xiàn)配置文件的載入順序
- /etc/environment
是系統(tǒng)在登錄時(shí)讀取的第一個(gè)文件,用于為所有進(jìn)程設(shè)置環(huán)境變量。系統(tǒng)使用此文件時(shí)并不是執(zhí)行此文件中的命 令,而是根據(jù)KEY=VALUE模式的代碼,對(duì)KEY賦值以VALUE,因此文件中如果要定義PATH環(huán)境變量,只需加入一行形如 PATH=$PATH:/xxx/bin的代碼即可。
- /etc/profile
是系統(tǒng)登錄時(shí)執(zhí)行的第二個(gè)文件,可以用于設(shè)定針對(duì)全系統(tǒng)所有用戶的環(huán)境變量。
- ~/.profile
是對(duì)應(yīng)當(dāng)前登錄用戶的profile文件,用于定制當(dāng)前用戶的個(gè)人工作環(huán)境。
- /etc/bash.bashrc
是針對(duì)所有用戶的bash初始化文件,在此中設(shè)定的環(huán)境變量將應(yīng)用于所有用戶的shell中,此文件會(huì)在用戶每次打開shell時(shí)執(zhí)行一次。
- ~/.bashrc
是對(duì)應(yīng)當(dāng)前登錄用戶的bash初始化文件,當(dāng)用戶每次打開shell時(shí),系統(tǒng)都會(huì)執(zhí)行此文件一次。
經(jīng)測(cè)在 /etc/environment 設(shè)置后同樣生效
總結(jié)
以上所述是小編給大家介紹的Linux Crontab 獲取環(huán)境變量配置解析,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Linux操作系統(tǒng)12則經(jīng)典應(yīng)用技巧
Linux操作系統(tǒng)12則經(jīng)典應(yīng)用技巧...2006-10-10解決ubuntu 16.04安裝mysql5.7.17后,登錄時(shí)出現(xiàn)ERROR 1045 (28000): Access
這篇文章主要介紹了解決ubuntu 16.04安裝mysql5.7.17后,登錄時(shí)出現(xiàn)ERROR 1045 (28000): Access denied for user 'root'@'localhost' 問(wèn)題,需要的朋友可以參考下2017-03-03