[java] 자바에서 파일 시스템과 데이터베이스를 동시에 백업하는 방법
파일 시스템 백업
먼저, Apache Commons 라이브러리를 사용하여 파일 시스템을 백업하는 방법은 다음과 같습니다.
- Apache Commons IO 라이브러리를 프로젝트에 추가합니다.
- 백업할 파일 또는 디렉토리의 경로를 지정합니다.
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에서 파일 시스템과 데이터베이스를 동시에 백업하는 방법을 익혔습니다. 이를 통해 중요한 데이터를 안전하게 보호할 수 있게 됩니다.