在CentOS系统中对Java应用程序进行备份和恢复,可以采用多种方法和工具。以下是一些常用的备份与恢复策略:
使用tar命令进行文件备份:
sudo mkdir /backup
backup_java_logs.sh
):#!/bin/bash
BACKUP_DIR="/path/to/backup/directory"
DATE=$(date %Y%m%d)
cp /path/to/your/java/logs/*.log $BACKUP_DIR/$DATE.log
echo "Logs backed up successfully."
/path/to/your/java/logs/*.log
find $BACKUP_DIR -mtime 30 -type f -name "*.log" -exec rm -f {} \;
0 0 * * * /path/to/backup_java_logs.sh
使用logrotate进行日志轮转和备份:
sudo yum install logrotate
sudo nano /etc/logrotate.d/java
添加以下内容:/path/to/your/java/logs/*.log {
daily
rotate 7
compress
missingok
notifempty
create 0644 root root
}
sudo systemctl reload logrotate
使用mysqldump进行数据库备份:
sudo yum install mysql-server
backup_database.sh
):#!/bin/bash
DB_USER="your_db_user"
DB_PASS="your_db_password"
BACKUP_DIR="/path/to/backup/directory"
DATE=$(date %Y%m%d)
mysqldump -u $DB_USER -p$DB_PASS your_database_name > $BACKUP_DIR/backup_$DATE.sql
echo "Database backed up successfully."
0 0 * * * /path/to/backup_database.sh
使用rsync进行文件同步备份:
sudo yum install rsync
sudo mkdir /backup
backup.sh
):#!/bin/bash
SOURCE_DIR="/path/to/important/data"
BACKUP_DIR="/backup"
LOG_FILE="/backup/backup.log"
rsync -avz --delete $SOURCE_DIR $BACKUP_DIR
echo "Data backed up successfully." >> $LOG_FILE
0 0 * * * /path/to/backup.sh
使用Restic进行备份:
sudo yum install restic
restic init --repo /tmp/backup
restic --repo /tmp/backup backup /path/to/backup
restic restore latest
从备份文件中恢复:
tar -xzvf backup.tar.gz -C /destination/directory/
restic restore latest
恢复已删除的文件: