CentOS Java备份与恢复步骤
一 备份范围与准备
readlink -f $(which java) 或 update-alternatives --list javajava -version > /backup/java_version.txt二 备份步骤
sudo tar -czvf java_backup_$(date +%F_%H-%M-%S).tar.gz -C /usr/lib/jvm .sudo rsync -a /usr/lib/jvm/ /backup/java/jvm/sudo cp -a /etc/profile /backup/java/etc_profile.baksudo cp -a /etc/profile.d/java.sh /backup/java/etc_profile.d_java.sh.bak 2>/dev/null || truecp -a ~/.bashrc ~/.bash_profile /backup/java/sudo cp -a /etc/environment /backup/java/etc_environment.bak 2>/dev/null || truesudo cp -a $JAVA_HOME/conf/security $JAVA_HOME/jre/lib/security /backup/java/security/sudo cp -a $JAVA_HOME/jre/lib/security/cacerts /backup/java/cacerts.baksudo tar -czvf tomcat_conf_$(date +%F).tar.gz -C /opt/tomcat/conf .sha256sum /usr/lib/jvm/java-*/bin/java 与备份中对应文件比对三 恢复步骤
sudo tar -xzvf java_backup_*.tar.gz -C /sudo rsync -a /backup/java/jvm/ /usr/lib/jvm/sudo cp -a /backup/java/etc_profile.bak /etc/profilesudo cp -a /backup/java/etc_profile.d_java.sh.bak /etc/profile.d/java.sh 2>/dev/null || truecp -a /backup/java/.bashrc /backup/java/.bash_profile ~/sudo cp -a /backup/java/etc_environment.bak /etc/environment 2>/dev/null || truesource /etc/profile && source ~/.bashrcsudo cp -a /backup/java/security/* $JAVA_HOME/conf/security/sudo cp -a /backup/java/cacerts.bak $JAVA_HOME/jre/lib/security/cacertssudo tar -xzvf tomcat_conf_*.tar.gz -C /opt/tomcat/mysql -u user -p db < db_*.sqljava -version(应与备份时记录一致)which java、readlink -f $(which java)、echo $JAVA_HOMEkeytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit | head四 无法还原时的重建方案
sudo yum list installed | grep javasudo yum reinstall java-1.8.0-openjdk -yecho 'export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk' | sudo tee /etc/profile.d/java.shecho 'export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk' >> ~/.bashrcsource /etc/profile.d/java.sh && source ~/.bashrcjava -version五 注意事项与最佳实践