解決cron不能啟動指令碼的問題

2021-07-07 09:59:11 字數 742 閱讀 8662

解決cron不能啟動指令碼的問題

一、背景

在開發過程中總是會需要系統cron服務啟動我們自定義的服務。我們手動執行指令碼,指令碼中定義的服務就能執行。如果我們讓cron服務來管理我們的指令碼,有可能cron服務不能定時啟動我們的指令碼。

二、解決方法

在我們的指令碼中加入我們服務需要的環境變數。

1)方法1:

我們需要把環境變數配置在/etc/profile 中。在centos環境中我們可以在我們的指令碼中第二行加上  

source  /etc/profile 這條語句。

2)方法2:

如果系統不支援第一種方法,我們可以用這種方法。

我們可以在我們的指令碼中新增環境變數,這樣我們指令碼定義的服務執行時就能找到執行時依賴的庫。

如果你執行的bin路徑為/usr/local/test/bin ,lib路徑為/usr/local/test/lib。我們可以在指令碼的第二行加上

export path=$path:/usr/local/test/bin 

第三行加上

export ld_library_path=$ld_library_path:/usr/local/test/lib。 三

重啟cron 服務

service crond restart

四  可以檢視cron日誌

tail -f /var/log/cron

nginx的啟動指令碼

nginx path usr local nginx nginx pid usr local nginx var nginx.pid fcgi pid usr local nginx var fcgi.pid spawn fcgi usr local php bin spawn fcgi php c...

好用的開機啟動指令碼

最近做乙個專案需要用windows開機啟動 這裡做一下記錄 下圖中的兩個程式就是我需要啟動的程式 涉及到多台電腦的安裝 所以我用了兩個bat檔案 注釋 開啟vusb64程式 start d d install 1.360 2.360install usblink vusb64.exe 注釋 開啟au...

linux開機啟動指令碼的順序

在redhat redflag centos fc linux系統裡面指令碼的啟動 先後 第一步 通過 boot vm進行啟動 vmlinuz 第二步 init etc inittab 第三步 啟動相應的指令碼,並且開啟終端 rc.sysinit rc.d 裡面的指令碼 rc.local 第四步 啟...