刪除Jenkins的構建次數(基於Jmeter的Maven項目)

#!/bin/shshell

#set就是當命令以非零狀態退出時,則退出shell。主要做用是,當腳本執行出現意料以外的狀況時,當即退出,避免錯誤被忽略,致使最終結果不正確工具

set -e  #${JOB_NAME}=$1  ${BUILD_NUMBER}=$2 buidNo=$2ui

#let 命令是 BASH 中用於計算的工具,用於執行一個或多個表達式,變量計算中不須要加上 $ 來表示變量。若是表達式中包含了空格或其餘特殊字符,則必須引發來。語法:let a=5+4spa

let jenkins

buidNo=buidNo-10  it

#cd /data/soft/jenkins/jobs/$1/builds/ #這是114機器的路徑test

cd /data/jenkins-read/jobs/$1/builds 變量

#rm 用戶能夠用rm命令刪除不須要的文件。該命令的功能爲刪除一個目錄中的一個或多個文件或目錄,它也能夠將某個目錄及其下的全部文件及子目錄均刪除。對於連接文件,只是斷開了連接,原文件保持不變。file

# -r/R --recursive   同時刪除該目錄下的全部目錄層  # -f      --force    略過不存在的文件,不顯示任何信息,強制刪除搜索

rm -fr ${buidNo}

cp -r newBuild ${buidNo}

ln -s newBuild $2  

# maxdepth 指定遍歷搜索的最大深度

# -mtime+1

#表示文件修改時間爲大於1天的文件,即距離當前時間2天(48小時)以外的文件這也能解釋了,爲何6號22點生成的這個文件爲何沒有輸出出來這裏-##time +1 爲何是48小時之外,而不是24小時之外呢,由於n只能是整數,比1大的下一個整數是2,因此是48小時之外的  #-exec command:command 爲其餘指令,-exec後面可再接額外的指令來處理搜尋到的結果。

#「rm -rf /」意味着擦除根路徑「/」下掛載的全部內容而無需詢問 #{} 對一串命令在當前shell執行

find ./ -maxdepth 1 -mtime +3 -name "*" -exec rm -rf {} \;

exit 0

 

注意,$1,$2爲執行sh命令時,佔位傳輸過來的好比,該腳本名稱叫ClearJenkinsJob.sh

sh "/data/jenkins-read/workspace/testfiles/libs/ClearJenkinsJob.sh ${env.JOB_NAME} ${env.BUILD_NUMBER}"
相關文章
相關標籤/搜索