[ agent ] [ agent ] - agent bootup optimize
This commit is contained in:
@@ -6,6 +6,7 @@ import io.wdd.agent.executor.thread.LogToArrayListCache;
|
|||||||
import io.wdd.common.beans.executor.ExecutionMessage;
|
import io.wdd.common.beans.executor.ExecutionMessage;
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@@ -86,12 +87,17 @@ public class CommandExecutor {
|
|||||||
// start to send the result log
|
// start to send the result log
|
||||||
streamSender.startToWaitLog(streamKey);
|
streamSender.startToWaitLog(streamKey);
|
||||||
|
|
||||||
// get the command result
|
// get the command result must also be a timeout smaller than the process
|
||||||
processResult = process.waitFor();
|
boolean waitFor = process.waitFor(processMaxWaitSeconds, TimeUnit.SECONDS);
|
||||||
|
|
||||||
// end send logs
|
// end send logs
|
||||||
streamSender.endWaitLog(streamKey);
|
streamSender.endWaitLog(streamKey);
|
||||||
|
|
||||||
|
// get the process result
|
||||||
|
if (ObjectUtils.isNotEmpty(waitFor) && ObjectUtils.isNotEmpty(process)) {
|
||||||
|
processResult = process.exitValue();
|
||||||
|
}
|
||||||
|
|
||||||
log.debug("current shell command {} result is {}", processBuilder.command(), processResult);
|
log.debug("current shell command {} result is {}", processBuilder.command(), processResult);
|
||||||
|
|
||||||
|
|
||||||
@@ -106,7 +112,6 @@ public class CommandExecutor {
|
|||||||
return () -> {
|
return () -> {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
|
||||||
log.debug("daemon thread start to wait for {} s for the result", processMaxWaitSeconds);
|
log.debug("daemon thread start to wait for {} s for the result", processMaxWaitSeconds);
|
||||||
|
|
||||||
TimeUnit.SECONDS.sleep(processMaxWaitSeconds);
|
TimeUnit.SECONDS.sleep(processMaxWaitSeconds);
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ public class CollectAllExecutorFunction {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* store the Octopus Agent Functions and Reflection Class Path
|
* store the Octopus Agent Functions and Function Command List
|
||||||
* key: function name
|
* key: function name
|
||||||
* value: function shell List<String> contend
|
* value: function shell List<String> contend
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
##### environment variables ######
|
##### environment variables ######
|
||||||
|
|
||||||
|
|
||||||
JAVA_OPTS="-Xms128m -Xmx512m -Dfile.encoding=utf-8 --spring.profiles.active=k3s --spring.cloud.nacos.config.group=k3s --spring.cloud.nacos.config.extension-configs[0].dataId=common-k3s.yaml --spring.cloud.nacos.config.extension-configs[0].group=k3s"
|
JAVA_OPTS="-Xms128m -Xmx512m -Dfile.encoding=utf-8 --spring.profiles.active=k3s --spring.cloud.nacos.config.group=k3s --spring.cloud.nacos.config.extension-configs[0].dataId=common-k3s.yaml --spring.cloud.nacos.config.extension-configs[0].group=k3s"
|
||||||
|
|
||||||
DependLibFiles=(
|
DependLibFiles=(
|
||||||
@@ -41,6 +40,15 @@ colorEcho() {
|
|||||||
echo -e "\033[${1}${@:2}\033[0m" 1>&2
|
echo -e "\033[${1}${@:2}\033[0m" 1>&2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#######################################
|
||||||
|
# description
|
||||||
|
# Globals:
|
||||||
|
# EUID
|
||||||
|
# RED
|
||||||
|
# YELLOW
|
||||||
|
# Arguments:
|
||||||
|
# None
|
||||||
|
#######################################
|
||||||
check_root() {
|
check_root() {
|
||||||
if [[ $EUID != 0 ]]; then
|
if [[ $EUID != 0 ]]; then
|
||||||
colorEcho ${RED} "当前非root账号(或没有root权限),无法继续操作,请更换root账号!"
|
colorEcho ${RED} "当前非root账号(或没有root权限),无法继续操作,请更换root账号!"
|
||||||
@@ -49,17 +57,41 @@ check_root() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#######################################
|
||||||
|
# description
|
||||||
|
# Globals:
|
||||||
|
# PURPLE
|
||||||
|
# SplitLine
|
||||||
|
# Arguments:
|
||||||
|
# None
|
||||||
|
#######################################
|
||||||
FunctionStart() {
|
FunctionStart() {
|
||||||
colorEcho ${PURPLE} ${SplitLine}
|
colorEcho ${PURPLE} ${SplitLine}
|
||||||
colorEcho ${PURPLE} ${SplitLine}
|
colorEcho ${PURPLE} ${SplitLine}
|
||||||
echo ""
|
echo ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#######################################
|
||||||
|
# description
|
||||||
|
# Globals:
|
||||||
|
# GREEN
|
||||||
|
# SplitLine
|
||||||
|
# Arguments:
|
||||||
|
# None
|
||||||
|
#######################################
|
||||||
FunctionSuccess() {
|
FunctionSuccess() {
|
||||||
colorEcho ${GREEN} ${SplitLine}
|
colorEcho ${GREEN} ${SplitLine}
|
||||||
echo ""
|
echo ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#######################################
|
||||||
|
# description
|
||||||
|
# Globals:
|
||||||
|
# BlinkGreen
|
||||||
|
# SplitLine
|
||||||
|
# Arguments:
|
||||||
|
# None
|
||||||
|
#######################################
|
||||||
FunctionEnd() {
|
FunctionEnd() {
|
||||||
echo ""
|
echo ""
|
||||||
colorEcho ${BlinkGreen} ${SplitLine}
|
colorEcho ${BlinkGreen} ${SplitLine}
|
||||||
@@ -187,6 +219,18 @@ installDemandSoftwares() {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#######################################
|
||||||
|
# description
|
||||||
|
# Globals:
|
||||||
|
# BLUE
|
||||||
|
# DependLibFiles
|
||||||
|
# OctopusAgentPath
|
||||||
|
# RED
|
||||||
|
# RepoSourcePath
|
||||||
|
# libfile
|
||||||
|
# Arguments:
|
||||||
|
# None
|
||||||
|
#######################################
|
||||||
DownloadAllFile() {
|
DownloadAllFile() {
|
||||||
|
|
||||||
FunctionStart
|
FunctionStart
|
||||||
@@ -202,7 +246,7 @@ DownloadAllFile() {
|
|||||||
for libfile in ${DependLibFiles[*]}; do
|
for libfile in ${DependLibFiles[*]}; do
|
||||||
|
|
||||||
colorEcho $BLUE "lib file is $libfile"
|
colorEcho $BLUE "lib file is $libfile"
|
||||||
wget "$RepoSourcePath/lib/$libfile" -Oq $OctopusAgentPath/lib/$libfile
|
wget "$RepoSourcePath/lib/$libfile" -qO $OctopusAgentPath/lib/$libfile
|
||||||
FunctionSuccess
|
FunctionSuccess
|
||||||
|
|
||||||
done
|
done
|
||||||
@@ -220,8 +264,15 @@ DownloadAllFile() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#######################################
|
||||||
ModifySystemConfig(){
|
# description
|
||||||
|
# Globals:
|
||||||
|
# BLUE
|
||||||
|
# GREEN
|
||||||
|
# Arguments:
|
||||||
|
# None
|
||||||
|
#######################################
|
||||||
|
ModifySystemConfig() {
|
||||||
FunctionStart
|
FunctionStart
|
||||||
|
|
||||||
colorEcho ${BLUE} "开始修改系统内核参数…………"
|
colorEcho ${BLUE} "开始修改系统内核参数…………"
|
||||||
@@ -236,13 +287,20 @@ EOF
|
|||||||
colorEcho ${GREEN} "--------------系统内核参数修改的结果如上所示----------------"
|
colorEcho ${GREEN} "--------------系统内核参数修改的结果如上所示----------------"
|
||||||
FunctionSuccess
|
FunctionSuccess
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#######################################
|
||||||
|
# description
|
||||||
|
# Globals:
|
||||||
|
# BLUE
|
||||||
|
# JDK_VERSION
|
||||||
|
# LinuxReleaseVersion
|
||||||
|
# Arguments:
|
||||||
|
# 1
|
||||||
|
#######################################
|
||||||
InstallJDKPackage() {
|
InstallJDKPackage() {
|
||||||
JDK_VERSION="11"
|
JDK_VERSION="11"
|
||||||
if [[ "$1" -ne " " ]]; then
|
if [[ $1 -ne " " ]]; then
|
||||||
JDK_VERSION="$1"
|
JDK_VERSION="$1"
|
||||||
echo "JDK Version = ${JDK_VERSION}"
|
echo "JDK Version = ${JDK_VERSION}"
|
||||||
fi
|
fi
|
||||||
@@ -250,7 +308,7 @@ InstallJDKPackage() {
|
|||||||
echo "InstallJDK from package management !"
|
echo "InstallJDK from package management !"
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
if [[ "${LinuxReleaseVersion}" == "centos" ]]; then
|
if [[ ${LinuxReleaseVersion} == "centos" ]]; then
|
||||||
colorEcho ${BLUE} "当前系统发行版为 centos !"
|
colorEcho ${BLUE} "当前系统发行版为 centos !"
|
||||||
colorEcho ${BLUE} "可以安装的 openjdk 版本为:"
|
colorEcho ${BLUE} "可以安装的 openjdk 版本为:"
|
||||||
yum list java-${JDK_VERSION}-openjdk | grep ${JDK_VERSION}
|
yum list java-${JDK_VERSION}-openjdk | grep ${JDK_VERSION}
|
||||||
@@ -273,7 +331,14 @@ InstallJDKPackage() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
systemdAgent(){
|
#######################################
|
||||||
|
# description
|
||||||
|
# Globals:
|
||||||
|
# JAVA_OPTS
|
||||||
|
# Arguments:
|
||||||
|
# None
|
||||||
|
#######################################
|
||||||
|
systemdAgent() {
|
||||||
|
|
||||||
# https://www.baeldung.com/linux/run-java-application-as-service
|
# https://www.baeldung.com/linux/run-java-application-as-service
|
||||||
|
|
||||||
@@ -297,15 +362,15 @@ ExecStop=/bin/kill -15 \$MAINPID
|
|||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# https://www.benzhu.xyz/linux12/
|
# https://www.benzhu.xyz/linux12/
|
||||||
cat >/etc/rsyslog.d/octopus-agent.conf <<EOF
|
cat >/etc/rsyslog.d/octopus-agent.conf <<EOF
|
||||||
if \$programname == 'octopus-agent' then /var/log/octopus-agent.log
|
if \$programname == 'octopus-agent' then /var/log/octopus-agent.log
|
||||||
& stop
|
& stop
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
rsyslogd -N1 -f /etc/rsyslog.d/octopus-agent.conf
|
rsyslogd -N1 -f /etc/rsyslog.d/octopus-agent.conf
|
||||||
|
|
||||||
systemctl restart rsyslog
|
systemctl restart rsyslog
|
||||||
}
|
}
|
||||||
|
|
||||||
## 为了本脚本能够满足Ubuntu系统,做出设当的更改
|
## 为了本脚本能够满足Ubuntu系统,做出设当的更改
|
||||||
@@ -327,8 +392,15 @@ CommonToolInstall() {
|
|||||||
FunctionEnd
|
FunctionEnd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#######################################
|
||||||
BootUPAgent(){
|
# description
|
||||||
|
# Globals:
|
||||||
|
# BLUE
|
||||||
|
# OctopusAgentPath
|
||||||
|
# Arguments:
|
||||||
|
# None
|
||||||
|
#######################################
|
||||||
|
BootUPAgent() {
|
||||||
|
|
||||||
FunctionStart
|
FunctionStart
|
||||||
|
|
||||||
@@ -345,34 +417,45 @@ BootUPAgent(){
|
|||||||
systemctl enable octopus-agent.service
|
systemctl enable octopus-agent.service
|
||||||
systemctl start octopus-agent.service
|
systemctl start octopus-agent.service
|
||||||
|
|
||||||
#
|
#
|
||||||
# systemctl restart octopus-agent.service
|
# systemctl restart octopus-agent.service
|
||||||
# systemctl status octopus-agent.service -l
|
# systemctl status octopus-agent.service -l
|
||||||
#tail -f 500 /var/log/octopus-agent.log
|
#tail -f 500 /var/log/octopus-agent.log
|
||||||
|
|
||||||
FunctionSuccess
|
FunctionSuccess
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#######################################
|
||||||
|
# description
|
||||||
|
# Globals:
|
||||||
|
# BLUE
|
||||||
|
# RED
|
||||||
|
# i
|
||||||
|
# Arguments:
|
||||||
|
# 1
|
||||||
|
# Returns:
|
||||||
|
# $? ...
|
||||||
|
#######################################
|
||||||
InstallZSH() {
|
InstallZSH() {
|
||||||
FunctionStart
|
FunctionStart
|
||||||
|
|
||||||
ZSH_SOURCE="us"
|
local ZSH_SOURCE="us"
|
||||||
|
|
||||||
if [[ "$1" -ne " " ]]; then
|
if [[ $1 -ne " " ]]; then
|
||||||
ZSH_SOURCE="$1"
|
ZSH_SOURCE="$1"
|
||||||
echo "zsh install source = ${ZSH_SOURCE}"
|
colorEcho ${BLUE} "zsh install source = ${ZSH_SOURCE}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
colorEcho ${BLUE} "开始安装宇宙第一shell工具zsh……"
|
colorEcho ${BLUE} "开始安装宇宙第一shell工具zsh……"
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
installDemandSoftwares zsh git || return $?
|
installDemandSoftwares zsh git || return $?
|
||||||
# 脚本会自动更换默认的shell
|
# 脚本会自动更换默认的shell
|
||||||
if [[ "${ZSH_SOURCE}" -eq "cn" ]]; then
|
if [[ ${ZSH_SOURCE} -eq "us" ]]; then
|
||||||
echo y | REMOTE=https://gitee.com/mirrors/oh-my-zsh.git sh -c "$(curl -fsSL https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"
|
|
||||||
else
|
|
||||||
echo y | sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
|
echo y | sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
|
||||||
|
else
|
||||||
|
echo y | REMOTE=https://gitee.com/mirrors/oh-my-zsh.git sh -c "$(curl -fsSL https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"
|
||||||
fi
|
fi
|
||||||
#echo y | sh -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/robbyrussell/oh-my-zsh@master/tools/install.sh)"
|
#echo y | sh -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/robbyrussell/oh-my-zsh@master/tools/install.sh)"
|
||||||
echo ""
|
echo ""
|
||||||
@@ -391,12 +474,22 @@ InstallZSH() {
|
|||||||
FunctionEnd
|
FunctionEnd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#######################################
|
||||||
|
# description
|
||||||
|
# Globals:
|
||||||
|
# BLUE
|
||||||
|
# GREEN
|
||||||
|
# PURPLE
|
||||||
|
# ZSH_SOURCE
|
||||||
|
# Arguments:
|
||||||
|
# 1
|
||||||
|
#######################################
|
||||||
modifyZSH() {
|
modifyZSH() {
|
||||||
FunctionStart
|
FunctionStart
|
||||||
|
|
||||||
ZSH_SOURCE="us"
|
ZSH_SOURCE="us"
|
||||||
|
|
||||||
if [[ "$1" -ne " " ]]; then
|
if [[ $1 -ne " " ]]; then
|
||||||
ZSH_SOURCE="$1"
|
ZSH_SOURCE="$1"
|
||||||
echo "zsh install source = ${ZSH_SOURCE}"
|
echo "zsh install source = ${ZSH_SOURCE}"
|
||||||
fi
|
fi
|
||||||
@@ -412,21 +505,23 @@ EOF
|
|||||||
colorEcho ${BLUE} "正在下载zsh的一些好用的插件:"
|
colorEcho ${BLUE} "正在下载zsh的一些好用的插件:"
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
if [[ "${ZSH_SOURCE}" -eq "cn" ]]; then
|
if [[ ${ZSH_SOURCE} -eq "us" ]]; then
|
||||||
colorEcho ${BLUE} "开始从 Gitee 下载 自动补全 插件…………"
|
|
||||||
git clone https://gitee.com/githubClone/zsh-autosuggestions.git ~/.oh-my-zsh/plugins/zsh-autosuggestions
|
|
||||||
else
|
|
||||||
colorEcho ${BLUE} "开始从 GitHub 下载 自动补全 插件…………"
|
colorEcho ${BLUE} "开始从 GitHub 下载 自动补全 插件…………"
|
||||||
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/plugins/zsh-autosuggestions
|
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/plugins/zsh-autosuggestions
|
||||||
|
|
||||||
|
else
|
||||||
|
colorEcho ${BLUE} "开始从 Gitee 下载 自动补全 插件…………"
|
||||||
|
git clone https://gitee.com/githubClone/zsh-autosuggestions.git ~/.oh-my-zsh/plugins/zsh-autosuggestions
|
||||||
fi
|
fi
|
||||||
FunctionSuccess
|
FunctionSuccess
|
||||||
|
|
||||||
if [[ "${ZSH_SOURCE}" -eq "cn" ]]; then
|
if [[ ${ZSH_SOURCE} -eq "us" ]]; then
|
||||||
colorEcho ${BLUE} "开始从 Gitee 下载 命令高亮 插件…………"
|
|
||||||
git clone https://gitee.com/mo2/zsh-syntax-highlighting.git ~/.oh-my-zsh/plugins/zsh-syntax-highlighting
|
|
||||||
else
|
|
||||||
colorEcho ${BLUE} "开始从 GitHub 下载 命令高亮 插件…………"
|
colorEcho ${BLUE} "开始从 GitHub 下载 命令高亮 插件…………"
|
||||||
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/plugins/zsh-syntax-highlighting
|
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/plugins/zsh-syntax-highlighting
|
||||||
|
|
||||||
|
else
|
||||||
|
colorEcho ${BLUE} "开始从 Gitee 下载 命令高亮 插件…………"
|
||||||
|
git clone https://gitee.com/mo2/zsh-syntax-highlighting.git ~/.oh-my-zsh/plugins/zsh-syntax-highlighting
|
||||||
fi
|
fi
|
||||||
FunctionSuccess
|
FunctionSuccess
|
||||||
|
|
||||||
@@ -463,8 +558,12 @@ EOF
|
|||||||
FunctionSuccess
|
FunctionSuccess
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#######################################
|
||||||
main(){
|
# description
|
||||||
|
# Arguments:
|
||||||
|
# None
|
||||||
|
#######################################
|
||||||
|
main() {
|
||||||
|
|
||||||
check_root
|
check_root
|
||||||
check_sys
|
check_sys
|
||||||
@@ -477,11 +576,10 @@ main(){
|
|||||||
|
|
||||||
DownloadAllFile
|
DownloadAllFile
|
||||||
|
|
||||||
InstallZSH "us"
|
|
||||||
|
|
||||||
BootUPAgent
|
BootUPAgent
|
||||||
|
|
||||||
|
InstallZSH "us"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
main
|
main
|
||||||
@@ -1,13 +1,11 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
. /octopus-agent/shell/lib/wdd-lib-log.sh
|
. /octopus-agent/shell/lib/wdd-lib-log.sh
|
||||||
. /octopus-agent/shell/lib/wdd-lib-sys.sh
|
. /octopus-agent/shell/lib/wdd-lib-sys.sh
|
||||||
|
|
||||||
#. .wdd-lib-log.sh
|
#. .wdd-lib-log.sh
|
||||||
#. .wdd-lib-sys.sh
|
#. .wdd-lib-sys.sh
|
||||||
|
|
||||||
|
|
||||||
hostArchVersion=""
|
hostArchVersion=""
|
||||||
hostArch=""
|
hostArch=""
|
||||||
#### CollectSystemInfo ####
|
#### CollectSystemInfo ####
|
||||||
@@ -41,11 +39,22 @@ city=""
|
|||||||
org=""
|
org=""
|
||||||
#### CollectSystemInfo ####
|
#### CollectSystemInfo ####
|
||||||
|
|
||||||
|
#######################################
|
||||||
|
# description
|
||||||
|
# Arguments:
|
||||||
|
# 1
|
||||||
|
#######################################
|
||||||
GoIOTest() {
|
GoIOTest() {
|
||||||
(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]*$//'
|
(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]*$//'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#######################################
|
||||||
|
# description
|
||||||
|
# Arguments:
|
||||||
|
# 1
|
||||||
|
# Returns:
|
||||||
|
# <unknown> ...
|
||||||
|
#######################################
|
||||||
calc_size() {
|
calc_size() {
|
||||||
local raw=$1
|
local raw=$1
|
||||||
local total_size=0
|
local total_size=0
|
||||||
@@ -72,12 +81,35 @@ calc_size() {
|
|||||||
echo "${total_size} ${unit}"
|
echo "${total_size} ${unit}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#######################################
|
||||||
|
# description
|
||||||
|
# Arguments:
|
||||||
|
# None
|
||||||
|
# Returns:
|
||||||
|
# <unknown> ...
|
||||||
|
#######################################
|
||||||
GethostArchInfo() {
|
GethostArchInfo() {
|
||||||
[ -f /etc/redhat-release ] && awk '{print $0}' /etc/redhat-release && return
|
[ -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/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
|
[ -f /etc/lsb-release ] && awk -F'[="]+' '/DESCRIPTION/{print $2}' /etc/lsb-release && return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#######################################
|
||||||
|
# description
|
||||||
|
# Globals:
|
||||||
|
# freespace
|
||||||
|
# io1
|
||||||
|
# io2
|
||||||
|
# io3
|
||||||
|
# ioall
|
||||||
|
# ioavg
|
||||||
|
# ioraw1
|
||||||
|
# ioraw2
|
||||||
|
# ioraw3
|
||||||
|
# writemb
|
||||||
|
# Arguments:
|
||||||
|
# None
|
||||||
|
#######################################
|
||||||
StartIOTest() {
|
StartIOTest() {
|
||||||
log "start IO speed test !"
|
log "start IO speed test !"
|
||||||
freespace=$(df -m . | awk 'NR==2 {print $4}')
|
freespace=$(df -m . | awk 'NR==2 {print $4}')
|
||||||
@@ -105,12 +137,22 @@ StartIOTest() {
|
|||||||
echo " $(_red "Not enough space for I/O Speed test!")"
|
echo " $(_red "Not enough space for I/O Speed test!")"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#######################################
|
||||||
|
# description
|
||||||
|
# Globals:
|
||||||
|
# cpuName
|
||||||
|
# sys_manu
|
||||||
|
# sys_product
|
||||||
|
# sys_ver
|
||||||
|
# virt
|
||||||
|
# virtualx
|
||||||
|
# Arguments:
|
||||||
|
# None
|
||||||
|
#######################################
|
||||||
Check_Virtualization() {
|
Check_Virtualization() {
|
||||||
|
|
||||||
|
|
||||||
log "start to check host virtualization !"
|
log "start to check host virtualization !"
|
||||||
|
|
||||||
command_exists "dmesg" && virtualx="$(dmesg 2>/dev/null)"
|
command_exists "dmesg" && virtualx="$(dmesg 2>/dev/null)"
|
||||||
@@ -131,21 +173,21 @@ Check_Virtualization() {
|
|||||||
virt="LXC"
|
virt="LXC"
|
||||||
elif [[ -f /proc/user_beancounters ]]; then
|
elif [[ -f /proc/user_beancounters ]]; then
|
||||||
virt="OpenVZ"
|
virt="OpenVZ"
|
||||||
elif [[ "${virtualx}" == *kvm-clock* ]]; then
|
elif [[ ${virtualx} == *kvm-clock* ]]; then
|
||||||
virt="KVM"
|
virt="KVM"
|
||||||
elif [[ "${sys_product}" == *KVM* ]]; then
|
elif [[ ${sys_product} == *KVM* ]]; then
|
||||||
virt="KVM"
|
virt="KVM"
|
||||||
elif [[ "${cpuName}" == *KVM* ]]; then
|
elif [[ ${cpuName} == *KVM* ]]; then
|
||||||
virt="KVM"
|
virt="KVM"
|
||||||
elif [[ "${cpuName}" == *QEMU* ]]; then
|
elif [[ ${cpuName} == *QEMU* ]]; then
|
||||||
virt="KVM"
|
virt="KVM"
|
||||||
elif [[ "${virtualx}" == *"VMware Virtual Platform"* ]]; then
|
elif [[ ${virtualx} == *"VMware Virtual Platform"* ]]; then
|
||||||
virt="VMware"
|
virt="VMware"
|
||||||
elif [[ "${sys_product}" == *"VMware Virtual Platform"* ]]; then
|
elif [[ ${sys_product} == *"VMware Virtual Platform"* ]]; then
|
||||||
virt="VMware"
|
virt="VMware"
|
||||||
elif [[ "${virtualx}" == *"Parallels Software International"* ]]; then
|
elif [[ ${virtualx} == *"Parallels Software International"* ]]; then
|
||||||
virt="Parallels"
|
virt="Parallels"
|
||||||
elif [[ "${virtualx}" == *VirtualBox* ]]; then
|
elif [[ ${virtualx} == *VirtualBox* ]]; then
|
||||||
virt="VirtualBox"
|
virt="VirtualBox"
|
||||||
elif [[ -e /proc/xen ]]; then
|
elif [[ -e /proc/xen ]]; then
|
||||||
if grep -q "control_d" "/proc/xen/capabilities" 2>/dev/null; then
|
if grep -q "control_d" "/proc/xen/capabilities" 2>/dev/null; then
|
||||||
@@ -155,9 +197,9 @@ Check_Virtualization() {
|
|||||||
fi
|
fi
|
||||||
elif [ -f "/sys/hypervisor/type" ] && grep -q "xen" "/sys/hypervisor/type"; then
|
elif [ -f "/sys/hypervisor/type" ] && grep -q "xen" "/sys/hypervisor/type"; then
|
||||||
virt="Xen"
|
virt="Xen"
|
||||||
elif [[ "${sys_manu}" == *"Microsoft Corporation"* ]]; then
|
elif [[ ${sys_manu} == *"Microsoft Corporation"* ]]; then
|
||||||
if [[ "${sys_product}" == *"Virtual Machine"* ]]; then
|
if [[ ${sys_product} == *"Virtual Machine"* ]]; then
|
||||||
if [[ "${sys_ver}" == *"7.0"* || "${sys_ver}" == *"Hyper-V" ]]; then
|
if [[ ${sys_ver} == *"7.0"* || ${sys_ver} == *"Hyper-V" ]]; then
|
||||||
virt="Hyper-V"
|
virt="Hyper-V"
|
||||||
else
|
else
|
||||||
virt="Microsoft Virtual Machine"
|
virt="Microsoft Virtual Machine"
|
||||||
@@ -167,12 +209,21 @@ Check_Virtualization() {
|
|||||||
virt="Dedicated"
|
virt="Dedicated"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#######################################
|
||||||
|
# description
|
||||||
|
# Globals:
|
||||||
|
# city
|
||||||
|
# country
|
||||||
|
# org
|
||||||
|
# public_ipv4
|
||||||
|
# region
|
||||||
|
# Arguments:
|
||||||
|
# None
|
||||||
|
#######################################
|
||||||
GetIpv4Info() {
|
GetIpv4Info() {
|
||||||
|
|
||||||
|
|
||||||
log "start to get system public ip info !"
|
log "start to get system public ip info !"
|
||||||
|
|
||||||
org="$(wget -q -T10 -O- ipinfo.io/org)"
|
org="$(wget -q -T10 -O- ipinfo.io/org)"
|
||||||
@@ -181,10 +232,8 @@ GetIpv4Info() {
|
|||||||
region="$(wget -q -T10 -O- ipinfo.io/region)"
|
region="$(wget -q -T10 -O- ipinfo.io/region)"
|
||||||
public_ipv4="$(wget -q -T10 -O- ipinfo.io/ip)"
|
public_ipv4="$(wget -q -T10 -O- ipinfo.io/ip)"
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
log "start to collect system info !"
|
log "start to collect system info !"
|
||||||
|
|
||||||
check_sys
|
check_sys
|
||||||
@@ -247,7 +296,6 @@ disk_used_size=$(
|
|||||||
disk_used_size=$(calc_size $disk_used_size)
|
disk_used_size=$(calc_size $disk_used_size)
|
||||||
tcpctrl=$(sysctl net.ipv4.tcp_congestion_control | awk -F ' ' '{print $3}')
|
tcpctrl=$(sysctl net.ipv4.tcp_congestion_control | awk -F ' ' '{print $3}')
|
||||||
|
|
||||||
|
|
||||||
# todo
|
# todo
|
||||||
# StartIOTest
|
# StartIOTest
|
||||||
|
|
||||||
@@ -262,7 +310,7 @@ if [[ $(cat /etc/hostname | cut -d"-" -f 3 | grep -c '^[0-9][0-9]') -gt 0 ]]; th
|
|||||||
else
|
else
|
||||||
machineNumber=99
|
machineNumber=99
|
||||||
fi
|
fi
|
||||||
cat >/etc/environment.d/octopus-agent.conf<<EOF
|
cat >/etc/environment.d/octopus-agent.conf <<EOF
|
||||||
serverName=${city}-${hostArch}-${machineNumber}
|
serverName=${city}-${hostArch}-${machineNumber}
|
||||||
serverIpPbV4=$public_ipv4
|
serverIpPbV4=$public_ipv4
|
||||||
serverIpInV4=
|
serverIpInV4=
|
||||||
@@ -289,4 +337,3 @@ log "env collect complete!"
|
|||||||
source /etc/environment
|
source /etc/environment
|
||||||
|
|
||||||
env
|
env
|
||||||
|
|
||||||
|
|||||||
@@ -1,27 +1,26 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
. /octopus-agent/shell/lib/wdd-lib-log.sh
|
. /octopus-agent/shell/lib/wdd-lib-log.sh
|
||||||
|
|
||||||
OctopusAgentUrl=https://happybirthday.107421.xyz/octopus-agent/
|
OctopusAgentUrl=https://happybirthday.107421.xyz/octopus-agent/
|
||||||
|
|
||||||
|
CheckAndDownloadLatestVersion() {
|
||||||
CheckAndDownloadLatestVersion(){
|
|
||||||
|
|
||||||
log "checking for the latest version"
|
log "checking for the latest version"
|
||||||
local latestVersion=$(curl $OctopusAgentUrl | grep -v h1 | grep "a href=" | awk '{print$2}' |cut -d">" -f2 | cut -d"<" -f1)
|
local latestVersion=$(curl $OctopusAgentUrl | grep -v h1 | grep "a href=" | awk '{print$2}' | cut -d">" -f2 | cut -d"<" -f1)
|
||||||
|
|
||||||
|
log ""
|
||||||
log "octopus agent latest version is => [ $latestVersion ]"
|
log "octopus agent latest version is => [ $latestVersion ]"
|
||||||
echo ""
|
log ""
|
||||||
rm -rf /octopus-agent/*.jar
|
rm -rf /octopus-agent/*.jar
|
||||||
cd /octopus-agent
|
cd /octopus-agent
|
||||||
|
|
||||||
log "start to download the latest version !"
|
log "start to download the latest version !"
|
||||||
wget "$OctopusAgentUrl$latestVersion"
|
wget "$OctopusAgentUrl$latestVersion"
|
||||||
cp "$latestVersion" agent.jar
|
cp "$latestVersion" agent.jar
|
||||||
echo ""
|
log ""
|
||||||
echo ""
|
log ""
|
||||||
log "----------------------------------------------"
|
log "---------------- ls the /octopus-agent ----------------------"
|
||||||
ls /octopus-agent/ | grep jar
|
ls /octopus-agent/ | grep jar
|
||||||
log "----------------------------------------------"
|
log "----------------------------------------------"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user