okecity.com

Script Backup Restore jobs Jenkins

Script Backup Restore jobs Jenkins

Create project Bash File for backup and restore

mkdir Jenkins

Create File bash for backup

vim jenkins-backup.sh 

Copy Paste This Script change HOST_SOURCE and HOST_AUTH with your own

 #!/bin/bash

HOST_SOURCE="http://10.10.11.35:8080/";

HOST_AUTH="admin:heri";

LIST_JOBS=$(java -jar $(pwd)"/jenkins-cli.jar" -auth $HOST_AUTH -s $HOST_SOURCE -webSocket list-jobs)

PATH_TMP_FOLDERBACKUP=$(pwd)"/backup";

PATH_TMP_FILEBACKUP=$(pwd)"/jenkins-jobs-list.csv";

echo "$LIST_JOBS" > $PATH_TMP_FILEBACKUP

 

if [ ! -d $PATH_TMP_FOLDERBACKUP ]

then

mkdir $PATH_TMP_FOLDERBACKUP

fi

 

while read JOB

do

 

PLAN_FILE_NAME=$(echo ${JOB// /_}".xml")

echo "Start backup job $JOB"

java -jar $(pwd)"/jenkins-cli.jar" -auth $HOST_AUTH -s $HOST_SOURCE -webSocket get-job "$JOB" > "$PATH_TMP_FOLDERBACKUP/$PLAN_FILE_NAME" &

echo "Complete backup job $JOB"

 

done < "$PATH_TMP_FILEBACKUP"

rm $PATH_TMP_FILEBACKUP

echo "Done"

 

 Create File bash for restore

vim jenius-restore.sh

copy paste this script chnsge  HOST_DEST and HOST_AUTH with your own

#!/bin/bash

HOST_DEST="http://10.10.11.30:8081/"

HOST_AUTH="admin:heri"

PATH_FOLDER_RESTORE=$(pwd)"/backup"

LIST_JOBS=$(ls -ltrh $PATH_FOLDER_RESTORE | awk -F" " '{print $10}')

PATH_TMP_FILEBACKUP=$(pwd)"/jenkins-jobs-list.csv"

echo "$LIST_JOBS" > $PATH_TMP_FILEBACKUP

 

if [ ! -d $PATH_TMP_FOLDERBACKUP ]

then

echo "Folder Restore not exists"

exit

fi

 

while read JOB

do

if [ ! -z "$JOB" ]

then

PLAN_FILE_NAME1=$(echo ${JOB//.xml/ })

PLAN_FILE_NAME=$(echo ${PLAN_FILE_NAME1//_/ })

echo "Start backup job $JOB"

java -jar $(pwd)"/jenkins-cli.jar" -auth $HOST_AUTH -s $HOST_DEST -webSocket create-job "$PLAN_FILE_NAME" < "$PATH_FOLDER_RESTORE/$JOB" &

echo "Complete backup job $JOB"

fi

done < "$PATH_TMP_FILEBACKUP"

 

echo "Done"

 

Run Script for backup

./jenkins-backup.sh 

Run Script for restore

./jenkins-restore.sh 

Download Source Code Here

Done 

Category: Tekno

Share: