1、安裝Go
使用go程式必須先有go,Linux下的安裝
yum install go
檢視安裝版本 go version
2、下載下傳gocron
gocron需要使用下載下傳gocron和gocron-node
這裡采用二進制檔案的方式安裝,因為go已經把源碼打包成了可執行檔案,下載下傳下來直接運作就可以了,不需要自己去編譯和配置依賴
下載下傳執行檔案的位址是:
https://github.com/ouqiang/gocron/releases
看清楚自己的系統,需要下載下傳gocron和gocron-node兩個包,gocron是web配置平台,gocron-node是需要在想要執行任務的節點伺服器部署的程式
下載下傳的時候有時候速度比較慢,多試幾次就可以了
wget https://github.com/ouqiang/gocron/releases/download/v1.5.2/gocron-v1.5.1-linux-amd64.tar.gz
wget https://github.com/ouqiang/gocron/releases/download/v1.5.2/gocron-node-v1.5.1-linux-amd64.tar.gz
3、解壓
選擇合适的目錄解壓,解壓指令:
tar -xvf gocron-v1.5.1-linux-amd64.tar.gz
tar -xvf gocron-node-v1.5.1-linux-amd64.tar.gz
我解壓的位置在wwwroot下,如果想換位置,可以是用複制的方法複制到指定目錄,然後再解壓,或是先進入到指定目錄,然後再該目錄中解壓 ![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5iZ4I2N1QDN0AjNiF2NzETMiJzM1YGM4QTZ4gDNiVTMk9CX0IzLcdDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL3M3Lc9CX6MHc0RHaiojIsJye.png)
4、運作
分别進入gocron和gocron-node目錄中運作:
啟動gocron(為了安全,不使用root執行,而使用使用者www來執行):
sudo -u www ./gocron-v1.5.1-linux-amd64/gocron web
啟動gocron-node(不允許使用root執行,如果使用的是root執行則會失敗): sudo -u www ./gocron-node-v1.5.1-linux-amd64/gocron-node
安裝時發現啟動上述程式,不管啟動哪個,都不能按Ctrl + C來終止或關閉SSH用戶端,否則直接退出。
5、換成背景腳本運作
建立gocron的shell腳本run.sh,gocron目錄及相關檔案截圖
#!/bin/bash
#啟動gocron
cd /data/wwwroot/gocron/gocron-linux-amd64
sudo -u www bash -c 'nohup ./gocron web &'
建立gocron-node的shell腳本run.sh,gocron-node目錄及相關檔案截圖
#!/bin/bash
#啟動gocron-node
cd /data/wwwroot/gocron/gocron-node-linux-amd64
sudo -u www bash -c 'nohup ./gocron-node &'
修改檔案權限,run.sh需要執行權限
chmod -R 777 run.sh
修改指定檔案所屬權限組,例如
chown -R www:www run.sh
傳回到/data/wwwroot/gocron/目錄,腳本運作gocron和gocron-node
source ./gocron-linux-amd64/run.sh
source ./gocron-node-linux-amd64/run.sh
已成功啟動gocron和gocron-node
說明(上述使用source執行的原因):當shell執行腳本的時候,它會開啟一個子shell,目錄跳轉指令隻會在這個子shell中執行,并不會影響到父shell。要想在父shell中實作目錄的跳轉,需要用source來執行腳本。
其他說明:上述run.sh腳本中的bash -c 的使用方法及注意事項
用法:bash -c “cmd string”
通常使用shell去運作腳本,兩種方法 bash xxx.sh,另外一種就是bash -c “cmd string”
對于bash xxx.sh, 首先bash 會在目前目錄去尋找xxx.sh,如果找到,就直接運作,找不到則按照環境變量$PATH的指定路徑,按順序去找,如果找到,則執行,找不到則報錯。
shell腳本的參數$0就是要執行的shell腳本xxx.sh, $1就是後面緊跟xxx.sh的參數,$2 $3依次類推
詳細說明請檢視【Linux中的bash -c 使用詳解】
6、登入
打開web界面
從上面可以看到gocron預設監聽的是5920端口,通過浏覽器通路:http://localhost:5920 或http://伺服器ip:5920 便可以打開web管理視窗
首頁打開需要進行一些安裝配置
安裝完成後會跳轉到登入界面
添加任務節點
這裡的每個定時任務都需要在一個任務節點下,是以想要添加一個定時任務需要先添加一個任務節點,示例如下:
添加定裡任務
這裡按照以下圖檔進行添加即可:
7、優化
由于腳本中使用到了nohup,是以在run.sh目錄會生成nohup.out日志檔案,随着時間的推移,此檔案會越來越多,最後可能會占用一大部分空間。可以通過改變nohup輸出方式來優化,具體請檢視Linux nohup不輸出日志檔案的方法
8、執行腳本随伺服器啟動設定
直接在伺服器中的腳本/etc/rc.d/rc.local(和/etc/rc.local是同一個檔案,軟鍊)末尾添加自己的腳本。
然後,增加執行權限chmod +x /etc/rc.d/rc.local。