[ Agent ] [ Executor ] - agent启动脚本
This commit is contained in:
@@ -38,6 +38,94 @@ org=""
|
||||
managePort=""
|
||||
#### CollectSystemInfo ####
|
||||
|
||||
command_exists() {
|
||||
command -v "$@" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
####### 获取系统版本及64位或32位信息
|
||||
check_sys() {
|
||||
# 获取当前终端的宽度,动态调整分割线的长度
|
||||
shellwidth=$(stty size | awk '{print $2}')
|
||||
SplitLine=$(yes "-" | sed ${shellwidth}'q' | tr -d '\n')
|
||||
|
||||
sys_bit=$(uname -m)
|
||||
case $sys_bit in
|
||||
i[36]86)
|
||||
os_bit="32"
|
||||
hostArch="386"
|
||||
;;
|
||||
x86_64)
|
||||
os_bit="64"
|
||||
hostArch="amd64"
|
||||
;;
|
||||
*armv6*)
|
||||
os_bit="arm"
|
||||
hostArch="arm6"
|
||||
;;
|
||||
*armv7*)
|
||||
os_bit="arm"
|
||||
hostArch="arm7"
|
||||
;;
|
||||
*aarch64* | *armv8*)
|
||||
os_bit="arm64"
|
||||
hostArch="arm64"
|
||||
;;
|
||||
*)
|
||||
error "
|
||||
哈哈……这个 辣鸡脚本 不支持你的系统。 (-_-) \n
|
||||
备注: 仅支持 Ubuntu 16+ / Debian 8+ / CentOS 7+ 系统
|
||||
" && exit 1
|
||||
;;
|
||||
esac
|
||||
## 判定Linux的发行版本
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
hostArchVersion="centos"
|
||||
elif cat /etc/issue | grep -Eqi "debian"; then
|
||||
hostArchVersion="debian"
|
||||
elif cat /etc/issue | grep -Eqi "ubuntu"; then
|
||||
hostArchVersion="ubuntu"
|
||||
elif cat /etc/issue | grep -Eqi "centos|red hat|redhat"; then
|
||||
hostArchVersion="centos"
|
||||
elif cat /proc/version | grep -Eqi "debian"; then
|
||||
hostArchVersion="debian"
|
||||
elif cat /proc/version | grep -Eqi "ubuntu"; then
|
||||
hostArchVersion="ubuntu"
|
||||
elif cat /proc/version | grep -Eqi "centos|red hat|redhat"; then
|
||||
hostArchVersion="centos"
|
||||
else
|
||||
hostArchVersion=""
|
||||
fi
|
||||
|
||||
# 判断系统的包管理工具 apt, yum, or zypper
|
||||
getPackageManageTool() {
|
||||
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"
|
||||
elif [[ -n $(command -v yum) ]]; then
|
||||
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"
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# 检查系统包管理方式,更新包
|
||||
getPackageManageTool
|
||||
if [[ $? -eq 1 ]]; then
|
||||
error "系统的包管理不是 APT or YUM, 请手动安装所需要的软件."
|
||||
return 1
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
#######################################
|
||||
# description
|
||||
# Arguments:
|
||||
@@ -262,14 +350,14 @@ GetIpv4Info() {
|
||||
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"
|
||||
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}" "[[:space:]]enp[0-9]{1,2}s[0-9]{1,3}")
|
||||
local real_interface="eth0"
|
||||
|
||||
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)
|
||||
echo "当前主机的真实内网网卡为 => [$real_interface]"
|
||||
echo "当前主机的真实内网网卡为 => [ $real_interface ]"
|
||||
break
|
||||
fi
|
||||
done
|
||||
@@ -281,12 +369,12 @@ GetIpv4Info() {
|
||||
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=$(echo $(ip addr show $real_interface) | grep -oE $ipv4_regex | grep -v 127 | 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)
|
||||
echo "Interface: $real_interface, IPv4 Address: $inner_ipv6"
|
||||
inner_ipv6=$(echo $(ip addr show $real_interface) | grep -oE $ipv6_regex | grep -v "::1/" | cut -d" " -f2)
|
||||
echo "Interface: $real_interface, IPv6 Address: $inner_ipv6"
|
||||
|
||||
}
|
||||
|
||||
@@ -368,10 +456,10 @@ if [[ $(cat /etc/hostname | cut -d"-" -f 3 | grep -c '^[0-9][0-9]') -gt 0 ]]; th
|
||||
else
|
||||
machineNumber=99
|
||||
fi
|
||||
agentServerInfoFile="/octopus-agent/octopus-agent.conf"
|
||||
export agentServerInfoFile="/octopus-agent/octopus-agent.conf"
|
||||
|
||||
#cat >/etc/environment.d/octopus-agent.conf <<EOF
|
||||
touch $ageagentServerInfoFile
|
||||
touch $agentServerInfoFile
|
||||
cat >"$agentServerInfoFile" <<EOF
|
||||
serverName: ${city}-${hostArch}-${machineNumber}
|
||||
serverIpPbV4: $public_ipv4
|
||||
|
||||
Reference in New Issue
Block a user