This commit is contained in:
zeaslity
2024-10-30 16:30:51 +08:00
commit 437acbeb63
3363 changed files with 653948 additions and 0 deletions

View File

@@ -0,0 +1,195 @@
#!/bin/bash
# 约定内容
OSS_URL=https://oss.demo.uavcmlc.com:18000/cmlc-installation/tmp/
NeedUploadFolder=0
IsUpload=0
UploadImageName=""
ImageTarName=""
InnerIPv4CIDR=""
InnerIPv6CIDR=""
InnerIPv4=""
InnerIPv6=""
CmiiImagePrefix="harbor.cdcyy.com.cn/cmii/"
get_image_tar_name() {
# harbor.cdcyy.com.cn/cmii/cmii-uav-oauth:4.1.6
local imageName=$(echo $UploadImageName | cut -d ":" -f1 | cut -d"/" -f3)
local imageTag=$(echo $UploadImageName | cut -d ":" -f2)
local currentDate=$(date -d "2023-09-18" +%Y%m%d)
local random_number=$((RANDOM%900 + 100))
ImageTarName="$imageName=$imageTag=$currentDate=$random_number.tar.gz"
}
get_image_name_from_tar(){
# cmii-uav-oauth_4.1.6-0918_20230918_123.tar.gz
local image_name=$(echo $ImageTarName | cut -d "=" -f1)
local tag_name=$(echo $ImageTarName | cut -d"=" -f2)
UploadImageName="$image_name:$tag_name"
}
# 获取服务器的公网IP地址
get_Internal_IP_CIDR() {
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"
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]"
break
fi
done
# 提取IPv4地址CIDR格式
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格式
local ipv6_regex="inet6[[:space:]]([0-9a-fA-F]{0,4}(:[0-9a-fA-F]{0,4}){1,7})\/[0-9]{1,3}"
# 查找IPv4地址
local inner_ipv4=$(echo $(ip addr show $real_interface) | grep -oE $ipv4_regex | cut -d" " -f2)
InnerIPv4CIDR=$inner_ipv4
echo "Interface: $real_interface, IPv4 Address: $inner_ipv4"
# 查找IPv6地址
local inner_ipv6=$(echo $(ip addr show $real_interface) | grep -oE $ipv6_regex | cut -d" " -f2)
InnerIPv6CIDR=$inner_ipv6
echo "Interface: $real_interface, IPv4 Address: $inner_ipv6"
}
get_Internal_IP() {
get_Internal_IP_CIDR
InnerIPv4=$(echo $InnerIPv4CIDR | cut -d "/" -f1)
InnerIPv6=$(echo $InnerIPv6CIDR | cut -d "/" -f1)
echo "服务器的内网IPv4地址为 $InnerIPv4"
echo "服务器的内网IPv6地址为 $InnerIPv6"
}
_math() {
_m_opts="$@"
printf "%s" "$(($_m_opts))"
}
# 前文内容
while [[ $# > 0 ]]; do
case "$1" in
-f | --file)
NeedUploadFolder=1
shift # past argument
;;
-u | --upload)
IsUpload=1
UploadImageName="${2}"
shift # past argument
;;
-d | --download)
IsUpload=0
ImageTarName="${2}"
shift # past argument
;;
*)
# unknown option
;;
esac
shift # past argument or value
done
if [[ $NeedUploadFolder == 1 ]]; then
# 上传的是一个目录
fi
if [[ $IsUpload == 1 ]]; then
# upload
echo "【上传】 - 需要处理的镜像名称为 => $UploadImageName"
echo ""
echo "【上传】 - 开始下载镜像!"
echo ""
if docker pull "${UploadImageName}" >/dev/null 2>&1; then
echo "下载-镜像下载成功! => $UploadImageName"
else
if docker inspect "${UploadImageName}" >/dev/null 2>&1; then
echo "下载-镜像已经存在 => $UploadImageName"
else
echo "下载-镜像下载失败! => $UploadImageName"
fi
fi
echo ""
get_image_tar_name
echo "【上传】 - 将要把镜像压缩为 => $ImageTarName"
docker save $UploadImageName | gzip --stdout >${ImageTarName}
echo "【上传】 - 压缩成功 $(ls | grep ${ImageTarName})"
echo""
echo "【上传】 - 开始上传至OSS中!"
mc cp ./${ImageTarName} demo/cmlc-installation/tmp/
echo "【上传】 - 上传OSS成功 => $(mc ls demo/cmlc-installation/tmp/ | grep ${ImageTarName})"
echo""
echo "【上传】 - 请在目标Master主机执行如下命令 ↓↓↓↓↓↓"
echo ""
echo ""
echo "source <(curl -sL https://b2.107421.xyz/image-sync.sh) -d $ImageTarName"
echo ""
echo ""
else
# download
echo "【下载】 - 需要处理的压缩包名称为 => $ImageTarName"
echo "【下载】 - 开始下载 ↓"
wget "$OSS_URL$ImageTarName"
if [[ $? -ne 0 ]]; then
echo "【下载】- 下载镜像失败!退出!"
return
fi
echo ""
echo "【下载】 - 开始解压压缩包 "
docker load < "${ImageTarName}"
echo ""
get_Internal_IP
echo "【下载】 - 开始上传镜像到本地的镜像仓库中 => $InnerIPv4:8033 "
custom_prefix="$InnerIPv4:8033/cmii/"
echo ""
get_image_name_from_tar
echo "【下载】 - 解析得到的 私有镜像地址为 => $custom_prefix$UploadImageName"
docker tag "$CmiiImagePrefix${UploadImageName}" "$custom_prefix$UploadImageName"
echo "【下载】 - 开始上传镜像到私有仓库 ↓"
docker login -u admin -p V2ryStr@ngPss "$InnerIPv4:8033"
echo ""
echo "【下载】 - 开始推送到私有仓库! "
docker push "$custom_prefix$UploadImageName"
echo ""
echo ""
echo "【下载】 - 请等待流程结束 ↓"
_sleep_c="500"
while [ "$_sleep_c" -ge "0" ]; do
printf "\r \r"
printf -- "%b" "$_sleep_c"
_sleep_c="$(_math "$_sleep_c" - 1)"
sleep 1
done
printf "\r"
fi

