[java] 자바에서 파일 시스템과 데이터베이스를 동시에 백업하는 방법

파일 시스템 백업

먼저, Apache Commons 라이브러리를 사용하여 파일 시스템을 백업하는 방법은 다음과 같습니다.

  1. Apache Commons IO 라이브러리를 프로젝트에 추가합니다.
  2. 백업할 파일 또는 디렉토리의 경로를 지정합니다.
  3. FileUtils 클래스를 사용하여 파일을 복사하거나 압축하여 백업을 수행합니다.
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;

public class FileSystemBackup {
    public static void backupFileSystem(String sourcePath, String destinationPath) throws IOException {
        File source = new File(sourcePath);
        File destination = new File(destinationPath);
        
        if (source.isDirectory()) {
            FileUtils.copyDirectory(source, destination);
        } else {
            FileUtils.copyFile(source, destination);
        }
    }
}

데이터베이스 백업

데이터베이스를 백업하는 방법은 데이터베이스 종류에 따라 다르지만, JDBC를 사용하여 데이터베이스에 연결하고 SQL 쿼리를 사용하여 백업 파일을 생성할 수 있습니다. 다음은 MySQL 데이터베이스를 백업하는 예제 코드입니다.

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DatabaseBackup {
    public static void backupDatabase(String jdbcUrl, String username, String password, String backupPath) throws SQLException, IOException {
        try (Connection connection = DriverManager.getConnection(jdbcUrl, username, password)) {
            String sql = "BACKUP DATABASE TO '" + backupPath + "'";
            connection.createStatement().execute(sql);
        }
    }
}

이제 다음 단계는 파일 시스템 백업과 데이터베이스 백업을 조합하여 동시에 백업을 수행하는 것입니다. 이를 위해 스케줄링 작업을 설정하거나 스크립트를 작성하여 자동화할 수 있습니다.

Apache Commons 라이브러리 및 JDBC를 활용하여 Java에서 파일 시스템과 데이터베이스를 동시에 백업하는 방법을 익혔습니다. 이를 통해 중요한 데이터를 안전하게 보호할 수 있게 됩니다.