Linux Crontab 獲取環(huán)境變量配置解析
使用Laravel分版本環(huán)境部署時遇到的問題
Crontab 執(zhí)行 Laravel 獲取不到用戶全局變量,通過查閱資料獲知 Crontab 載入配置的時候 并未載入 /etc/profile ;
針對這個現(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è)置環(huán)境變量。系統(tǒng)使用此文件時并不是執(zhí)行此文件中的命 令,而是根據(jù)KEY=VALUE模式的代碼,對KEY賦值以VALUE,因此文件中如果要定義PATH環(huán)境變量,只需加入一行形如 PATH=$PATH:/xxx/bin的代碼即可。
- /etc/profile
是系統(tǒng)登錄時執(zhí)行的第二個文件,可以用于設(shè)定針對全系統(tǒng)所有用戶的環(huán)境變量。
- ~/.profile
是對應(yīng)當(dāng)前登錄用戶的profile文件,用于定制當(dāng)前用戶的個人工作環(huán)境。
- /etc/bash.bashrc
是針對所有用戶的bash初始化文件,在此中設(shè)定的環(huán)境變量將應(yīng)用于所有用戶的shell中,此文件會在用戶每次打開shell時執(zhí)行一次。
- ~/.bashrc
是對應(yīng)當(dāng)前登錄用戶的bash初始化文件,當(dāng)用戶每次打開shell時,系統(tǒng)都會執(zhí)行此文件一次。
經(jīng)測在 /etc/environment 設(shè)置后同樣生效
總結(jié)
以上所述是小編給大家介紹的Linux Crontab 獲取環(huán)境變量配置解析,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(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后,登錄時出現(xiàn)ERROR 1045 (28000): Access
這篇文章主要介紹了解決ubuntu 16.04安裝mysql5.7.17后,登錄時出現(xiàn)ERROR 1045 (28000): Access denied for user 'root'@'localhost' 問題,需要的朋友可以參考下2017-03-03