View File

@@ -0,0 +1,46 @@
vim /etc/systemd/system/cmii-startup.service
[Unit]
Description=Cmii Start Up Script
[Service]
ExecStart=/bin/bash /cmii/start-up.sh
User=root
Group=root
[Install]
WantedBy=multi-user.target
vim /cmii/start-up.sh
docker-compose -f /cmii/harbor/docker-compose.yml up -d
sleep 10
docker-compose -f /cmii/0-minio-dockercompose.yml up -d
rm -rf /nfsdata/zhbf-helm-emqxs-pvc-fdb605a0-5120-481a-bdd5-7ef1213c2363/
sleep 5
kubectl delete -n zhbf pod helm-nacos-0 --force
kubectl delete -n zhbf pod helm-emqxs-0 --force
kubectl delete -n zhbf pod helm-redis-master-0 --force
kubectl delete -n zhbf pod helm-redis-replicas-0 --force
sleep 30
for kindof in pods
do
kubectl -n zhbf delete $kindof $(kubectl -n zhbf get $kindof | grep "cmii"| awk '{print$1}')
done
chmod +x /cmii/start-up.sh
systemctl daemon-reload
sudo systemctl enable cmii-startup.service

View File

@@ -0,0 +1,10 @@
#!/bin/bash
ip_list=(10.20.1.133 10.20.1.134)
for ip in "${ip_list[@]}"; do
echo "yes
yes
" | scp fuse-overlayfs-1.7.1-2.x86_64.rpm slirp4netns-1.2.0-1.oe2203sp2.x86_64.rpm root@${ip}:/root/
done

View File

@@ -0,0 +1,27 @@
#!/bin/bash
NEW_UPDATED_SQL_FILE_FOLDER=/home/mmc/4.1.6-sql-update
SQL_DUMP_FILE=/root/all_tables_4.1.0.sql
./mysql -uroot -pQzfXQhd3bQ -h127.0.0.1 -P33306 -e 'show databases;' | grep -Ev 'Database|information_schema|mysql|sys|performance_schema' | xargs ./mysqldump -uroot -pQzfXQhd3bQ -h127.0.0.1 -P33306 --single-transaction --source-data=2 --hex-blob --triggers --routines --events --no-data --set-gtid-purged=OFF --databases > "${SQL_DUMP_FILE}"
SQL_FULL_BACK_UP_FILE=/home/mmc/all_tables_4.0.2_230914_fullback.sql
./mysql -uroot -pQzfXQhd3bQ -h127.0.0.1 -P33306 -e 'show databases;' | grep -Ev 'Database|information_schema|mysql|sys|performance_schema' | xargs ./mysqldump -uroot -pQzfXQhd3bQ -h127.0.0.1 -P33306 --single-transaction --source-data=2 --hex-blob --triggers --routines --events --set-gtid-purged=OFF --databases > "${SQL_FULL_BACK_UP_FILE}"
all_new_updated_sql_file=$(ls ${NEW_UPDATED_SQL_FILE_FOLDER})
for sql_file in ${all_new_updated_sql_file[*]}; do
echo "current file is ${sql_file}"
./mysql -uroot -pQzfXQhd3bQ -h127.0.0.1 -P33306 <"$NEW_UPDATED_SQL_FILE_FOLDER/${sql_file}"
echo "------------------"
echo ""
done
./mysql -uroot -pQzfXQhd3bQ -h127.0.0.1 -P33306

View File

@@ -0,0 +1,37 @@
要在Ubuntu上使用代理服务器来进行apt操作可以按照以下步骤进行配置
1. 打开终端,并进入`/etc/apt`目录:
```shell
cd /etc/apt
```
2. 创建一个新的文件或编辑已有的文件,例如`apt.conf.d/99proxy`
```shell
sudo nano apt.conf.d/99proxy
```
3. 在打开的文件中添加以下内容,将代理服务器的地址和端口替换为实际的代理服务器信息:
```shell
Acquire::http::Proxy "http://proxy-server-address:proxy-port";
Acquire::https::Proxy "http://proxy-server-address:proxy-port";
```
4. 保存并关闭文件使用Ctrl + X然后按Y确认保存
5. 现在您可以尝试运行任何apt命令例如更新软件包列表
```shell
sudo apt update
```
注意如果代理服务器需要用户名和密码进行身份验证您还需要添加额外的配置。在步骤3中将http和https行更改为如下所示并替换`username`和`password`为实际的凭据:
```shell
Acquire::http::Proxy "http://username:password@proxy-server-address:proxy-port";
Acquire::https::Proxy "http://username:password@proxy-server-address:proxy-port";
```
这样就完成了在Ubuntu上使用代理服务器进行apt操作的配置。确保替换`proxy-server-address`和`proxy-port`为实际的代理服务器地址和端口,并根据需要进行身份验证的配置。
```shell
Acquire::http::Proxy "http://192.168.8.102:10811";
Acquire::https::Proxy "http://192.168.8.102:10811";
```