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

这是一个用于升级AI引擎的自动化脚本。它首先读取升级文件和文件夹列表,然后删除旧版本文件和文件夹,接着将新版本复制到工作目录,并最后重启服务。脚本确保了升级过程的完整性和服务的顺利运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

目录结构

​编辑

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨痕诉清风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值