一、Java在CentOS上的备份方法
--exclude参数排除无需备份的目录(如/proc、/sys),减少备份体积。示例命令:tar -czvf /backup/java_app_$(date +%Y%m%d).tar.gz --exclude=/proc --exclude=/sys /path/to/java/app。rsync -avz --delete /source/java/app/ /backup/java_app/(全量);rsync -avz --delete --link-dest=/backup/java_app_latest/ /source/java/app/ /backup/java_app_incremental/(增量,保留硬链接节省空间)。mysqldump -u root -p'your_password' your_database > /backup/java_db_$(date +%Y%m%d).sql。建议将数据库用户密码存储在配置文件中(如~/.my.cnf),避免命令行泄露。/etc/logrotate.d/java):/path/to/java/logs/*.log { daily rotate 7 compress missingok notifempty create 0644 root root }restic init --repo /backup/restic_repo;备份Java应用目录:restic -r /backup/restic_repo backup /path/to/java/app。crontab -e添加定时任务,实现定期自动备份。示例(每天凌晨2点执行备份脚本):0 2 * * * /path/to/backup_script.sh。备份脚本需包含上述备份命令及日志记录(如echo "$(date): Backup completed" >> /var/log/java_backup.log)。二、Java在CentOS上的恢复方法
tar -xzvf /backup/java_app_20250910.tar.gz -C /path/to/java/app。rsync -avz /backup/java_app_incremental/ /path/to/java/app/。mysql命令导入备份的SQL文件。示例命令:mysql -u root -p'your_password' your_database < /backup/java_db_20250910.sql。/backup/java_logs/20250910/)复制到原始日志目录(如/path/to/java/logs/)。ps -ef | grep java(过滤出目标Java应用的进程);kill -9 <PID>(强制终止进程);nohup java -jar /path/to/java/app.jar > /path/to/java/logs/app.log 2>&1 &(后台启动,日志输出到指定文件)。extundelete /dev/sdXY --restore-all(/dev/sdXY为目标分区,如/dev/sda1),恢复的文件保存在当前目录的RECOVERED_FILES文件夹中。