找回密码
 立即注册
查看: 65|回复: 0

集成包-主要使用与CentOS 6.x 7.x 移植 Ubuntu 18 20 22 24

[复制链接]

1509

主题

0

回帖

1509

积分

金牌会员

积分
1509
发表于 前天 00:03 | 显示全部楼层 |阅读模式
要使用与CentOS 6.x 7.x  移植 Ubuntu  18 20 22 24
集成 JDK8  CentOS 基础依赖不完整  某些游戏服务修改系统时间-

myshell.tar.gz  上传到  /

cd / && tar -zx --overwrite -v -f myshell.tar.gz
chown -R root:root /opt/CN.I8520.YYDS && chmod -R 755 /opt/CN.I8520.YYDS

/opt/CN.I8520.YYDS/myshell.sh

迁移高版本的 Ubuntu 系 Debian 系  比较安全一丢丢 心里安慰吧 哈哈
脚本代码一坨屎 只是能用


  • #!/bin/bash
  • MYdirYYDS=$(echo "/opt/CN.I8520.YYDS")
  • cd $MYdirYYDS
  • #-------------------
  • # 彩色输出演示脚本
  • #-------------------
  • BAISE="\033[1;37m"   #粗白
  • RED="\033[31m"       #红色
  • GREEN="\033[32m"     #绿色
  • YELLOW="\033[33m"    #黄色
  • BLUE="\033[34m"      #蓝色
  • RESET="\033[0m"      #结束
  • #-------------------
  • # 判断是否在root下运行,避免权限不够
  • #-------------------
  • if [ $(id -u) -ne 0 ];then
  •     echo -e "${RED}为了避免权限问题,请切换到root在执行 ${0##*/}${RESET}"
  •     exit 1
  • fi
  • #-------------------
  • # 检查 zip 是否安装
  • #-------------------
  • if [ -f "/opt/CN.I8520.YYDS/install.ZIP.LOCK" ];then
  •     echo "ZIP 已安装"
  • else
  •     echo -e "检测到 ZIP 未安装\n开始为你安装......"
  •     echo "ZIP 已安装" > /opt/CN.I8520.YYDS/install.ZIP.LOCK && sleep 1
  •     sudo apt update &> /dev/null
  •     sudo apt install zip unzip -y &> /dev/null
  •     sudo apt install util-linux-extra -y &> /dev/null
  •     sudo yum install -y zip unzip &> /dev/null
  •     mkdir -p /opt/CN.I8520.YYDS/TMP
  •     echo  "> ZIP 已安装"
  • fi
  • #-------------------
  • # 脚本库 加载脚本后可使用脚本内的函数
  • #-------------------
  • zip_dir_name="ShellFunctionLibrary"
  • # 使用归档无压缩 zip -r0 ShellFunctionLibrary.zip ShellFunctionLibrary
  • source <(unzip -p /opt/CN.I8520.YYDS/MYlib/${zip_dir_name}.zip ${zip_dir_name}/NotFound.shellFunction)
  • source <(unzip -p /opt/CN.I8520.YYDS/MYlib/${zip_dir_name}.zip ${zip_dir_name}/File_And_String_Attributes.shellFunction)
  • source <(unzip -p /opt/CN.I8520.YYDS/MYlib/${zip_dir_name}.zip ${zip_dir_name}/New_String.shellFunction)
  • source <(unzip -p /opt/CN.I8520.YYDS/MYlib/${zip_dir_name}.zip ${zip_dir_name}/IP.shellFunction)
  • #-------------------
  • # 基于ShellFunctionLibrary
  • #-------------------
  • MY_FileAndmd5(){
  •     # 使用 File_And_md5  跟字符串或文件
  •     File_And_md5 123456
  • }
  • MY_IPfile(){
  •     # 把IP过滤出来
  •     # 用法: IPfile <路径> <参数>
  •     # 参数说明:
  •     # all - 显示所有类型IP
  •     # 192 - 显示192网段IP
  •     # 10  - 显示10网段IP
  •     # 127 - 显示127网段IP
  •     read -p &quot;请输入需要查找IP的绝对路径: &quot; mydir
  •     DIR=&quot;/opt/CN.I8520.YYDS/TMP&quot;
  •     IP_FILE=&quot;${DIR}/IPfile.log&quot;
  •     if [ -d &quot;$DIR&quot; ];then
  •       echo &quot;查找路径里的IP文件......&quot;
  •       IPfile ${mydir} all > ${IP_FILE} 2>/dev/null
  •       sleep 1
  •     else
  •       mkdir -p ${DIR}
  •       > ${IP_FILE}
  •       IPfile ${mydir} all > ${IP_FILE} 2>/dev/null
  •       sleep 1
  •     fi

  •     cat ${IP_FILE}|grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'|SN1
  • }


  • MY_weather(){
  •     weather https://tianqi.moji.com/weather/china/fujian/ninghua-county
  • }
  • #-------------------
  • # 显示进度点(美化版)
  • #-------------------
  • marquee() {
  •     local count=8
  •     local delay=0.2
  •     local colors=(&quot;31&quot; &quot;33&quot; &quot;32&quot; &quot;36&quot; &quot;34&quot; &quot;35&quot;)  # 红、黄、绿、青、蓝、紫
  •     local color_index=0

  •     echo -n &quot;处理中 &quot;
  •     while [ $count -gt 0 ]; do
  •         # 使用彩色交替显示
  •         echo -ne &quot;\033[1;${colors[color_index]}m&#8226;\033[0m &quot;
  •         sleep $delay
  •         count=$((count - 1))
  •         color_index=$(( (color_index + 1) % ${#colors[@]} ))
  •     done
  •     echo -e &quot;\n&#9989; 完成&quot;  # 换行并添加完成标志
  • }

  • #-------------------
  • # JAVA & lib
  • #-------------------
  • LoadingLibJava(){
  • export LD_LIBRARY_PATH=/opt/CN.I8520.YYDS/MYlib/libLD_LIBRARY_PATH
  • export JAVA_HOME=/opt/CN.I8520.YYDS/MYlib/jdk1.8.0_371
  • export JRE_HOME=${JAVA_HOME}/jre
  • export CLASSPATH=.{JAVA_HOME}/lib{JRE_HOME}/libCLASSPATH
  • export JAVA_PATH=${JAVA_HOME}/bin{JRE_HOME}/bin
  • export PATH=$PATH{JAVA_PATH}
  • }

  • #-------------------
  • # 重启环境服务
  • #-------------------
  • RestartService(){
  • echo -e &quot;${GREEN}> 正在重启 Nginx ......${RESET}&quot;
  • /etc/init.d/nginx restart &>/dev/null
  • sleep 2
  • echo -e &quot;${GREEN}> 正在重启 PHP&#8209;5.6 ......${RESET}&quot;
  • /etc/init.d/php-fpm-56 restart &>/dev/null
  • sleep 2
  • echo -e &quot;${GREEN}> 正在重启 PHP&#8209;8.2 ......${RESET}&quot;
  • /etc/init.d/php-fpm-82 restart &>/dev/null
  • sleep 2
  • echo -e &quot;${GREEN}> 正在重启 MySQL ......${RESET}&quot;
  • /etc/init.d/mysqld restart &>/dev/null
  • sleep 2
  • #echo -e &quot;${GREEN}> 正在重启 Redis ......${RESET}&quot;
  • #/etc/init.d/redis restart &>/dev/null
  • #sleep 2
  • #echo -e &quot;${GREEN}> 正在重启 MongoDB ......${RESET}&quot;
  • #/etc/init.d/mongodb restart &>/dev/null
  • #sleep 2
  • #echo -e &quot;${GREEN}> 正在重启 RabbitMQ ......${RESET}&quot;
  • #/etc/init.d/rabbitmq-server restart &>/dev/null
  • #sleep 2
  • echo -e &quot;${GREEN}> 所有前置服务已重启!!!${RESET}&quot;
  • }

  • #-------------------
  • # 判断是 Ubuntu 还是 Centos faketime
  • #-------------------
  • FakeTimeXXOO(){
  • # 设置系统时间 服务 FAKE
  • FAKE_X_a(){
  • rm -rf /tmp/create_fake_time.sh
  • cat > /tmp/create_fake_time.sh <<'EOF'
  • #!/bin/bash
  • SERVICE_FILE=&quot;/etc/systemd/system/fake-time-boot.service&quot;

  • if [ ! -f &quot;${SERVICE_FILE}&quot; ]; then
  • cat > &quot;${SERVICE_FILE}&quot; <<'INNER'
  • [Unit]
  • Description=Force set fake time on boot for game server
  • After=network.target
  • [Service]
  • Type=oneshot
  • ExecStart=/bin/bash -c 'date -s &quot;2018-06-23 00:00:00&quot;; hwclock --systohc'
  • RemainAfterExit=no
  • [Install]
  • WantedBy=multi-user.target
  • INNER
  •     echo &quot;文件不存在,已创建 ${SERVICE_FILE}&quot;
  •     systemctl daemon-reload
  •     systemctl enable fake-time-boot.service
  •     timedatectl set-local-rtc 1 --adjust-system-clock
  • else
  •     echo &quot;文件 ${SERVICE_FILE} 已存在,跳过创建&quot;
  • fi
  • EOF
  • chmod +x /tmp/create_fake_time.sh
  • bash /tmp/create_fake_time.sh
  • }
  • # 设置系统时间 FAKE
  • FAKEdate(){
  • timedatectl set-ntp false
  • systemctl stop systemd-timesyncd
  • systemctl disable --now systemd-timesyncd
  • systemctl mask systemd-timesyncd
  • systemctl stop chronyd ntpd 2>/dev/null
  • systemctl disable chronyd ntpd 2>/dev/null
  • date -s &quot;2018-06-23 00:00:00&quot;
  • hwclock --systohc
  • systemctl start fake-time-boot.service
  • date
  • }

  • if grep -qi &quot;centos\|rhel&quot; /etc/os-release 2>/dev/null;then
  •         echo &quot;Centos&quot;
  •         date +%Y%m%d -s &quot;2018-06-23&quot;
  •     elif grep -qi &quot;ubuntu\|debian&quot; /etc/os-release 2>/dev/null;then
  •         echo &quot;Ubuntu&quot;
  •         # 设置系统时间 服务 KAKE
  •         FAKE_X_a
  •         # 设置系统时间 KAKE
  •         FAKEdate
  •     else
  •         echo &quot;不支持的系统&quot;
  •         exit 1
  • fi
  • }
  • #-------------------
  • # 启动服务
  • #-------------------
  • StartService(){
  • #date -s '12:00:00 2018-03-01'
  • #显示天气
  • MY_weather
  • #加载环境变量与依赖
  • LoadingLibJava
  • #重启前置服务 如果需要开启
  • #RestartService
  • # 操 faketime
  • FakeTimeXXOO
  • echo -e &quot;${GREEN}-------------------------------------------------\n> 启动楚乔传-->游戏服务端 ......${RESET}&quot;
  • sleep 2

  • # 启动服务命令或脚本放这里

  • marquee

  • echo -e &quot;
  • --> 注册MG帐号 MG码 1
  • --> 内网 http://$(echo `MY_IP_YYDS_B`):51051/cq/sq.php
  • --> 外网 http://$(echo `MY_IP_YYDS_A`):51051/cq/sq.php
  • --> MG后台
  • --> 内网 http://$(echo `MY_IP_YYDS_B`):51051/cq/
  • --> 外网 http://$(echo `MY_IP_YYDS_A`):51051/cq/
  • &quot;
  • echo -e &quot;${GREEN}有可能卡住脚本其实已经执行玩了!Ctrl + C 退出脚本${RESET}&quot;
  • }
  • #-------------------
  • # 关闭服务
  • #-------------------
  • StopService(){
  • LoadingLibJava
  • echo -e &quot;${GREEN}> 结束游戏服务端 ......${RESET}&quot;


  • # 关闭服务命令或脚本放这里

  • sleep 1
  • marquee
  • }
  • #-------------------
  • # 删档 按需配置
  • #-------------------
  • Sdang(){
  • echo &quot;没有配置&#8226;&#8226;&#8226;&#8226;&#8226;&#8226;&quot;

  • sleep 2s
  • marquee
  • }
  • #-------------------
  • # 启动 GM 按需配置
  • #-------------------
  • QDgm(){
  • echo &quot;无需配置&#8226;&#8226;&#8226;&#8226;&#8226;&#8226;&quot;
  • marquee
  • }
  • #-------------------
  • # 关闭GM 按需配置
  • #-------------------
  • gbgm(){
  • echo &quot;无需配置&#8226;&#8226;&#8226;&#8226;&#8226;&#8226;&quot;
  • marquee
  • }
  • #-------------------
  • # 查看端口
  • #-------------------
  • duankou(){
  •     netstat -tulnp
  • }
  • #-------------------
  • # 显示主菜单
  • #-------------------
  • HomeMenu() {
  •     clear
  •     echo -e &quot;${BAISE}ShellFunctionLibrary --> 工作@依赖 目录 --> /opt/CN.I8520.YYDS/MYlib ${RESET}&quot;
  •     echo -e &quot;${BAISE}$(cat /opt/CN.I8520.YYDS/install.ZIP.LOCK)\n-------------------------------------------------${RESET}&quot;
  •     echo -e &quot;${RED}输入相应数字执行操作${RESET}&quot;
  •     echo -e &quot;${GREEN}> 【1】:启动服务${RESET}&quot;
  •     echo -e &quot;${GREEN}> 【2】:关闭服务${RESET}&quot;
  •     echo -e &quot;${GREEN}> 【3】:启动 GM${RESET}&quot;
  •     echo -e &quot;${GREEN}> 【4】:关闭 GM${RESET}&quot;
  •     echo -e &quot;${RED}> 【5】:删除存档${RESET}&quot;
  •     echo -e &quot;${GREEN}> 【6】:查看端口${RESET}&quot;
  • }

  • #-------------------
  • # 主程序逻辑
  • #-------------------
  • main() {
  •     # 如果没有参数,显示菜单
  •     if [ $# -eq 0 ]; then
  •         HomeMenu
  •         read -p &quot;$(echo -e &quot;${YELLOW}请输入数字编号:${RESET}&quot;)&quot; menu
  •         if [ -z &quot;$menu&quot; ]; then
  •             exit
  •         fi
  •     else
  •         menu=$1
  •     fi
  •    
  •   
  •         # 字母命令处理
  •         case $menu in
  •             1) StartService ;;
  •             2) StopService ;;
  •             3) QDgm  ;;
  •             4) gbgm  ;;
  •             5) Sdang ;;
  •             6) duankou ;;
  •             *)
  •                 echo &quot;未知命令: $menu&quot;
  •                 exit 1
  •                 ;;
  •         esac

  • }

  • # 启动主程序
  • main &quot;$@&quot;
















免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|白黑论坛 |网站地图

GMT+8, 2026-8-23 01:30 , Processed in 0.024179 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表