Shell离线升级脚本(Python专用)

目录

目录结构

​编辑

README

​编辑

upgrade_file.txt

upgrade_folder.txt

upgrade.sh


目录结构

README

upgrade_file.txt

upgrade_folder.txt

upgrade.sh

#!/bin/bash

# @author: baba
# @created: 2022.06.09


BASE_PATH=$(cd `dirname $0`; pwd)
UPGRADE_FILE_PATH=$BASE_PATH"/upgrade_file.txt"
UPGRADE_FOLDER_PATH=$BASE_PATH"/upgrade_folder.txt"

WORK_LIST="/opt/ai_engine/"
UPGRADE_LIST=$BASE_PATH"/upgrade/"


file_arr=()
folder_arr=()


function add_file_arr(){
    i=0
    for line in `cat $UPGRADE_FILE_PATH`
    do
        echo "[+] Add file: $line"
        file_arr[$i]=$line
        ((i++))
    done
}

function add_folder_arr(){
    i=0
    for line in `cat $UPGRADE_FOLDER_PATH`
    do
        echo "[+] Add folder: $line"
        folder_arr[$i]=$line
        ((i++))
    done
}

function del_old(){
    for (( i=0;i<${#file_arr[@]};i++ ))
    do
        del_file=$WORK_LIST${file_arr[$i]}
        echo "[+] Del $del_file"
        if [ -f $del_file ];then
            rm -rf $del_file
        else
            echo "[-] file does not exist:" $del_file
        fi
    done

    for (( i=0;i<${#folder_arr[@]};i++ ))
    do
        del_folder=$WORK_LIST${folder_arr[$i]}
        echo "[+] Del $del_folder"
        if [ -d $del_folder ];then
            rm -rf $del_folder
        else
            echo "[-] folder does not exist:" $del_folder
        fi
    done
}

function add_new(){
    for (( i=0;i<${#file_arr[@]};i++ ))
    do
        src_file=$UPGRADE_LIST${file_arr[$i]}
        des_file=$WORK_LIST${file_arr[$i]}
        echo "[+] cp $src_file"
        if [ -f $src_file ];then
            cp -rvf $src_file $des_file
        else
            echo "[-] file does not exist:" $src_file
        fi
    done       

    for (( i=0;i<${#folder_arr[@]};i++ ))
    do
        src_folder=$UPGRADE_LIST${folder_arr[$i]}
        des_folder=$WORK_LIST${folder_arr[$i]}
        echo "[+] cp $src_folder"
        if [ -d $src_folder ];then
            cp -rvf $src_folder $des_folder
        else
            echo "[-] folder does not exist:" $src_folder
        fi
    done       
}

function restart_service(){
    service aiengine restart
}

function upgrade(){
    echo "[+] Add upgrade file start"
    add_file_arr 
    echo "[+] Add upgrade file end"

    echo "[+] Add upgrade folder start"
    add_folder_arr
    echo "[+] Add upgrade folder end"

    echo "[+] Del outdated start"
    del_old
    echo "[+] Del outdated end"

    echo "[+] Add added start"
    add_new
    echo "[+] Add added end"

    echo "[+] Restart service start"
    restart_service
    echo "[+] Restart service end"
}

function main(){
    echo -e "\033[36;1m[*] Upgrade aiengine start\033[0m"
    upgrade
    echo -e "\033[36;1m[*] upgrade aiengine end\033[0m"
}

main

猜你喜欢

转载自blog.csdn.net/u012206617/article/details/125223633