User
发布于 2023-07-16 / 8 阅读 / 0 评论 / 0 点赞

Linux Bash

Bash

cut-log.sh

#!/bin/bash
#日志文件存放目录
logs_path="/data/logs/nginx"
# pid文件
pid_path="/run/nginx.pid"
#重命名日志文件
today=$(date +"%Y%m%d")
#debug
debug=$1

ColorEcho(){
    case "$2" in
        error)
            echo -e "\033[31m$1\033[37m"
        ;;
        success)
            echo -e "\033[32m$1\033[37m"
        ;;
        warn)
            echo -e "\033[33m$1\033[37m"
        ;;
        info)
            echo -e "\033[36m$1\033[37m"
        ;;
        *)
            echo -e "$1"
        ;;
    esac
}

folders=(
    "${logs_path}"
    "${logs_path}/1.com"
    "${logs_path}/1.com/t"
    "${logs_path}/1.com/f"
    "${logs_path}/2.com"
)

for folder in "${folders[@]}"
do
    [ "" != "${debug}" ] && ColorEcho "### ${folder}" info
    cd ${folder}
    if [ $? -eq 0 ] ;then
        if [ "" != "${debug}" ] ;then
            ls -l
        else
            [ -e access.log ] && mv access.log access.log.${today}
            [ -e error.log ] && mv error.log error.log.${today}
        fi
    else
        ColorEcho "- not exists" error
    fi
done


#向nginx主进程发送信号以重新打开日志
[ "" == "${debug}" ] && kill -USR1 `cat ${pid_path}`

fastgpt.sh

#!/bin/bash
path=/data/www/fastgpt

cmd=$1

array=(
    "fastgpt"
    "fastgpt-admin"
    "keyadmin"
    "pg"
    "mongo"
)

stop(){
    for one in "${array[@]}"
    do
        docker stop ${one}
    done
}

start(){
    len=${#array[@]}
    for ((i=len-1; i>=0; i--))
    do
        docker start ${array[i]}
    done
}

show(){
    len=${#array[@]}
    for ((i=len-1; i>=0; i--))
    do
        docker ps -a |grep "\s${array[i]}$"
    done
}

case "${cmd}" in
stop)
    stop
;;
stop)
    stop
;;
restart)
    stop
    start
;;
show)
    show
;;
*)
    echo "./$0 [show|start|stop|restart]"
;;
esac

评论