CentOS Java恢复操作指南
一 快速恢复路径
which java、java -version、echo $JAVA_HOME、ls /usr/lib/jvm/tar -xzf java_backup_20231001.tar.gz -C /usr/java/sudo yum install -y java-11-openjdk-develjava -version、javac -version、echo $JAVA_HOME 与 /usr/lib/jvm/ 目录完整性。二 场景化恢复步骤
sudo yum install -y java-11-openjdk-develsudo cp -r /etc/yum.repos.d/ /etc/yum.repos.d.bak/sudo sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*sudo sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*sudo dnf clean all && sudo dnf makecachesudo dnf install -y java-11-openjdk-devel三 服务级恢复与保活
ps -ef | grep java、kill -9 <PID>(仅在无法正常停止时使用)/path/to/java -jar /path/to/app.jar四 常用命令与脚本示例
ls /usr/lib/jvm/、readlink -f $(which java)sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk/bin/java 1100sudo alternatives --config java(按提示选择编号)sudo vi /etc/profileexport JAVA_HOME=/usr/lib/jvm/java-11-openjdkexport PATH=$JAVA_HOME/bin:$PATHsource /etc/profilechmod +x restart.sh && ./restart.sh(可配合 crontab 定时执行)#!/bin/sh
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export PATH=$JAVA_HOME/bin:$PATH
JAR_DIR="/opt/myapp"
JAR_FILE="app.jar"
LOG_FILE="/var/log/app_restart.log"
restart() {
cd "$JAR_DIR" || return
if [ ! -f "$JAR_FILE" ]; then
echo "$(date): JAR not found: $JAR_FILE" >> "$LOG_FILE"
return
fi
nohup java -jar "$JAR_FILE" >> "$LOG_FILE" 2>&1 &
}
check() {
COUNT=$(ps -ef | grep "$JAR_FILE" | grep -v grep | wc -l)
if [ "$COUNT" -gt 0 ]; then
echo "$(date): $JAR_FILE is running" >> "$LOG_FILE"
else
echo "$(date): $JAR_FILE is down, restarting" >> "$LOG_FILE"
restart
fi
}
check