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);
            }
        }
Exemplo n.º 2
0
        public String[] getBackupDirs(String id, Boolean nameOnly)
        {
            Config c = configs[id];

            return(ConfigHandler.getBackupDirsForConfig(c, nameOnly));
        }