From fad888da8b72cdf2be1f99887edf3d9a128549ca Mon Sep 17 00:00:00 2001 From: yang-yulong-007 <528553518@qq.com> Date: Sat, 25 Feb 2023 11:26:26 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A1=8C=E9=9D=A2?= =?UTF-8?q?=E7=89=88=E7=B3=BB=E7=BB=9F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ServiceChecker/config/verify_result.json | 6 +- ServiceChecker/service/verify_reboot.service | 10 +++ ServiceChecker/service_checker.py | 2 + ServiceChecker/service_verify.sh | 84 +++++++++---------- .../{swapfile.swap => swapfile_service.swap} | 2 +- 5 files changed, 54 insertions(+), 50 deletions(-) create mode 100644 ServiceChecker/service/verify_reboot.service rename ServiceChecker/swap/{swapfile.swap => swapfile_service.swap} (82%) diff --git a/ServiceChecker/config/verify_result.json b/ServiceChecker/config/verify_result.json index 6101329..d11713f 100644 --- a/ServiceChecker/config/verify_result.json +++ b/ServiceChecker/config/verify_result.json @@ -13,12 +13,12 @@ "str": "Deactivated successfully" }, "Swap Unit": { - "test": "journalctl -u swapfile.swap", - "str": "Activated swap /swapfile" + "test": "journalctl -u swapfile_service.swap", + "str": "Activated swap /swapfile_service" }, "Target Unit": { "test": "runlevel", - "str": "3 1" + "str": "" } }, "reboot": { diff --git a/ServiceChecker/service/verify_reboot.service b/ServiceChecker/service/verify_reboot.service new file mode 100644 index 0000000..d48968c --- /dev/null +++ b/ServiceChecker/service/verify_reboot.service @@ -0,0 +1,10 @@ +[Unit] +Description=service verify reboot + +[Service] +Type=oneshot +ExecStart=python3 ${dir_path}/service_checker.py -m reboot +ExecStop=/bin/bash -c "echo Stop verify_reboot.service" + +[Install] +WantedBy= \ No newline at end of file diff --git a/ServiceChecker/service_checker.py b/ServiceChecker/service_checker.py index 200514d..1086b30 100644 --- a/ServiceChecker/service_checker.py +++ b/ServiceChecker/service_checker.py @@ -112,6 +112,8 @@ class ServiceChecker(object): status = status_row.split()[1] if status == verify_str: unit_result.setdefault(result_str, 'pass') + elif not verify_str and status: + unit_result.setdefault(result_str, 'pass') else: unit_result.setdefault(result_str, 'fail') else: diff --git a/ServiceChecker/service_verify.sh b/ServiceChecker/service_verify.sh index 2e93c30..882f3da 100644 --- a/ServiceChecker/service_verify.sh +++ b/ServiceChecker/service_verify.sh @@ -14,20 +14,6 @@ timer_file=${dir_path}/timer service_file=${dir_path}/service swap_file=${dir_path}/swap -function generator_enable_service() { -echo "[Unit] -Description=service verify reboot - -[Service] -Type=oneshot -ExecStart=python3 ${dir_path}/service_checker.py -m reboot -ExecStop=/bin/bash -c "echo Stop verify_reboot.servic" - -[Install] -WantedBy=multi-user.target" >${dir_systemd}/verify_reboot.service - -} - function mv_register_file() { log_info "开始注册所有systemd检测单元文件..." @@ -35,9 +21,6 @@ function mv_register_file() { log_error "Have not found systemd service work directory: ${dir_systemd},please check your system." fi - # 创建开机自启动reboot service单元配置文件 - generator_enable_service - if [[ -d ${path_file} ]]; then cp ${path_file}/service_verify_path.service ${dir_systemd} && cp ${path_file}/service_verify_path.path ${dir_systemd} @@ -61,13 +44,16 @@ function mv_register_file() { fi if [[ -d ${service_file} ]]; then + run_level=`systemctl get-default` + sed -i "s/WantedBy=/`systemctl get-default`/" ${service_file}/verify_reboot.service + cp ${service_file}/verify_reboot.service ${dir_systemd} cp ${service_file}/service_verify_disable.service ${dir_systemd} else log_warn "Service file directory not exist, can not copy register file." fi if [[ -d ${swap_file} ]]; then - cp ${swap_file}/swapfile.swap ${dir_systemd} + cp ${swap_file}/swapfile_service.swap ${dir_systemd} else log_warn "Service swap file directory not exist, can not copy register file." fi @@ -77,21 +63,25 @@ function mv_register_file() { log_info "正在安装golang,请等待..." sudo yum install -y golang >/dev/null 2>&1 if [ $? -ne 0 ]; then - log_error "自动安装失败,请先安装golang。" + sudo apt install golang >/dev/null 2>&1 + if [ $? -ne 0 ]; then + log_error "自动安装失败,请先安装golang。" + else + log_info "golang 安装完成!" + fi + else + log_info "golang 安装完成!" fi - log_info "golang 安装完成!" fi cd ${socket_file} # install go-systemd库 activation - export GO111MODULE=auto - # git clone https://github.com/coreos/go-systemd.git ~/go/src/github.com/coreos/go-systemd +# go env -w GOPRIVATE=git.mycompany.com,github.com/my/private + go env -w GO111MODULE=on + go env -w GOPROXY=https://goproxy.cn,direct go get github.com/coreos/go-systemd/activation >/dev/null 2>&1 if [ $? -ne 0 ]; then - go env -w GOPROXY=https://goproxy.cn,direct - go env -w GOPRIVATE=git.mycompany.com,github.com/my/private - - go get github.com/coreos/go-systemd/activation >/dev/null 2>&1 + log_error "获取go-systemd activation库失败,可能导致socket单元检测失败。" fi go build service_client.go @@ -217,26 +207,26 @@ function verify_timer() { function verify_swap() { log_info "***** 验证swap单元 *****" - log_info "创建一个交换文件(swapfile):" - dd if=/dev/zero of=/swapfile bs=1M count=512 status=progress + log_info "创建一个交换文件(swapfile_service):" + dd if=/dev/zero of=/swapfile_service bs=1M count=512 status=progress if [ $? -ne 0 ]; then log_warn "创建交换文件失败。" fi # 防止交换文件全局可读 - chmod 600 /swapfile + chmod 600 /swapfile_service - mkswap /swapfile - # 重启后会启动/swapfile交换分区 + mkswap /swapfile_service + # 重启后会启动/swapfile_service交换分区 # sed -i '$ a\# /etc/fstab\n/swapfile none swap defaults 0 0' /etc/fstab - systemctl start swapfile.swap + systemctl start swapfile_service.swap if [ $? -eq 0 ]; then log_info "成功启动swap单元。" else log_warn "启动swap单元失败" fi - log_info "查看swap单元服务状态:\n`systemctl status swapfile.swap`" + log_info "查看swap单元服务状态:\n`systemctl status swapfile_service.swap`" log_info "查看交换空间使用详细信息:" swapon --show @@ -254,18 +244,20 @@ function verify_target() { log_info "***** 开始验证target单元 *****" log_info "查询所有运行级别传统runlevel与对应target信息如下:\n $(ls -al ${dir_systemd}/runlevel*.target | awk -F " " '{print $9 $10 $11}')" - log_info "查看当前系统默认target为: $(systemctl get-default)" - - systemctl isolate rescue.target - if [ $? -eq 0 ]; then - sleep 2 - log_info "切换当前运行级别至单用户模式(rescue.target)成功,runlevel信息为:`runlevel`" - log_info "***** target单元功能验证成功 *****" + default_runlevel=`systemctl get-default` + log_info "查看当前系统默认target为: $(default_runlevel)" + if [ "$default_runlevel" = "graphical.target" ]; then + log_info "检测目标为桌面操作系统,检测完成。" else - log_warn "切换至单用户级别失败" - log_warn "***** target单元功能验证失败 *****" + systemctl isolate rescue.target + if [ $? -eq 0 ]; then + sleep 2 + log_info "检测目标为服务器操作系统,切换当前运行级别至单用户模式(rescue.target)成功,runlevel信息为:`runlevel`" + else + log_warn "切换至单用户级别失败" + fi fi - + log_info "***** target单元功能验证成功 *****" # 重启系统 log_info "请等待3秒后将重启系统...\n" sleep 3 @@ -289,7 +281,7 @@ function verify_reboot_service() { function clear_environment() { - systemctl stop swapfile.swap + systemctl stop swapfile_service.swap systemctl stop service_verify_server.socket systemctl stop service_verify_server.service systemctl stop service_verify_timer.timer @@ -297,7 +289,7 @@ function clear_environment() { systemctl stop service_verify_disable.service # 删除交换文件 - rm -f /swapfile + rm -f /swapfile_service rm -rf ${monitor_path} rm -rf ${apply_path} @@ -305,7 +297,7 @@ function clear_environment() { rm -f ${socket_file}/service_client rm -f ${socket_file}/service_server find ${dir_systemd} -name "service_verify*" | xargs rm -f - rm -f ${dir_systemd}/swapfile.swap + rm -f ${dir_systemd}/swapfile_service.swap export GO111MODULE="" diff --git a/ServiceChecker/swap/swapfile.swap b/ServiceChecker/swap/swapfile_service.swap similarity index 82% rename from ServiceChecker/swap/swapfile.swap rename to ServiceChecker/swap/swapfile_service.swap index 8d0eea4..ca42a36 100644 --- a/ServiceChecker/swap/swapfile.swap +++ b/ServiceChecker/swap/swapfile_service.swap @@ -3,5 +3,5 @@ Documentation=man:fstab(5) man:systemd-fstab-generator(8) SourcePath=/etc/fstab [Swap] -What=/swapfile +What=/swapfile_service TimeoutSec=2min \ No newline at end of file -- Gitee From ed75e2f5ea8f95a7899c43ddc0c90a9417518cf2 Mon Sep 17 00:00:00 2001 From: yang-yulong-007 <528553518@qq.com> Date: Sat, 25 Feb 2023 16:41:46 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=BE=93=E5=87=BA?= =?UTF-8?q?=E6=8A=A5=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ServiceChecker/config/verify_result.json | 24 +++----- ServiceChecker/constants.py | 27 ++++++++ ServiceChecker/service/verify_reboot.service | 10 --- ServiceChecker/service_checker.py | 65 +++++++++++--------- ServiceChecker/service_verify.sh | 47 ++++++++++---- ServiceChecker/utils/logger.py | 2 +- 6 files changed, 107 insertions(+), 68 deletions(-) create mode 100644 ServiceChecker/constants.py delete mode 100644 ServiceChecker/service/verify_reboot.service diff --git a/ServiceChecker/config/verify_result.json b/ServiceChecker/config/verify_result.json index d11713f..faddf0a 100644 --- a/ServiceChecker/config/verify_result.json +++ b/ServiceChecker/config/verify_result.json @@ -1,34 +1,30 @@ { - "start": { "Path Unit": { - "test": "journalctl -u service_verify_path.service", - "str": "Deactivated successfully" + "test": "/opt/tem_monitor/test_path.log", + "verify": true }, "Socket Unit": { "test": "journalctl -u service_verify_server.service", - "str": "Verify socket client" + "verify": "Verify socket client" }, "Timer Unit": { - "test": "journalctl -u service_verify_timer.service", - "str": "Deactivated successfully" + "test": "/opt/tem_monitor/test_timer.log", + "verify": true }, "Swap Unit": { "test": "journalctl -u swapfile_service.swap", - "str": "Activated swap /swapfile_service" + "verify": "Activated swap /swapfile_service" }, "Target Unit": { "test": "runlevel", - "str": "" - } - }, - "reboot": { + "verify": "" + }, "Service enable": { "test": "systemctl list-unit-files --type=service |grep verify_reboot.service", - "str": "enabled" + "verify": "enabled" }, "Service disable": { "test": "systemctl list-unit-files --type=service |grep service_verify_disable.service", - "str": "disabled" + "verify": "disabled" } - } } \ No newline at end of file diff --git a/ServiceChecker/constants.py b/ServiceChecker/constants.py new file mode 100644 index 0000000..ec2ad40 --- /dev/null +++ b/ServiceChecker/constants.py @@ -0,0 +1,27 @@ +# UNIT TYPE +PATH_UNIT = "Path Unit" +SOCKET_UNIT = "Socket Unit" +TIMER_UNIT = "Timer Unit" +SWAP_UNIT = "Swap Unit" +TARGET_UNIT = "Target Unit" +ENABLE_UNIT = "Service enable" +DISABLE_UNIT = "Service disable" + +# VERIFY_TYPE +VERIFY_PATH_TYPE = [PATH_UNIT, TIMER_UNIT] +VERIFY_LOG_TYPE = [SOCKET_UNIT, SWAP_UNIT, ENABLE_UNIT, DISABLE_UNIT] +START_MODEL_TYPE = [PATH_UNIT, SOCKET_UNIT, TIMER_UNIT, SWAP_UNIT, TARGET_UNIT] +REBOOT_MODEL_TYPE = [ENABLE_UNIT, DISABLE_UNIT] + +# CONFIG FILE KEY +K_TEST = "test" +k_VERIFY = "verify" + +# CHECK RESULT +CHECK_RESULT = "Check result" +PASS = "PASS" +FAIL = "FAIL" + +# VERIFY_MODEL_TYPE +MODEL_START = "start" +MODEL_REBOOT = "reboot" diff --git a/ServiceChecker/service/verify_reboot.service b/ServiceChecker/service/verify_reboot.service deleted file mode 100644 index d48968c..0000000 --- a/ServiceChecker/service/verify_reboot.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=service verify reboot - -[Service] -Type=oneshot -ExecStart=python3 ${dir_path}/service_checker.py -m reboot -ExecStop=/bin/bash -c "echo Stop verify_reboot.service" - -[Install] -WantedBy= \ No newline at end of file diff --git a/ServiceChecker/service_checker.py b/ServiceChecker/service_checker.py index 1086b30..41b4950 100644 --- a/ServiceChecker/service_checker.py +++ b/ServiceChecker/service_checker.py @@ -1,7 +1,6 @@ import json import logging import os -import re import stat import sys import argparse @@ -9,6 +8,8 @@ import argparse sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from ServiceChecker.utils.shell import shell_cmd from ServiceChecker.utils.logger import init_logger +from ServiceChecker.constants import K_TEST, k_VERIFY, VERIFY_PATH_TYPE, PASS, CHECK_RESULT, FAIL, TARGET_UNIT, \ + START_MODEL_TYPE, REBOOT_MODEL_TYPE, MODEL_REBOOT, MODEL_START logger = logging.getLogger('OSAPIChecker') @@ -50,19 +51,34 @@ class ServiceChecker(object): with open(path, "w", encoding='utf-8') as f: json.dump(result, f, indent=4) + @staticmethod + def verift_cmd_unit(cmd, result, unit, target_result): + ret, out, err = shell_cmd(cmd.split()) + if not ret: + if out: + if unit == TARGET_UNIT: + result.get(unit)[CHECK_RESULT] = PASS + elif target_result in out: + result.get(unit)[CHECK_RESULT] = PASS + else: + logger.debug(f"验证检测单元{unit}输出信息错误:{err}") + def service_register_check(self, model='start'): result_path = os.path.join(os.path.dirname(self.dir_path), 'Outputs/service_result.json') os.chmod(self.sh_path, stat.S_IXUSR) try: os.system(f"/bin/bash {self.sh_path} {model} 2>&1 | tee -a {self.log_path}") - if model == "start": + if model == MODEL_START: result = {} start_result = self.verify_all_item(model, result) self.export_verify_result(result_path, start_result) - elif model == "reboot": + # 重启系统 + os.system("reboot") + + elif model == MODEL_REBOOT: logger.info("service_checker 检测完成!") with open(result_path, "r") as f: start_result = json.load(f) @@ -98,33 +114,22 @@ class ServiceChecker(object): @return: 检测结果 """ v_config = self.get_verify_result_config() - verify_item = v_config.get(model) - result_str = "Check result" - for unit, test_config in verify_item.items(): - result.setdefault(unit, {}) - verify_shell = test_config.get('test') - verify_str = test_config.get('str') - ret, out, err = shell_cmd(verify_shell.split()) - if not ret and out: - unit_result = result.get(unit) - if model == 'reboot': - status_row = out.split('\n')[1] - status = status_row.split()[1] - if status == verify_str: - unit_result.setdefault(result_str, 'pass') - elif not verify_str and status: - unit_result.setdefault(result_str, 'pass') - else: - unit_result.setdefault(result_str, 'fail') + for unit, verify_content in v_config.items(): + verify_cmd = verify_content.get(K_TEST) + target_result = verify_content.get(k_VERIFY) + if model == MODEL_START: + result.setdefault(unit, {CHECK_RESULT: FAIL}) + if unit not in START_MODEL_TYPE: + continue + elif unit in VERIFY_PATH_TYPE: + if os.path.exists(verify_cmd): + result.get(unit)[CHECK_RESULT] = PASS else: - match = re.search(verify_str, out) - if match: - unit_result.setdefault(result_str, 'pass') - else: - unit_result.setdefault(result_str, 'fail') - else: - result.get(unit).setdefault(result_str, 'fail') - logger.debug(f"验证检测单元输出信息错误:{err}") + self.verift_cmd_unit(verify_cmd, result, unit, target_result) + elif model == MODEL_REBOOT: + if unit not in REBOOT_MODEL_TYPE: + continue + self.verift_cmd_unit(verify_cmd, result, unit, target_result) return result @@ -156,7 +161,7 @@ if __name__ == "__main__": service_checker.verify_service() service_checker.service_register_check() # 系统重启后检测待测功能 - elif args.verify_model == "reboot": + elif args.verify_model == MODEL_REBOOT: service_checker.service_register_check(model=args.verify_model) else: logger.error("参数输入有误。") diff --git a/ServiceChecker/service_verify.sh b/ServiceChecker/service_verify.sh index 882f3da..ef6fb8d 100644 --- a/ServiceChecker/service_verify.sh +++ b/ServiceChecker/service_verify.sh @@ -14,6 +14,20 @@ timer_file=${dir_path}/timer service_file=${dir_path}/service swap_file=${dir_path}/swap +function generator_enable_service() { +echo "[Unit] +Description=service verify reboot + +[Service] +Type=oneshot +ExecStart=python3 ${dir_path}/service_checker.py -m reboot +ExecStop=/bin/bash -c "echo Stop verify_reboot.servic" + +[Install] +WantedBy=`systemctl get-default`" >${dir_systemd}/verify_reboot.service + +} + function mv_register_file() { log_info "开始注册所有systemd检测单元文件..." @@ -21,6 +35,9 @@ function mv_register_file() { log_error "Have not found systemd service work directory: ${dir_systemd},please check your system." fi + # 创建开机自启动reboot service单元配置文件 + generator_enable_service + if [[ -d ${path_file} ]]; then cp ${path_file}/service_verify_path.service ${dir_systemd} && cp ${path_file}/service_verify_path.path ${dir_systemd} @@ -44,9 +61,6 @@ function mv_register_file() { fi if [[ -d ${service_file} ]]; then - run_level=`systemctl get-default` - sed -i "s/WantedBy=/`systemctl get-default`/" ${service_file}/verify_reboot.service - cp ${service_file}/verify_reboot.service ${dir_systemd} cp ${service_file}/service_verify_disable.service ${dir_systemd} else log_warn "Service file directory not exist, can not copy register file." @@ -74,11 +88,13 @@ function mv_register_file() { fi fi - cd ${socket_file} # install go-systemd库 activation # go env -w GOPRIVATE=git.mycompany.com,github.com/my/private + cd ${socket_file} go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct + go mod init service_checker + log_info "正在安装go-systemd activation库..." go get github.com/coreos/go-systemd/activation >/dev/null 2>&1 if [ $? -ne 0 ]; then log_error "获取go-systemd activation库失败,可能导致socket单元检测失败。" @@ -144,7 +160,7 @@ function verify_path() { else log_warn "***** path单元功能验证失败 *****\n" fi - log_info "***** path单元功能验证成功 *****\n" + log_info "***** path单元功能验证完成 *****\n" # 验证socket服务功能 verify_socket @@ -168,7 +184,7 @@ function verify_socket() { journalctl -u service_verify_client.service -n 5 | grep "Verify socket server" >/dev/null 2>&1 && journalctl -u service_verify_server.service -n 3 | grep "Verify socket client" >/dev/null 2>&1 if [ $? -eq 0 ]; then - log_info "***** socket单元功能验证成功 *****\n" + log_info "***** socket单元功能验证完成 *****\n" else log_warn "***** socket单元功能验证失败 *****\n" fi @@ -181,6 +197,10 @@ function verify_timer() { # 启动timer定时单元 log_info "***** 启动service_verify_timer单元 *****" + cd $monitor_path + if [[ -f test_timer.log ]]; then + rm -f test_timer.log + fi systemctl start service_verify_timer.timer if [ $? -eq 0 ]; then @@ -194,7 +214,7 @@ function verify_timer() { sleep 70 if [[ -f ${monitor_path}/test_timer.log ]]; then log_info "service_verify_timer.service服务启动输出为:\n$(cat ${monitor_path}/test_timer.log)" - log_info "***** timer单元功能验证成功 *****\n" + log_info "***** timer单元功能验证完成 *****\n" else log_warn "***** timer单元功能验证失败 *****\n" fi @@ -226,12 +246,11 @@ function verify_swap() { log_warn "启动swap单元失败" fi - log_info "查看swap单元服务状态:\n`systemctl status swapfile_service.swap`" - log_info "查看交换空间使用详细信息:" swapon --show if [ $? -eq 0 ]; then - log_info "***** swap单元功能验证成功 *****\n" + log_info "查看swap单元服务状态:\n`journalctl -u swapfile_service.swap`" + log_info "***** swap单元功能验证完成 *****\n" else log_warn "***** swap单元功能验证失败 *****\n" fi @@ -245,7 +264,7 @@ function verify_target() { log_info "查询所有运行级别传统runlevel与对应target信息如下:\n $(ls -al ${dir_systemd}/runlevel*.target | awk -F " " '{print $9 $10 $11}')" default_runlevel=`systemctl get-default` - log_info "查看当前系统默认target为: $(default_runlevel)" + log_info "查看当前系统默认target为: $default_runlevel" if [ "$default_runlevel" = "graphical.target" ]; then log_info "检测目标为桌面操作系统,检测完成。" else @@ -257,11 +276,11 @@ function verify_target() { log_warn "切换至单用户级别失败" fi fi - log_info "***** target单元功能验证成功 *****" + log_info "***** target单元功能验证完成 *****" # 重启系统 log_info "请等待3秒后将重启系统...\n" sleep 3 - reboot + } @@ -300,6 +319,8 @@ function clear_environment() { rm -f ${dir_systemd}/swapfile_service.swap export GO111MODULE="" + rm -f ${socket_file}/go.mod && + rm -f ${socket_file}/go.sum systemctl stop verify_reboot.service && rm -f ${dir_systemd}/verify_reboot.service diff --git a/ServiceChecker/utils/logger.py b/ServiceChecker/utils/logger.py index 79554ee..5e57f6c 100644 --- a/ServiceChecker/utils/logger.py +++ b/ServiceChecker/utils/logger.py @@ -10,6 +10,6 @@ def init_logger(): own_path = os.path.realpath(os.path.dirname(os.path.dirname(__file__))) conf_path = os.path.join(own_path, "config/logger.conf") defaults = {} - defaults.setdefault('args', str((os.path.join(os.path.dirname(own_path), 'Logs/service_checker.log'), 'a+', + defaults.setdefault('args', str((os.path.join(os.path.dirname(own_path), "Logs/service_checker.log"), 'a+', 50 * 1024 * 1024, 5))) logging.config.fileConfig(conf_path, defaults=defaults) -- Gitee From a7c81cf3f1f45c19698d194d5c97a247ff7344bb Mon Sep 17 00:00:00 2001 From: yang-yulong-007 <528553518@qq.com> Date: Tue, 28 Feb 2023 10:52:31 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A1=8C=E9=9D=A2?= =?UTF-8?q?=E7=89=88=E7=B3=BB=E7=BB=9F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ServiceChecker/service_verify.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ServiceChecker/service_verify.sh b/ServiceChecker/service_verify.sh index ef6fb8d..cda02ab 100644 --- a/ServiceChecker/service_verify.sh +++ b/ServiceChecker/service_verify.sh @@ -266,14 +266,14 @@ function verify_target() { default_runlevel=`systemctl get-default` log_info "查看当前系统默认target为: $default_runlevel" if [ "$default_runlevel" = "graphical.target" ]; then - log_info "检测目标为桌面操作系统,检测完成。" - else + log_info "检测目标为桌面版操作系统,当前运行级别为多用户模式($default_runlevel),runlevel信息为:`runlevel`" + elif [ "$default_runlevel" = "multi-user.target" ]; then systemctl isolate rescue.target if [ $? -eq 0 ]; then sleep 2 log_info "检测目标为服务器操作系统,切换当前运行级别至单用户模式(rescue.target)成功,runlevel信息为:`runlevel`" else - log_warn "切换至单用户级别失败" + log_warn "切换系统运行模式至单用户级别失败" fi fi log_info "***** target单元功能验证完成 *****" -- Gitee