TShopping

標題: Shell 手動執行成功,排程失敗 [打印本頁]

作者: woff    時間: 2022-10-29 21:03
標題: Shell 手動執行成功,排程失敗
寫 Shell 一切都是為了省下更多時間,來更專注的處理手頭上的事情。
在完成腳本後不外乎反覆測試或嘗試各種可能,在手動執行確認內容執行後可以呈現所需。
卻在Crontab 排程執行卻失敗,重新審視內容後發現裡面有一條語法為了要取得客製化系統內的資訊。
測試環境解決辦法
此次問題中最主要是在客製化系統中的,在使用者登入時會自動載入系統中。
  1. "/etc/profile", "~/.bash_profile"
複製代碼

當在 Crontab 執行 shell 指令其中帶有客製化指令,呈現結果會是失敗的。
因 Crontab 排程中執行是不會載入此使用者的資訊,故無法正確執行客製化系統中的語法。
所以在 shell 第二行加以下程式碼
  1. source /etc/profile
複製代碼

讓語法在執行時可以正確帶入客製化指令。
如果遇到其他無法執行的內容可往以下方案尋找
或是在 crontab -e 下
加入環境變數
  1. SHELL=/bin/bash
  2. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
複製代碼







歡迎光臨 TShopping (http://www.tshopping.com.tw/) Powered by Discuz! X3.2