Java在CentOS上的备份与恢复方法
导读:一、Java在CentOS上的备份方法 1. 文件与目录备份 tar命令(全量备份):适用于Java应用文件(如JAR包、配置文件、静态资源)、日志文件等的完整备份。通过--exclude参数排除无需备份的目录(如/proc、/sys),...
一、Java在CentOS上的备份方法
1. 文件与目录备份
- tar命令(全量备份):适用于Java应用文件(如JAR包、配置文件、静态资源)、日志文件等的完整备份。通过
--exclude参数排除无需备份的目录(如/proc、/sys),减少备份体积。示例命令:tar -czvf /backup/java_app_$(date +%Y%m%d).tar.gz --exclude=/proc --exclude=/sys /path/to/java/app。 - rsync命令(增量备份):仅同步源目录与目标目录差异的文件,节省存储空间和带宽。首次全量备份后,后续备份仅传输新增或修改的文件。示例命令:
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/(增量,保留硬链接节省空间)。
2. 数据库备份(针对使用数据库的Java应用)
- mysqldump命令:用于MySQL/MariaDB数据库的逻辑备份,生成可恢复的SQL文件。示例脚本:
mysqldump -u root -p'your_password' your_database > /backup/java_db_$(date +%Y%m%d).sql。建议将数据库用户密码存储在配置文件中(如~/.my.cnf),避免命令行泄露。
3. 日志备份
- logrotate工具(自动化日志管理):系统自带工具,可实现日志的轮转(按大小/时间分割)、压缩、删除旧日志。示例配置(
/etc/logrotate.d/java):
/path/to/java/logs/*.log { daily rotate 7 compress missingok notifempty create 0644 root root }
该配置表示每日轮转日志,保留最近7天的压缩日志,空日志不处理。
4. 第三方备份工具
- Restic(加密备份):支持增量备份、加密(AES-256)和去重,适合长期存储。安装后初始化仓库:
restic init --repo /backup/restic_repo;备份Java应用目录:restic -r /backup/restic_repo backup /path/to/java/app。
5. 自动化与定时任务
- crontab设置定时任务:通过
crontab -e添加定时任务,实现定期自动备份。示例(每天凌晨2点执行备份脚本):0 2 * * * /path/to/backup_script.sh。备份脚本需包含上述备份命令及日志记录(如echo "$(date): Backup completed" > > /var/log/java_backup.log)。
二、Java在CentOS上的恢复方法
1. 文件与目录恢复
- tar命令恢复:将备份的tar包解压到目标目录(覆盖原有文件)。示例命令:
tar -xzvf /backup/java_app_20250910.tar.gz -C /path/to/java/app。 - rsync命令恢复:将备份目录同步到原始位置(需确保目标目录存在)。示例命令:
rsync -avz /backup/java_app_incremental/ /path/to/java/app/。
2. 数据库恢复
- mysqldump恢复:使用
mysql命令导入备份的SQL文件。示例命令:mysql -u root -p'your_password' your_database < /backup/java_db_20250910.sql。
3. 日志恢复
- 从备份目录恢复:若日志文件被logrotate轮转或备份,可直接从备份目录(如
/backup/java_logs/20250910/)复制到原始日志目录(如/path/to/java/logs/)。
4. Java服务恢复
- 重启Java进程:
① 查找Java进程PID:ps -ef | grep java(过滤出目标Java应用的进程);
② 停止进程:kill -9 < PID>(强制终止进程);
③ 启动服务:nohup java -jar /path/to/java/app.jar > /path/to/java/logs/app.log 2> & 1 &(后台启动,日志输出到指定文件)。
5. 数据恢复(误删场景)
- extundelete工具(ext3/ext4文件系统):恢复误删的Java文件(如JAR包、配置文件)。安装后执行:
extundelete /dev/sdXY --restore-all(/dev/sdXY为目标分区,如/dev/sda1),恢复的文件保存在当前目录的RECOVERED_FILES文件夹中。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Java在CentOS上的备份与恢复方法
本文地址: https://pptw.com/jishu/734619.html
