解決crontab無法讀取環境變數
問題描述
設定一個crontab,*/1 * * * * /bin/bash /home/test/1.sh,
手動 sh /home/test/1.sh可以執行,但放到crontab裡卻無法執行,
問題所在:
crontab預設使用者profile檔案中的環境變數引數, 導致手工執行指令碼成功,但是到crontab中無法執行。
解決方法:
在每個需要定時執行的指令碼前面加上如下內容
#!/bin/bash
. /etc/profile
. ~/.bash_profile #某些系統上沒有這個檔案,不過加上也沒關係
. ~/.barshrc
備註:. /etc/profile的效果和 source /etc/profile效果一樣,所以也可以使用source指令
建議
在定時腳本里認真檢查每一個環境變數,最好寫全它的實際路徑。
(尤其是python變數)
參考:https://blog.csdn.net/jiangguilong2000/article/details/38318011?utm_source=copy
相關推薦
解決crontab無法讀取環境變數
問題描述 設定一個crontab,*/1 * * * * /bin/bash /home/test/1.sh, 手動 sh /home/test/1.sh可以執行,但放到crontab裡卻無法執行, 問題所在: crontab預設使用者profile檔案中的環
[CentOS] 解決 crontab 無法讀取環境變數的問題【轉】
參考資料:http://blog.slogra.com/post-238.html 1. 問題描述 一段資料處理的 shell 程式,在 shell 中手動執行,可以正確執行。但是,把它放在 crontab 列表裡,就會報錯,提示 "matlab: comm
spring+log4j配置檔案無法讀取環境變數問題
在spring-web專案中,log4j的配置位於log4j.properties檔案中,其中日誌路徑使用環境變數配置(配置在/etc/profile)。但是,實際執行該路徑沒有生效。如果直接寫路徑,是沒有問題的。 log4j.appender.logFile.File =
python os 設定讀取環境變數的幾種方法
專案中的跳板機是用的使用者公私鑰鑑權的,登入跳板機需要使用的每個人的name,因此如果將封裝的MySQL或者Redis方法中傳入USERNAME作為引數的話,感覺有點傻。因此,考慮將名字寫入環境變數。 兩種方法: 1、使用os.environ.setdefault方法寫入(或者直接
新版Mac上IDE中無法獲取環境變數的問題
新版Mac上IDE中無法獲取環境變數的問題 Mac下為IDE或者應用設定環境變數 Eclipe環境變數 Android Studio環境變數 Mac OS X environment variables and SAP GUI for Java 新增環境變數 launchctl se
python--讀取環境變數
轉載請註明出處:python–讀取環境變數 python中經常會通過環境變數來進行引數傳遞和環境配置。 本章記錄讀取環境變數的方案 設定環境變數 首先設定環境變數 $ export ENV_PORT=3333 $ echo $ENV_PORT 3333 方案一
解決配置Android sdk環境變數不生效的問題
配置Android sdk環境變數發現不生效 配置過程: 在系統變數path中 新增E:\sdk\platform-tools 配置完成後 ,在dos中輸入adb發現無效,但是將路徑移動到E:\sdk
解決IDEA無法讀取包下配置檔案的問題
在包下建立兩個配置檔案,在程式碼中載入進來使用: 編譯執行後出現如下錯誤資訊: 意思是沒找到我的配置檔案test.properties 看了下class檔案的包,是這樣的: 這裡確實
Mac上Eclipse中無法獲取環境變數的問題
Eclipe環境下,用java程式, System.getEnv("CATALINA_HOME") 獲取不到環境變數的解決. 已經在~/.bashrc中配置了 CATALINA_HOME環境變數,但仍無法獲取到. 解決方案:
從原理理解並解決 Opencv 無法讀取視訊
原理 Opencv 利用 VideoCapture 讀取視訊,底層是由 FFmpeg 支援解析讀取視訊,這個檔案是 Opencv2_4_9\build\x64\vc12\bin 目錄下的 opencv_ffmpeg249_64.dll,不同的 Opencv
docker解決crontab無法生效的辦法
在docker中預設使用centos映象,在該映象中沒有安裝crond,通過yum安裝成功後,crontab沒有生效。 首先排查容器內 /etc/init.d/crond status 是否為running狀態。 如果通過第一步還無法解決,參考下面的辦法: 修改/etc/
crontab不認識環境變數的問題
今天遇到一個問題,發現一個crontab任務,執行失敗了,查看了報錯資訊是報java_home不存在。但是通過java -v無報錯,手動執行了指令碼也沒問題。經查證,crontab是不認識,修復方法就是
macbook上eclipse或myeclipse無法獲取環境變數的問題
開啟:Run---> Run configuration-----> environment ---> new ---> name:設定為自己的環境變數名稱,value的設定,點選variables-----> Edit Variables ----> new : nam
解決找不到環境變數PATH
在我們安裝一些軟體的時候,為了方便使用,比如jre等,可能需要設定一些環境變數。但是在設定環境變數時,要非常小心,由於我是新手,對環境變數的設定不太熟悉,在設定PATH環境變數時,將環境變數PATH的值給覆蓋掉。為了防
解決Android無法讀取中文路徑問題及中文檔名
讀取網路檔案中文名下載亂碼解決辦法(請慎用中文作為檔名或路徑名) 1.先在設定伺服器編碼:找到Tomcat安裝目錄下的server.xml檔案(Tomcat 6.0\conf\server.xml)。 設定編碼為UTF-8 <Connector port="808
直接啟動tomcat時為tomcat指定JDK 而不是讀取環境變數中的配置
第一種: 在windows環境下以批處理檔案方式啟動tomcat,只要執行<CATALINA_HOME>/bin/startup.bat這個檔案,就可以啟動Tomcat。在啟動時,startup.bat會呼叫catalina.bat檔案,而catalina.b
一種解決SpringBoot無法讀取js/css靜態資源的新方法
忽略 tro while res 容易 靜態 hashmap hfile != 作為依賴使用的SpringBoot工程很容易出現自身靜態資源被主工程忽略的情況。但是作為依賴而存在的Controller方法卻不會失效,我們知道,Spring MVC對於靜態資源的處理也不外乎是
安裝了JDK1.8後,配置了環境變數,但是Maven打包時,依然讀取的是JDK1.6的問題解決辦法
問題描述:使用maven對springboot打包時,報瞭如下錯誤, 錯誤描述:[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compil
Crontab內環境變數與Shell環境變數的關係及解決問題的辦法
問題 有時需要用到Crontab的定時任務去執行指令碼,但是發現通過命令(./test.sh)執行Shell檔案的時候,可以獲取Linux的環境變數;可是通過Crontab做的定時任務,無法獲取。 問題剖析 crontab有一個壞毛病,就是它總是不會預設的從使用者profi
解決 Flask 專案無法用 .env 檔案中解析的引數設定環境變數的錯誤
在 Windows 上啟動 Flask 專案時,工作目錄有 UTF-8 編碼的 .env 檔案,裡面配置的環境變數在 Python2 中識別為 Unicode 型別,導致下述錯誤: * Serving Flask app "bootstrap" (lazy loading) * Environme