crontab啟動shell指令碼的環境變數問題
環境:(產品,平台,機型,軟體版本,等)aix5l
問題描述:crontab中啟動的shell指令碼不能正常執行,但是使用手動執行沒有問題,在$home/.profile中設定了指令碼所需要的環境變數。
解答:cron命令的預設shell是/usr/bin/bsh,如果要在cron啟動的指令碼中使用ksh,就必須在指令碼中的第一行新增「!/usr/bin/ksh」的宣告。
如果cron程序啟動的shell指令碼設定了使用者登入時的環境變數,就必須在cron啟動的shell指令碼中新增下面的內容,才能夠在啟動的指令碼中使用$home/.profile檔案中的環境變數。
. $home/.profile
這是因為cron程序執行的shell指令碼是不會自動載入使用者目錄下的.profile檔案,所以需要指令碼自己載入所需要的環境變數
原文:
crontab 與 環境變數
手動在centos中執行sh指令碼,一切正常 將該sh加入crontab中任務計畫排程之後,完全沒有執行到的感覺啊!檢視crontab執行記錄日誌,cat var log cron 日誌中並沒有執行的記錄,說明計畫任務並沒有被排程執行。重新編輯計畫任務,crontab e,把錯誤輸出重定向,40 1...
crontab 環境變數的使用方法
環境 產品,平台,機型,軟體版本,等 aix5l 問題描述 crontab中啟動的shell指令碼不能正常執行,但是使用手動執行沒有問題,在 home profile中設定了指令碼所需要的環境變數。解答 cron命令的預設shell是 usr bin bsh,如果要在cron啟動的指令碼中使用ksh...
解決crontab不載入環境變數問題
公司需要做異構庫資料同步,由於之前實際使用過,且字段型別也相容,滿足業務場景,使用了阿里開源資料同步工具 datax,伺服器上crontab定時指令碼執行。由於crontab只載入 ect environment,並不載入 etc profile和 bash profile,所以需要在指令碼裡手動新...