1. import java.io.File;
  2. import java.io.IOException;
  3. import java.nio.file.Files;
  4. import java.nio.file.Path;
  5. import java.nio.file.Paths;
  6. import java.time.LocalDateTime;
  7. import java.time.format.DateTimeFormatter;
  8. import java.util.ArrayList;
  9. import java.util.List;
  10. public class ConfigBackup {
  11. public static void backupConfigFiles(String configDir, String backupDir) {
  12. // Create backup directory if it doesn't exist
  13. File backupDirectory = new File(backupDir);
  14. if (!backupDirectory.exists()) {
  15. backupDirectory.mkdirs();
  16. }
  17. // Get list of files in config directory
  18. File configDirFile = new File(configDir);
  19. if (!configDirFile.exists() || !configDirFile.isDirectory()) {
  20. System.err.println("Error: Config directory does not exist or is not a directory.");
  21. return;
  22. }
  23. List<File> configFiles = new ArrayList<>();
  24. for (File file : configDirFile.listFiles()) {
  25. if (file.isFile()) {
  26. configFiles.add(file);
  27. }
  28. }
  29. // Backup each configuration file
  30. for (File configFile : configFiles) {
  31. try {
  32. // Generate backup file name with timestamp
  33. DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd_HHmmss");
  34. String timestamp = LocalDateTime.now().format(formatter);
  35. String fileName = timestamp + "_" + configFile.getName();
  36. Path backupPath = Paths.get(backupDirectory.getAbsolutePath(), fileName);
  37. // Copy the file to the backup directory
  38. Files.copy(configFile.toPath(), backupPath);
  39. System.out.println("Backed up: " + configFile.getAbsolutePath() + " to " + backupPath.toString());
  40. } catch (IOException e) {
  41. System.err.println("Error backing up " + configFile.getAbsolutePath() + ": " + e.getMessage());
  42. }
  43. }
  44. }
  45. public static void main(String[] args) {
  46. // Example usage
  47. String configDirectory = "/path/to/your/config/files"; // Replace with your config directory
  48. String backupDirectory = "/path/to/your/backup/directory"; // Replace with your backup directory
  49. backupConfigFiles(configDirectory, backupDirectory);
  50. }
  51. }

Add your comment