import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
public class ConfigBackup {
public static void backupConfigFiles(String configDir, String backupDir) {
// Create backup directory if it doesn't exist
File backupDirectory = new File(backupDir);
if (!backupDirectory.exists()) {
backupDirectory.mkdirs();
}
// Get list of files in config directory
File configDirFile = new File(configDir);
if (!configDirFile.exists() || !configDirFile.isDirectory()) {
System.err.println("Error: Config directory does not exist or is not a directory.");
return;
}
List<File> configFiles = new ArrayList<>();
for (File file : configDirFile.listFiles()) {
if (file.isFile()) {
configFiles.add(file);
}
}
// Backup each configuration file
for (File configFile : configFiles) {
try {
// Generate backup file name with timestamp
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd_HHmmss");
String timestamp = LocalDateTime.now().format(formatter);
String fileName = timestamp + "_" + configFile.getName();
Path backupPath = Paths.get(backupDirectory.getAbsolutePath(), fileName);
// Copy the file to the backup directory
Files.copy(configFile.toPath(), backupPath);
System.out.println("Backed up: " + configFile.getAbsolutePath() + " to " + backupPath.toString());
} catch (IOException e) {
System.err.println("Error backing up " + configFile.getAbsolutePath() + ": " + e.getMessage());
}
}
}
public static void main(String[] args) {
// Example usage
String configDirectory = "/path/to/your/config/files"; // Replace with your config directory
String backupDirectory = "/path/to/your/backup/directory"; // Replace with your backup directory
backupConfigFiles(configDirectory, backupDirectory);
}
}
Add your comment