public void backup() { try { FileAttributes attr = File.GetAttributes(config.source); if ((attr & FileAttributes.Directory) == FileAttributes.Directory) { backupFolder(config, tag); } else { backupFile(config, tag); } if (config.backupLimit > 0) { String[] sa = ConfigHandler.getBackupDirsForConfig(config, false); if (sa.Length > config.backupLimit) { int newSize = sa.Length - config.backupLimit; String[] saNew = new String[newSize]; Array.Copy(sa, 0, saNew, 0, newSize); this.delete(saNew.ToList()); } } } catch (Exception ex) { if (ex is ThreadAbortException) { controller.sendError("Backup may have partially completed"); } else { controller.sendError(ex.Message); } controller.setProgressBar(0); } }
public String[] getBackupDirs(String id, Boolean nameOnly) { Config c = configs[id]; return(ConfigHandler.getBackupDirsForConfig(c, nameOnly)); }