Beispiel #1
0
        public static void CreateDemoRequiredFiles()
        {
            BackupFiles objBackupFiles;
            BackupFile objBackupFile;
            FilesToBackup objFilesToBackup;
            FileToBackUp objFileToBackup;
            SingleFileToBackUp objSingleFileToBackup;

            //Procedure for reading file from tape; Backup files must have a Size, NewFileName, FilePath and StartTapeLocation to be restored
            objBackupFiles = new BackupFiles();
            objBackupFile = new BackupFile { StartTapeLocation = 0, EndTapeLocation = 84673, FilePath = Directory.GetCurrentDirectory() + "\\", FileName = "Test1.txt", Size = 5549095658 };
            objBackupFiles.Add(objBackupFile);
            objBackupFile = new BackupFile { StartTapeLocation = 84673, EndTapeLocation = 84990, FilePath = Directory.GetCurrentDirectory() + "\\", FileName = "Test2.txt", Size = 20764304 };
            objBackupFiles.Add(objBackupFile);
            objBackupFiles.SaveToXMLFile(Directory.GetCurrentDirectory() + "\\", "BackedUpFilesExample.xml");

            //Backup files must have a FilePath and FileName in order to be written to the tape; StartTapeLocation is required when writing a single file,
            //otherwise the app assigns locations as it's backing up multiple files
            objFilesToBackup = new FilesToBackup();
            objFileToBackup = new FileToBackUp { FilePath = Directory.GetCurrentDirectory() + "\\", FileName = "Test1.txt" };
            objFilesToBackup.Add(objFileToBackup);
            objFileToBackup = new FileToBackUp { FilePath = Directory.GetCurrentDirectory() + "\\", FileName = "Test2.txt" };
            objFilesToBackup.Add(objFileToBackup);
            objFilesToBackup.SaveToXMLFile(Directory.GetCurrentDirectory() + "\\", "FilesToBackupExample.xml");

            objSingleFileToBackup = new SingleFileToBackUp { StartTapeLocation = 84673, FilePath = Directory.GetCurrentDirectory() + "\\", FileName = "Test2.txt" };
            objSingleFileToBackup.Serialize(Directory.GetCurrentDirectory() + "\\FileToBackupExample.xml");
        }
Beispiel #2
0
        /// <summary>
        /// Updates the collection of backup files at index if it's exists, otherwise adds a new one.
        /// </summary>
        /// <param name="index"></param>
        /// <param name="backupFile"></param>
        public void UpdateBackupFile(int index, BackupFile backupFile)
        {
            if (BackupFiles[index] == null)
            {
                BackupFiles.Add(backupFile);
                return;
            }

            BackupFiles[index] = backupFile;
        }
Beispiel #3
0
        /// <summary>
        /// Create/store a backup of the specified file, and then downloads it locally to a known path
        /// </summary>
        /// <param name="modItem"></param>
        /// <param name="fileName"></param>
        /// <param name="installFilePath"></param>
        public void CreateBackupFile(ModItem modItem, string fileName, string installFilePath)
        {
            var fileBackupFolder = GetGameBackupFolder(modItem);

            _ = Directory.CreateDirectory(fileBackupFolder);

            var backupFile = new BackupFile
            {
                CategoryId  = modItem.GameId,
                FileName    = fileName,
                LocalPath   = Path.Combine(fileBackupFolder, fileName),
                InstallPath = installFilePath
            };

            FtpExtensions.DownloadFile(backupFile.LocalPath, backupFile.InstallPath);

            BackupFiles.Add(backupFile);
        }
Beispiel #4
0
        public FileEntry AddBackupFile(string fileName /* C:/Windows/write.exe */, int replicationDegree)
        {
            if (string.IsNullOrWhiteSpace(fileName))
            {
                throw new ArgumentNullException("fileName");
            }

            if (!File.Exists(fileName))
            {
                return(null);
            }

            // get a unique filename from the original file path
            // if the new filename already exists, append a number to it
            var fileNameWithoutPath = Path.GetFileName(fileName); /* write.exe */
            var newFileName         = fileNameWithoutPath;
            var count = 1;

            while (BackupFiles.ContainsKey(newFileName))
            {
                var ext  = Path.GetExtension(newFileName);
                var name = Path.GetFileNameWithoutExtension(newFileName);

                newFileName = name + '_' + count + ext;
                count++;
            }

            var fileEntry = new FileEntry
            {
                FileName          = newFileName,
                OriginalFileName  = fileName,
                ReplicationDegree = replicationDegree
            };

            BackupFiles.Add(newFileName, fileEntry);
            return(fileEntry);
        }
Beispiel #5
0
        private static void BackupSingleFile(string strFileToBackupFilePathAndName)
        {
            SingleFileToBackUp objSingleFileToBackup;
            //BackupFiles objBackupFiles;
            BackupFile objBackupFile;

            try
            {
                using (StreamWriter w = File.CreateText("log.txt"))
                {
                    Log(string.Format("Backup Operation Started at {0}", DateTime.Now), w);
                    // Close the writer and underlying file.
                    w.Close();
                }

                BackupFileList = new BackupFiles();
                objSingleFileToBackup = SingleFileToBackUp.DeSerialize(strFileToBackupFilePathAndName);
                objBackupFile = new BackupFile { FileName = objSingleFileToBackup.FileName, FilePath = objSingleFileToBackup.FilePath, StartTapeLocation = objSingleFileToBackup.StartTapeLocation };

                Backup.WriteFileToTape(objBackupFile);
                BackupFileList.Add(objBackupFile);
                BackupFileList.SaveToXMLFile(Directory.GetCurrentDirectory() + "\\", "BackedUpFile.xml");

                using (StreamWriter w = File.AppendText("log.txt"))
                {
                    Log(string.Format("Backup Operation Ended at {0}", DateTime.Now), w);
                    // Close the writer and underlying file.
                    w.Close();
                }
            }
            catch (Exception objEx)
            {
                using (StreamWriter w = File.AppendText("log.txt"))
                {
                    Log(string.Format("Error {0}", objEx.ToString()), w);
                    // Close the writer and underlying file.
                    w.Close();
                }
            }
        }
Beispiel #6
0
 public void WriteFileToTape(BackupFile objBackupFile)
 {
     BackupFiles objBackupFiles = new BackupFiles();
     objBackupFiles.Add(objBackupFile);
     WriteFilesToTape(objBackupFiles, true);
 }
Beispiel #7
0
        public void ReadFileFromTape(BackupFile objBackupFile)
        {
            BackupFiles objBackupFiles;

            objBackupFiles = new BackupFiles();
            objBackupFiles.Add(objBackupFile);
            ReadFilesFromTape(objBackupFiles);
        }