diff --git a/Public/dep/oh-my-zsh-plugins-list.txt b/Public/dep/oh-my-zsh-plugins-list.txt new file mode 100644 index 0000000..ef4c188 --- /dev/null +++ b/Public/dep/oh-my-zsh-plugins-list.txt @@ -0,0 +1,3 @@ +https://cdn.jsdelivr.net/gh/ohmyzsh/ohmyzsh/plugins/command-not-found/command-not-found.plugin.zsh +https://cdn.jsdelivr.net/gh/ohmyzsh/ohmyzsh/plugins/autojump/autojump.plugin.zsh +https://cdn.jsdelivr.net/gh/ohmyzsh/ohmyzsh/plugins/themes/themes.plugin.zsh \ No newline at end of file diff --git a/Public/dep/wdd-server-host.txt b/Public/dep/wdd-server-host.txt index 87536fa..76f2cbe 100644 --- a/Public/dep/wdd-server-host.txt +++ b/Public/dep/wdd-server-host.txt @@ -26,6 +26,12 @@ 140.83.58.96 osaka-2 o2 +129.146.171.163 p2 + +129.146.65.80 p3 + +129.146.57.94 p4 + 42.192.52.227 tc-sh 43.128.39.232 tc-hk diff --git a/Public/init-script-wdd.sh b/Public/init-script-wdd.sh index 1668643..a501295 100644 --- a/Public/init-script-wdd.sh +++ b/Public/init-script-wdd.sh @@ -54,7 +54,7 @@ install_demand_softwares() { log "正在安装 ${software}..." ## 判断该软件是否安装成功 - if ! $CMD_INSTALL "${software}"; then + if ! $cmd_install "${software}"; then error "安装 ${software} 失败。" error "如果是重要软件,本脚本会自动终止!!" colorEchoPurple "一般软件,本脚本会忽略错误并继续运行,请之后手动安装该程序。" @@ -186,7 +186,7 @@ EOF # description # Globals: # BLUE -# CMD_REMOVE +# cmd_remove # deploy_in_cn # docker_version # GREEN @@ -210,7 +210,7 @@ install_docker() { local pre_soft_ware=(docker-ce containerd.io docker-ce-cli docker-compose kubelet kubeadm kubectl) local pre_one="" for pre_one in ${pre_soft_ware[@]}; do - $CMD_REMOVE "$pre_one" + $cmd_remove "$pre_one" done colorEchoGreen "----------docker环境清理完成----------" @@ -259,7 +259,7 @@ install_docker() { else log "开始安装相关的Docker基础组件" - install_demand_softwares apt-transport-https ca-certificates curl gnupg-agent software-properties-common lsb-release + install_demand_softwares apt-transport-https ca-certificates curl gnupg software-properties-common lsb-release colorEchoGreen " 基础组件安装成功 " echo "" @@ -423,7 +423,7 @@ EOF if [[ $deploy_in_cn -eq 1 ]]; then log "开始从 Gitee 下载 自动补全 插件…………" - git clone https://gitee.com/githubClone/zsh-autosuggestions.git ~/.oh-my-zsh/plugins/zsh-autosuggestions + git clone https://gitee.com/wangl-cc/zsh-autosuggestions.git ~/.oh-my-zsh/plugins/zsh-autosuggestions else log "开始从 GitHub 下载 自动补全 插件…………" git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/plugins/zsh-autosuggestions @@ -432,7 +432,7 @@ EOF if [[ $deploy_in_cn -eq 1 ]]; then log "开始从 Gitee 下载 命令高亮 插件…………" - git clone https://gitee.com/mo2/zsh-syntax-highlighting.git ~/.oh-my-zsh/plugins/zsh-syntax-highlighting + git clone https://gitee.com/xiaoqqya/zsh-syntax-highlighting.git ~/.oh-my-zsh/plugins/zsh-syntax-highlighting else log "开始从 GitHub 下载 命令高亮 插件…………" git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/plugins/zsh-syntax-highlighting diff --git a/Public/lib/wdd-lib-clean.sh b/Public/lib/wdd-lib-clean.sh index 215f554..fac492b 100644 --- a/Public/lib/wdd-lib-clean.sh +++ b/Public/lib/wdd-lib-clean.sh @@ -5,7 +5,7 @@ if [[ ! -f /root/wdd/lib/wdd-lib-log.sh ]]; then fi source /root/wdd/lib/wdd-lib-log.sh -CleanOracleAgent() { +clean_oracle_agent() { FunctionStart colorEchoBlue "准备清理 Oracle Agent的相关内容 !" @@ -28,7 +28,7 @@ CleanOracleAgent() { FunctionEnd } -CleanIpPersist() { +clean_ip_persist() { FunctionStart colorEchoBlue "开始关闭 防火墙持久化存储 …………" systemctl stop systemd-resolved.service && systemctl disable systemd-resolved.service diff --git a/Public/lib/wdd-lib-env.sh b/Public/lib/wdd-lib-env.sh index edaff8f..5e06799 100644 --- a/Public/lib/wdd-lib-env.sh +++ b/Public/lib/wdd-lib-env.sh @@ -1,38 +1,35 @@ #!/bin/bash -. /octopus-agent/shell/lib/wdd-lib-log.sh -. /octopus-agent/shell/lib/wdd-lib-sys.sh +. ./wdd-lib-log.sh +. ./wdd-lib-sys.sh -#. .wdd-lib-log.sh -#. .wdd-lib-sys.sh - -hostArchVersion="" -hostArch="" +host_arch_version="" +host_arch="" #### CollectSystemInfo #### -serverName="" -serverIpPbV4="" -serverIpInV4="" -serverIpPbV6="" -serverIpInV6="" +server_name="" +server_ip_pb_v4="" +server_ip_in_v4="" +server_ip_pb_v6="" +server_ip_in_v6="" location="" provider="" -managePort="" -cpuBrand="" -cpuCore="" -memoryTotal="" -diskTotal="" -diskUsage="" -osInfo="" -osKernelInfo="" -tcpControl="" +manage_port="" +cpu_brand="" +cpu_core="" +memory_total="" +disk_total="" +disk_usage="" +os_info="" +os_kernel_info="" +tcp_control="" virtualization="" -ioSpeed="" -machineId="" -archInfo="" -agentVersion="" +io_speed="" +machine_id="" +arch_info="" +agent_version="" ### tmp usage -ioavg="" +io_avg="" public_ipv4="" inner_ipv4="" public_ipv6="" @@ -41,7 +38,9 @@ country="" region="" city="" org="" -managePort="" +manage_port="" +machine_number="" +l_bit="" #### CollectSystemInfo #### ####################################### @@ -49,7 +48,7 @@ managePort="" # Arguments: # 1 ####################################### -GoIOTest() { +io_test() { (LANG=C dd if=/dev/zero of=benchtest_$$ bs=512k count=$1 conv=fdatasync && rm -f benchtest_$$) 2>&1 | awk -F, '{io=$NF} END { print io}' | sed 's/^[ \t]*//;s/[ \t]*$//' } @@ -93,10 +92,12 @@ calc_size() { # Returns: # ... ####################################### -GethostArchInfo() { +get_host_arch_info() { + FunctionStart "开始获取系统架构信息!" [ -f /etc/redhat-release ] && awk '{print $0}' /etc/redhat-release && return [ -f /etc/os-release ] && awk -F'[= "]' '/PRETTY_NAME/{print $3,$4,$5}' /etc/os-release && return [ -f /etc/lsb-release ] && awk -F'[="]+' '/DESCRIPTION/{print $2}' /etc/lsb-release && return + FunctionEnd } ####################################### @@ -115,19 +116,19 @@ GethostArchInfo() { # Arguments: # None ####################################### -StartIOTest() { - log "start IO speed test !" +start_io_test() { + FunctionStart "开始测试IO速度!" freespace=$(df -m . | awk 'NR==2 {print $4}') if [ -z "${freespace}" ]; then freespace=$(df -m . | awk 'NR==3 {print $3}') fi if [ ${freespace} -gt 1024 ]; then writemb=2048 - io1=$(GoIOTest ${writemb}) + io1=$(go_iotest ${writemb}) log "I/O Speed(1st run) : $io1)" - io2=$(GoIOTest ${writemb}) + io2=$(go_iotest ${writemb}) log "I/O Speed(2st run) : $io2)" - io3=$(GoIOTest ${writemb}) + io3=$(go_iotest ${writemb}) log "I/O Speed(3st run) : $io3)" ioraw1=$(echo $io1 | awk 'NR==1 {print $1}') [ "$(echo $io1 | awk 'NR==1 {print $2}')" == "GB/s" ] && ioraw1=$(awk 'BEGIN{print '$ioraw1' * 1024}') @@ -136,42 +137,40 @@ StartIOTest() { ioraw3=$(echo $io3 | awk 'NR==1 {print $1}') [ "$(echo $io3 | awk 'NR==1 {print $2}')" == "GB/s" ] && ioraw3=$(awk 'BEGIN{print '$ioraw3' * 1024}') ioall=$(awk 'BEGIN{print '$ioraw1' + '$ioraw2' + '$ioraw3'}') - ioavg=$(awk 'BEGIN{printf "%.1f", '$ioall' / 3}') - log "I/O Speed(average) : $ioavg MB/s)" + io_avg=$(awk 'BEGIN{printf "%.1f", '$ioall' / 3}') + log "I/O Speed(average) : $io_avg MB/s)" else echo " $(_red "Not enough space for I/O Speed test!")" fi -} - -####################################### -# description -# Arguments: -# None -####################################### -GetAgentLatestVersion() { - - ls /octopus-agent | grep "octopus-agent" | cut -d "-" -f3- | cut -d"." -f1 - + FunctionEnd } ####################################### # description # Globals: -# cpuName +# cpu_name # sys_manu # sys_product # sys_ver # virt -# virtualx +# virtual_x # Arguments: # None ####################################### -Check_Virtualization() { +check_virtualization() { - log "start to check host virtualization !" + FunctionStart "开始收集服务器虚拟化信息!" + + local virtual_x + if command_exists "dmesg"; then + virtual_x="$(dmesg 2>/dev/null)" + fi + + local sys_manu + local sys_product + local sys_ver - command_exists "dmesg" && virtualx="$(dmesg 2>/dev/null)" if command_exists "dmidecode"; then sys_manu="$(dmidecode -s system-manufacturer 2>/dev/null)" sys_product="$(dmidecode -s system-product-name 2>/dev/null)" @@ -189,21 +188,21 @@ Check_Virtualization() { virt="LXC" elif [[ -f /proc/user_beancounters ]]; then virt="OpenVZ" - elif [[ ${virtualx} == *kvm-clock* ]]; then + elif [[ ${virtual_x} == *kvm-clock* ]]; then virt="KVM" elif [[ ${sys_product} == *KVM* ]]; then virt="KVM" - elif [[ ${cpuName} == *KVM* ]]; then + elif [[ ${cpu_name} == *KVM* ]]; then virt="KVM" - elif [[ ${cpuName} == *QEMU* ]]; then + elif [[ ${cpu_name} == *QEMU* ]]; then virt="KVM" - elif [[ ${virtualx} == *"VMware Virtual Platform"* ]]; then + elif [[ ${virtual_x} == *"VMware Virtual Platform"* ]]; then virt="VMware" elif [[ ${sys_product} == *"VMware Virtual Platform"* ]]; then virt="VMware" - elif [[ ${virtualx} == *"Parallels Software International"* ]]; then + elif [[ ${virtual_x} == *"Parallels Software International"* ]]; then virt="Parallels" - elif [[ ${virtualx} == *VirtualBox* ]]; then + elif [[ ${virtual_x} == *VirtualBox* ]]; then virt="VirtualBox" elif [[ -e /proc/xen ]]; then if grep -q "control_d" "/proc/xen/capabilities" 2>/dev/null; then @@ -225,14 +224,28 @@ Check_Virtualization() { virt="Dedicated" fi + FunctionEnd + } -GetManagePort(){ +####################################### +# description +# Globals: +# manage_port +# tmp_manage_ports +# Arguments: +# None +####################################### +get_manage_port() { - tmpManagePorts=$(netstat -ntulp | grep sshd | grep -w tcp | grep -v "127.0.0.1"| awk '{print$4}' | cut -d":" -f2) + FunctionStart "开始收集服务器 管理端口 信息!" + local tmp_manage_ports + tmp_manage_ports=$(netstat -ntulp | grep sshd | grep -w tcp | grep -v "127.0.0.1" | awk '{print$4}' | cut -d":" -f2) - managePort=$(echo $tmpManagePorts | tr '\n' ' ') + manage_port=$(echo "$tmp_manage_ports" | tr '\n' ' ') - log "manage Port is => $managePort" + log "manage Port is => $manage_port" + + FunctionEnd } @@ -247,9 +260,9 @@ GetManagePort(){ # Arguments: # None ####################################### -GetIpv4Info() { +get_ipv4_info() { - log "start to get system public ip info !" + FunctionStart "开始收集服务器IP信息!" # public ip info org="$(wget -q -T10 -O- ipinfo.io/org)" @@ -259,148 +272,254 @@ GetIpv4Info() { public_ipv4="$(wget -q -T10 -O- ipinfo.io/ip)" public_ipv6="$(curl -q --max-time 5 -6 https://ifconfig.co/ip)" - if [ -z "$public_ipv4" ] ; then + if [ -z "$public_ipv4" ]; then public_ipv4=" " fi - if [ -z "$public_ipv6" ] ; then + if [ -z "$public_ipv6" ]; then public_ipv6=" " fi # inner ipinfo - export interface_prefix=("[[:space:]]eth[0-9]{1,2}" "[[:space:]]ens[0-9]{1,3}" "[[:space:]]eno[0-9]{1,3}" "[[:space:]]enp[0-9]{1,2}") - export real_interface="eth90" + local interface_prefix=("[[:space:]]eth[0-9]{1,2}" "[[:space:]]ens[0-9]{1,3}" "[[:space:]]eno[0-9]{1,3}" "[[:space:]]enp[0-9]{1,2}") + local real_interface="eth90" + local interface for interface in "${interface_prefix[@]}"; do - echo $(ip link show) | grep -oE ${interface} | head -1 - if [[ $? -eq 0 ]]; then - real_interface=$(echo $(ip link show) | grep -oE ${interface} | head -1 | cut -d" " -f2) + if ip link show | grep -oE "${interface}" | head -1; then + real_interface=$(ip link show | grep -oE "${interface}" | head -1 | cut -d" " -f2) echo "当前主机的真实内网网卡为 => [$real_interface]" break fi done # 提取IPv4地址(CIDR格式) - ipv4_regex="inet[[:space:]](25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/[0-9]{1,2}" + local ipv4_regex="inet[[:space:]](25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/[0-9]{1,2}" # 提取IPv6地址(CIDR格式) - ipv6_regex="inet6[[:space:]]([0-9a-fA-F]{0,4}(:[0-9a-fA-F]{0,4}){1,7})\/[0-9]{1,3}" + local ipv6_regex="inet6[[:space:]]([0-9a-fA-F]{0,4}(:[0-9a-fA-F]{0,4}){1,7})\/[0-9]{1,3}" # 查找IPv4地址 - inner_ipv4=$(echo $(ip addr show $real_interface) | grep -oE $ipv4_regex | cut -d" " -f2) + inner_ipv4=$(ip addr show "$real_interface" | grep -oE "$ipv4_regex" | cut -d" " -f2) echo "Interface: $real_interface, IPv4 Address: $inner_ipv4" # 查找IPv6地址 - inner_ipv6=$(echo $(ip addr show $real_interface) | grep -oE $ipv6_regex | cut -d" " -f2) + inner_ipv6=$(ip addr show "$real_interface" | grep -oE "$ipv6_regex" | cut -d" " -f2) echo "Interface: $real_interface, IPv4 Address: $inner_ipv6" + FunctionEnd + } -log "start to collect system info !" +####################################### +# description +# Globals: +# LANG +# arch +# c_cache +# cores +# cpu_aes +# cpu_name +# cpu_virt +# disk_total_size +# disk_used_size +# freq +# kern +# lbit +# load +# opsy +# swap +# tcp_ctrl +# tram +# unused_ram +# unused_swap +# up +# Arguments: +# None +####################################### +collect_system_info() { + FunctionStart "开始收集系统信息!" -check_sys + check_sys -cpuName=$(awk -F: '/model name/ {name=$2} END {print name}' /proc/cpuinfo | sed 's/^[ \t]*//;s/[ \t]*$//') -cores=$(awk -F: '/processor/ {core++} END {print core}' /proc/cpuinfo) -freq=$(awk -F'[ :]' '/cpu MHz/ {print $4;exit}' /proc/cpuinfo) -ccache=$(awk -F: '/cache size/ {cache=$2} END {print cache}' /proc/cpuinfo | sed 's/^[ \t]*//;s/[ \t]*$//') -cpu_aes=$(grep -i 'aes' /proc/cpuinfo) -cpu_virt=$(grep -Ei 'vmx|svm' /proc/cpuinfo) -tram=$( - LANG=C - free | awk '/Mem/ {print $2}' -) -tram=$(calc_size $tram) -uram=$( - LANG=C - free | awk '/Mem/ {print $3}' -) -uram=$(calc_size $uram) -swap=$( - LANG=C - free | awk '/Swap/ {print $2}' -) -swap=$(calc_size $swap) -uswap=$( - LANG=C - free | awk '/Swap/ {print $3}' -) -uswap=$(calc_size $uswap) -up=$(awk '{a=$1/86400;b=($1%86400)/3600;c=($1%3600)/60} {printf("%d days, %d hour %d min\n",a,b,c)}' /proc/uptime) -if command_exists "w"; then - load=$( + cpu_name=$(awk -F: '/model name/ {name=$2} END {print name}' /proc/cpuinfo | sed 's/^[ \t]*//;s/[ \t]*$//') + cores=$(awk -F: '/processor/ {core++} END {print core}' /proc/cpuinfo) + freq=$(awk -F'[ :]' '/cpu MHz/ {print $4;exit}' /proc/cpuinfo) + local c_cache + local cpu_aes + local cpu_virt + c_cache=$(awk -F: '/cache size/ {cache=$2} END {print cache}' /proc/cpuinfo | sed 's/^[ \t]*//;s/[ \t]*$//') + cpu_aes=$(grep -i 'aes' /proc/cpuinfo) + cpu_virt=$(grep -Ei 'vmx|svm' /proc/cpuinfo) + tram=$( LANG=C - w | head -1 | awk -F'load average:' '{print $2}' | sed 's/^[ \t]*//;s/[ \t]*$//' + free | awk '/Mem/ {print $2}' ) -elif command_exists "uptime"; then - load=$( + tram=$(calc_size "$tram") + local unused_ram + unused_ram=$( LANG=C - uptime | head -1 | awk -F'load average:' '{print $2}' | sed 's/^[ \t]*//;s/[ \t]*$//' + free | awk '/Mem/ {print $3}' ) -fi -opsy=$(GethostArchInfo) -arch=$(uname -m) -if command_exists "getconf"; then - lbit=$(getconf LONG_BIT) -else - echo ${arch} | grep -q "64" && lbit="64" || lbit="32" -fi -kern=$(uname -r) -disk_total_size=$( - LANG=C - df -t simfs -t ext2 -t ext3 -t ext4 -t btrfs -t xfs -t vfat -t ntfs -t swap --total 2>/dev/null | grep total | awk '{ print $2 }' -) -disk_total_size=$(calc_size $disk_total_size) -disk_used_size=$( - LANG=C - df -t simfs -t ext2 -t ext3 -t ext4 -t btrfs -t xfs -t vfat -t ntfs -t swap --total 2>/dev/null | grep total | awk '{ print $3 }' -) -disk_used_size=$(calc_size $disk_used_size) -tcpctrl=$(sysctl net.ipv4.tcp_congestion_control | awk -F ' ' '{print $3}') + unused_ram=$(calc_size "$unused_ram") + local swap + swap=$( + LANG=C + free | awk '/Swap/ {print $2}' + ) + swap=$(calc_size "$swap") + local unused_swap + unused_swap=$( + LANG=C + free | awk '/Swap/ {print $3}' + ) + unused_swap=$(calc_size "$unused_swap") + local up + up=$(awk '{a=$1/86400;b=($1%86400)/3600;c=($1%3600)/60} {printf("%d days, %d hour %d min\n",a,b,c)}' /proc/uptime) + local load + if command_exists "w"; then + load=$( + LANG=C + w | head -1 | awk -F'load average:' '{print $2}' | sed 's/^[ \t]*//;s/[ \t]*$//' + ) + elif command_exists "uptime"; then + load=$( + LANG=C + uptime | head -1 | awk -F'load average:' '{print $2}' | sed 's/^[ \t]*//;s/[ \t]*$//' + ) + fi + opsy=$(get_host_arch_info) + arch=$(uname -m) + local l_bit + if command_exists "getconf"; then + l_bit=$(getconf LONG_BIT) + else + echo "${arch}" | grep -q "64" && l_bit="64" || l_bit="32" + fi + kern=$(uname -r) + disk_total_size=$( + LANG=C + df -t simfs -t ext2 -t ext3 -t ext4 -t btrfs -t xfs -t vfat -t ntfs -t swap --total 2>/dev/null | grep total | awk '{ print $2 }' + ) + disk_total_size=$(calc_size "$disk_total_size") + disk_used_size=$( + LANG=C + df -t simfs -t ext2 -t ext3 -t ext4 -t btrfs -t xfs -t vfat -t ntfs -t swap --total 2>/dev/null | grep total | awk '{ print $3 }' + ) + disk_used_size=$(calc_size "$disk_used_size") + tcp_ctrl=$(sysctl net.ipv4.tcp_congestion_control | awk -F ' ' '{print $3}') -# todo -# StartIOTest + local machine_number="" + if [[ $(cut -d"-" -f 3 ${agent_version}" + fi + done -if [[ $(cat /etc/hostname | cut -d"-" -f 3 | grep -c '^[0-9][0-9]') -gt 0 ]]; then - machineNumber=$(cat /etc/hostname | cut -d"-" -f 3) -else - machineNumber=99 -fi -agentServerInfoFile="/octopus-agent/octopus-agent.conf" + FunctionEnd +} -#cat >/etc/environment.d/octopus-agent.conf <"$agentServerInfoFile"<"$agent_server_info_file" < $agentServerInfoFile" + log "agent server info has collect complete!" + log "file is => $agent_server_info_file" +} + +main diff --git a/Public/lib/wdd-lib-sys.sh b/Public/lib/wdd-lib-sys.sh index 486b77f..93bc936 100644 --- a/Public/lib/wdd-lib-sys.sh +++ b/Public/lib/wdd-lib-sys.sh @@ -1,20 +1,25 @@ #!/bin/bash -if [[ ! -f /root/wdd/lib/wdd-lib-log.sh ]]; then - wget https://oss-s1.107421.xyz/wdd-lib-log.sh -O /root/wdd/lib/wdd-lib-log.sh -fi -. /root/wdd/lib/wdd-lib-log.sh - +oss_url_prefix="https://oss-s1.107421.xyz" +octopus_agent_path=/usr/local/etc/octpus-agent/ +echo "" +echo "" +lib_file_list=(wdd-lib-log.sh) +for lib_file in ${lib_file_list[@]}; do + wget "${oss_url_prefix}/${lib_file}" -qO "${octopus_agent_path}/lib/${lib_file}" + echo "加载库文件 < ${octopus_agent_path}/lib/${lib_file}" + . "${octopus_agent_path}/lib/${lib_file}" +done # 系统相关 linux_release_version="" linux_release="" -OS_BIT="" -CMD_INSTALL="apt-get -y -qq install" -CMD_UPDATE="apt-get -qq update" -CMD_REMOVE="apt-get -y remove" -SOFTWARE_UPDATED=0 +os_bit="" +cmd_install="apt-get -y -qq --allow-downgrades install" +cmd_update="apt-get -qq update" +cmd_remove="apt-get -y remove" +software_updated=0 # 判断命令是否存在 command_exists() { @@ -26,7 +31,7 @@ check_root() { FunctionStart "判定Root用户!" if [[ $EUID != 0 ]]; then colorEchoRed "当前非root账号(或没有root权限),无法继续操作,请更换root账号!" - colorEcho ${YELLOW} "使用sudo -命令获取临时root权限(执行后可能会提示输入root密码)" + colorEchoYellow "使用sudo -命令获取临时root权限(执行后可能会提示输入root密码)" exit 1 else log "当前为root账号 !" @@ -42,27 +47,27 @@ check_sys() { # local shell_width=$(stty size | awk '{print $2}') # SplitLine=$(yes "-" | sed "${shell_width}"'q' | tr -d '\n') - + local sys_bit sys_bit=$(uname -m) case $sys_bit in i[36]86) - OS_BIT="32" + os_bit="32" linux_release="386" ;; x86_64) - OS_BIT="64" + os_bit="64" linux_release="amd64" ;; *armv6*) - OS_BIT="arm" + os_bit="arm" linux_release="arm6" ;; *armv7*) - OS_BIT="arm" + os_bit="arm" linux_release="arm7" ;; *aarch64* | *armv8*) - OS_BIT="arm64" + os_bit="arm64" linux_release="arm64" ;; *) @@ -72,7 +77,7 @@ check_sys() { " && exit 1 ;; esac - log "获取的系统信息如下: OS_BIT => ${OS_BIT} LinuxRelease => $linux_release" + log "获取的系统信息如下: OS_BIT => ${os_bit} LinuxRelease => $linux_release" ## 判定Linux的发行版本 if [ -f /etc/redhat-release ]; then @@ -95,19 +100,19 @@ check_sys() { log "系统参数信息如下: LinuxReleaseVersion => $linux_release_version" # 判断系统的包管理工具 apt, yum, or zypper - getPackageManageTool() { + get_package_manage_tool() { if [[ -n $(command -v apt-get) ]]; then - CMD_INSTALL="apt-get -y -qq install" - CMD_UPDATE="apt-get -qq update" - CMD_REMOVE="apt-get -y remove" + cmd_install="apt-get -y -qq install" + cmd_update="apt-get -qq update" + cmd_remove="apt-get -y remove" elif [[ -n $(command -v yum) ]]; then - CMD_INSTALL="yum -y -q install" - CMD_UPDATE="yum -q makecache" - CMD_REMOVE="yum -y remove" + cmd_install="yum -y -q install" + cmd_update="yum -q makecache" + cmd_remove="yum -y remove" elif [[ -n $(command -v zypper) ]]; then - CMD_INSTALL="zypper -y install" - CMD_UPDATE="zypper ref" - CMD_REMOVE="zypper -y remove" + cmd_install="zypper -y install" + cmd_update="zypper ref" + cmd_remove="zypper -y remove" else return 1 fi @@ -115,20 +120,27 @@ check_sys() { } # 检查系统包管理方式,更新包 - getPackageManageTool + get_package_manage_tool if [[ $? -eq 1 ]]; then error "系统的包管理不是 APT or YUM, 请手动安装所需要的软件." return 1 fi - log "系统包管理工具为 => $CMD_INSTALL" + log "系统包管理工具为 => $cmd_install" ### 更新程序引索 - if [[ $SOFTWARE_UPDATED -eq 0 ]]; then + if [[ $software_updated -eq 0 ]]; then log "正在更新软件包管理...可能花费较长时间…………" - $CMD_UPDATE - SOFTWARE_UPDATED=1 + $cmd_update + software_updated=1 fi FunctionEnd -} \ No newline at end of file +} + +# main +main() { + log "sys脚本被调用了!" +} + +main diff --git a/Public/mid-script.sh b/Public/mid-script.sh index acc186c..039c09a 100644 --- a/Public/mid-script.sh +++ b/Public/mid-script.sh @@ -1,28 +1,25 @@ #!/bin/bash -. - - ## 对外暴露的安装Redis的主函数 -InstallRedis() { +install_redis() { FunctionStart - RedisPort="6379" - RedisInstallMethod="binary" - RedisInstallHelp="0" + local redis_port="6379" + local redis_install_method="binary" + local redis_install_help="0" - while [[ $# > 0 ]]; do + while [[ $# -gt 0 ]]; do case "$1" in -p | --port) - RedisPort="${2}" + redis_port="${2}" shift # past argument ;; -m | --method) - RedisInstallMethod="${2}" + redis_install_method="${2}" shift # past argument ;; -h | --help) - RedisInstallHelp="1" + redis_install_help="1" ;; *) echo "输入的内容有误,请检查!" @@ -32,7 +29,7 @@ InstallRedis() { shift # past argument or value done - if [ "${RedisInstallHelp}" -eq "1" ]; then + if [ "${redis_install_help}" -eq "1" ]; then cat - 1>&2 < 0 ]]; do + while [[ $# -gt 0 ]]; do case "$1" in -p | --port) MysqlPort="${2}" @@ -312,7 +328,7 @@ InstallJDK() { JDK_Install_Method="binary" JDKInstallHelp="0" - while [[ $# > 0 ]]; do + while [[ $# -gt 0 ]]; do case "$1" in -v | --version) JDK_VERSION="${2}" @@ -439,3 +455,21 @@ installJDKPackage() { java -version } + +install_golang_1.21.3(){ + FunctionStart "开始安装Golang运行环境!" + + wget --timeout=10 -q https://go.dev/dl/go1.21.3.linux-amd64.tar.gz + + rm -rf /usr/local/go && tar -C /usr/local -xzf go1.21.3.linux-amd64.tar.gz + + log "开始配置环境变量!" + sed -i "$ a export GOPATH=/usr/local/go" /etc/profile + sed -i "$ a PATH=$PATH:/usr/local/go/bin" /etc/profile + + source /etc/profile + + log "查看golang的版本!" + go version + +} diff --git a/部署应用/Oracle-Cloud/openai-reverse-proxy/openai-web-dockercompose.yaml b/部署应用/Oracle-Cloud/openai-reverse-proxy/openai-web-dockercompose.yaml new file mode 100644 index 0000000..ce1af86 --- /dev/null +++ b/部署应用/Oracle-Cloud/openai-reverse-proxy/openai-web-dockercompose.yaml @@ -0,0 +1,11 @@ +version: '3.9' +services: + chatgpt-next-web: + container_name: chatgpt-next-web + image: yidadaa/chatgpt-next-web + ports: + - 3002:3000 + environment: + - OPENAI_API_KEY=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 + - CODE=lovemm.23 + - HIDE_USER_API_KEY=1 \ No newline at end of file