public void main(string DateNTime) { #region string initialization string server = Read.GetFtpServer(); string user = Read.GetFtpUser(); string pass = Read.GetFtpPass(); string folder = Read.GetFtpFolder(); string[] files = GetFileList(); #endregion try { foreach (string file in files) { Download(file, DateNTime); } } catch (Exception EX) { Console.WriteLine("Error:" + EX); log.MakeLog(EX, null); } }
private void Options_Load(object sender, EventArgs e) { ftpDeXpand.Visible = false; FtpExpand.Visible = true; #region textbox loading Xml_Reader XML = new Xml_Reader(); string World = XML.GetWorld(); BackupFrom.Text = World; string BackupTime = XML.GetBackupTime(); BackuptimeText.Text = BackupTime; #endregion #region load Backup to folder string WorldTo = XML.GetBackupTo(); BackupTo.Text = WorldTo; #endregion #region ftp loading string ftpUser = XML.GetFtpUser(); string ftpPass = XML.GetFtpPass(); string ftpServer = XML.GetFtpServer(); string ftpFolder = XML.GetFtpFolder(); string ftpFolder2 = XML.GetFtpFolder2(); ftpUserText.Text = ftpUser; ftpPassText.Text = ftpPass; ftpServerText.Text = ftpServer; ftpFolderText.Text = ftpFolder; ftpFolder2Text.Text = ftpFolder2; #endregion #region load checkbox config string Compression = XML.UseCompression(); if (Compression == "yes") { UseCompression.Checked = true; } string Update = XML.GetUpdateSettings(); if (Update == "yes") { UpdatingCheckBox.Checked = true; } #endregion }
static void Main(string[] args) { if (args.Length == 0) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Backup()); } else { NativeMethods.AllocConsole(); if (args[0].ToLower() == "b" || args[0].ToLower() == "/b") #region backup { Error_Logging Log = new Error_Logging(); Xml_Reader read = new Xml_Reader(); if (!Directory.Exists(Environment.GetEnvironmentVariable("appdata") + "\\returnzork\\") || !File.Exists(Environment.GetEnvironmentVariable("appdata") + "\\returnzork\\Settings.config")) { Log.MakeLog(null, " Settings do not exist, cannot continue."); Console.WriteLine("The settings file does not exist. Cannot continue without the settings file."); Console.ReadKey(); Environment.Exit(0); } string FROM = read.GetWorld(); string TO = read.GetBackupTo(); string Compression = read.UseCompression(); string DateNTime = DateTime.Now.ToString("MM.dd.yyyy hh-mm-ss"); if (!FROM.EndsWith("\\") && FROM != "FTP") { FROM = FROM + "\\"; } if (!TO.EndsWith("\\") && TO != "FTP") { TO = TO + "\\"; } if (!Directory.Exists(FROM) && FROM != "FTP") { Console.WriteLine("CANNOT RUN WHEN THE WORLD FOLDER DOES NOT EXIST, AND WHEN NOT RUNNING ON FTP.\r\nTest"); Console.ReadKey(); Environment.Exit(0); } #region copy world #region Non FTP #region not exist if (!Directory.Exists(TO) && TO != "FTP") { Directory.CreateDirectory(TO); if (!Directory.Exists(TO + DateNTime)) { Directory.CreateDirectory(TO + DateNTime); } foreach (string dirPath in Directory.GetDirectories(FROM, "*", SearchOption.AllDirectories)) { Directory.CreateDirectory(dirPath.Replace(FROM, TO + DateNTime + "\\")); } foreach (string newPath in Directory.GetFiles(FROM, "*.*", SearchOption.AllDirectories)) { File.Copy(newPath, newPath.Replace(FROM, TO + DateNTime + "\\")); } Console.WriteLine("Finished copying world."); System.ComponentModel.BackgroundWorker bgworker = new System.ComponentModel.BackgroundWorker(); bgworker.DoWork += new System.ComponentModel.DoWorkEventHandler(bgworker_DoWork); bgworker.RunWorkerAsync(); Console.ReadKey(); Application.Exit(); #region compression if (Compression == "yes") { ZipFile zip = new ZipFile(); try { zip.AddDirectory(TO + DateNTime); zip.Save(TO + DateNTime + ".zip"); } catch (Exception ex) { Console.WriteLine("An error has occurred:r\n\"" + ex); Console.ReadKey(); Log.MakeLog(ex, null); } } #endregion } #endregion #region Exists else if (Directory.Exists(TO) && TO != "FTP") { if (!Directory.Exists(TO + DateNTime)) { Directory.CreateDirectory(TO + DateNTime); } foreach (string dirPath in Directory.GetDirectories(FROM, "*", SearchOption.AllDirectories)) { Directory.CreateDirectory(dirPath.Replace(FROM, TO + DateNTime + "\\")); } foreach (string newPath in Directory.GetFiles(FROM, "*.*", SearchOption.AllDirectories)) { File.Copy(newPath, newPath.Replace(FROM, TO + DateNTime + "\\")); } #region compression if (Compression == "yes") { ZipFile zip = new ZipFile(); try { zip.AddDirectory(TO + DateNTime); zip.Save(TO + DateNTime + ".zip"); } catch (Exception ex) { Console.WriteLine("An error has occurred:r\n\"" + ex); Console.ReadKey(); Log.MakeLog(ex, null); } } #endregion System.ComponentModel.BackgroundWorker bgworker = new System.ComponentModel.BackgroundWorker(); bgworker.WorkerReportsProgress = false; bgworker.DoWork += new System.ComponentModel.DoWorkEventHandler(bgworker_DoWork); bgworker.RunWorkerAsync(); Console.WriteLine("Finished copying world."); Console.ReadKey(); Environment.Exit(0); } #endregion #endregion #region FTP #region Upload else if (TO == "FTP") { Ftp_Upload upload = new Ftp_Upload(); upload.Upload(DateNTime); System.ComponentModel.BackgroundWorker bgworker = new System.ComponentModel.BackgroundWorker(); bgworker.WorkerReportsProgress = false; bgworker.DoWork += new System.ComponentModel.DoWorkEventHandler(bgworker_DoWork); bgworker.RunWorkerAsync(); Console.WriteLine("Finished"); Console.ReadKey(); Environment.Exit(0); } #endregion #region Download else if (FROM == "FTP") { Ftp_Download download = new Ftp_Download(); download.main(DateNTime); #region compression if (Compression == "yes") { ZipFile zip = new ZipFile(); try { zip.AddDirectory(TO + DateNTime); zip.Save(TO + DateNTime + ".zip"); } catch (Exception ex) { Console.WriteLine("An error has occurred:r\n\"" + ex); Console.ReadKey(); Log.MakeLog(ex, null); } } #endregion System.ComponentModel.BackgroundWorker bgworker = new System.ComponentModel.BackgroundWorker(); bgworker.WorkerReportsProgress = false; bgworker.DoWork += new System.ComponentModel.DoWorkEventHandler(bgworker_DoWork); bgworker.RunWorkerAsync(); Console.WriteLine("Finished"); Console.ReadKey(); Environment.Exit(0); } #endregion #endregion #endregion } #endregion else if (args[0].ToLower() == "r" || args[0].ToLower() == "/r") #region reset settings { if (Directory.Exists(Environment.GetEnvironmentVariable("APPDATA") + "\\returnzork\\")) { string[] FILES = Directory.GetFiles(Environment.GetEnvironmentVariable("APPDATA") + "\\returnzork\\"); foreach (string file in FILES) { File.Delete(file); } } Console.WriteLine("Completed!"); Console.WriteLine(""); Console.WriteLine("Press any key to exit..."); Console.ReadKey(); } #endregion else if (args[0].ToLower() == "settings" || args[0].ToLower() == "/s") #region Current settings { Xml_Reader xml = new Xml_Reader(); Console.WriteLine("Current settings are:"); Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("Backup time is: " + xml.GetBackupTime() + " minute(s)"); Console.WriteLine(); Console.WriteLine(); if (xml.GetBackupTo() == "ftp") { Console.WriteLine("Backup to ftp is: on"); } else { Console.WriteLine("Backup to ftp is: off"); } if (xml.GetWorld() == "ftp") { Console.WriteLine("Backup from ftp is: on"); } else { Console.WriteLine("Backup from ftp is: off"); } Console.WriteLine(); Console.WriteLine(); if (xml.GetWorld() != "ftp") { Console.WriteLine("Backup from directory is: " + xml.GetWorld()); } else { Console.WriteLine("Backup from directory is: ftp:\\\\" + xml.GetFtpServer() + "\\" + xml.GetFtpFolder() + "\\" + xml.GetFtpFolder2()); } if (xml.GetBackupTo() != "ftp") { Console.WriteLine("Backup to directory is: " + xml.GetBackupTo()); } else { Console.WriteLine("Backup to directory is: ftp:\\\\" + xml.GetFtpServer() + "\\" + xml.GetFtpFolder() + "\\" + xml.GetFtpFolder2()); } Console.WriteLine(); Console.WriteLine(); if (xml.GetUpdateSettings() == "no") { Console.WriteLine("Auto updating is: " + "off"); } else if (xml.GetUpdateSettings() == "yes") { Console.WriteLine("Auto updating is: " + "on"); } else { Console.WriteLine("Auto updating is: " + "not defined"); } Console.WriteLine(); Console.ReadLine(); } #endregion else #region help { if (args[0] != "/?") { Console.WriteLine("Invalid argument: " + args[0]); Console.WriteLine(""); Console.WriteLine(""); } Console.WriteLine("BackupV2.exe usage:"); Console.WriteLine(""); Console.WriteLine("/?: This help message"); Console.WriteLine("/B: Backup using the configuration files"); Console.WriteLine("/R: Delete all settings files. Start fresh."); Console.WriteLine(""); Console.WriteLine("Press any key to exit..."); Console.ReadKey(); } #endregion } }
public static string[] GetFileList() { Error_Logging log = new Error_Logging(); Xml_Reader Read = new Xml_Reader(); #region string initialization string Server = Read.GetFtpServer(); string User = Read.GetFtpUser(); string Pass = Read.GetFtpPass(); string Folder = Read.GetFtpFolder(); string Folder2 = Read.GetFtpFolder2(); string[] downloadFiles; #endregion StringBuilder result = new StringBuilder(); WebResponse responce = null; StreamReader reader = null; try { FtpWebRequest reqFTP; #region FTP details reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + Server + "/" + Folder + "/" + Folder2)); reqFTP.UseBinary = true; reqFTP.Credentials = new NetworkCredential(User, Pass); reqFTP.Method = WebRequestMethods.Ftp.ListDirectory; reqFTP.Proxy = null; reqFTP.KeepAlive = false; reqFTP.UsePassive = false; responce = reqFTP.GetResponse(); #endregion reader = new StreamReader(responce.GetResponseStream()); string line = reader.ReadLine(); while (line != null) { result.Append(line); result.Append("\n"); line = reader.ReadLine(); } result.Remove(result.ToString().LastIndexOf("\n"), 1); return(result.ToString().Split('\n')); } catch (Exception ex) { log.MakeLog(ex, null); #region cleanup if (reader != null) { reader.Close(); } if (responce != null) { responce.Close(); } downloadFiles = null; return(downloadFiles); #endregion } }
public void Upload(string DateNTime) { string LocalFolder = Read.GetWorld(); string Folder = Read.GetFtpFolder(); string Folder2 = Read.GetFtpFolder2(); string User = Read.GetFtpUser(); string Pass = Read.GetFtpPass(); string Server = Read.GetFtpServer(); WebResponse responce; //throw new NotImplementedException(); string[] FILES = Directory.GetFiles(LocalFolder); string[] fold = Directory.GetDirectories(LocalFolder); WebRequest Request = WebRequest.Create("ftp://" + Server + "/" + Folder + "/" + Folder2); Request.Method = WebRequestMethods.Ftp.MakeDirectory; Request.Credentials = new NetworkCredential(User, Pass); try { responce = Request.GetResponse(); } catch (Exception) { //creates error when the directory already exists, no need to log Console.WriteLine("FTP Directory root already exists, continuing..."); } Request = WebRequest.Create("ftp://" + Server + "/" + Folder + "/" + Folder2 + "/" + DateNTime); Request.Method = WebRequestMethods.Ftp.MakeDirectory; Request.Credentials = new NetworkCredential(User, Pass); try { responce = Request.GetResponse(); } catch (Exception ex) { Console.WriteLine("An error has occured:r\n\"" + ex); Console.ReadKey(); log.MakeLog(ex, null); } var path = LocalFolder; var dirName = new DirectoryInfo(path).Name; #region Create Directories and copy files foreach (string dir in fold) { dirName = new DirectoryInfo(dir).Name; string[] Files = Directory.GetFiles(dir); Request = WebRequest.Create("ftp://" + Server + "/" + Folder + "/" + Folder2 + "/" + DateNTime + "/" + dirName); Request.Method = WebRequestMethods.Ftp.MakeDirectory; Request.Credentials = new NetworkCredential(User, Pass); try { responce = Request.GetResponse(); } catch (Exception ex) { Console.WriteLine("An error has occurred:r\n\"" + ex); Console.ReadKey(); log.MakeLog(ex, null); } foreach (string file1 in Files) { if (file1 == null) { break; } WebClient client = new WebClient(); client.Credentials = new NetworkCredential(User, Pass); try { client.UploadFile("ftp://" + Server + "/" + Folder + "/" + Folder2 + "/" + DateNTime + "/" + dirName + "/" + new FileInfo(file1).Name, "STOR", file1); } catch (Exception ex) { Console.WriteLine("An error has occured:r\n\"" + ex); Console.ReadKey(); log.MakeLog(ex, null); } } } #endregion #region Copy files from root folder foreach (string files in FILES) { WebClient client = new WebClient(); client.Credentials = new NetworkCredential(User, Pass); try { client.UploadFile("ftp://" + Server + "/" + Folder + "/" + Folder2 + "/" + DateNTime + "/" + new FileInfo(files).Name, "STOR", files); } catch (Exception ex) { Console.WriteLine("An error has occured:r\n\"" + ex); Console.ReadKey(); log.MakeLog(ex, null); } } #endregion Console.WriteLine("Finished FTP upload of world."); Console.ReadKey(); }
static void Main(string[] args) { if (args.Length == 0) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Backup()); } else { NativeMethods.AllocConsole(); if (args[0].ToLower() == "b" || args[0].ToLower() == "/b") #region backup { Error_Logging Log = new Error_Logging(); Xml_Reader read = new Xml_Reader(); if (!Directory.Exists(Environment.GetEnvironmentVariable("appdata") + "\\returnzork\\") || !File.Exists(Environment.GetEnvironmentVariable("appdata") + "\\returnzork\\Settings.config")) { Log.MakeLog(null, " Settings do not exist, cannot continue."); Console.WriteLine("The settings file does not exist. Cannot continue without the settings file."); Console.ReadKey(); Environment.Exit(0); } string FROM = read.GetWorld(); string TO = read.GetBackupTo(); string Compression = read.UseCompression(); string DateNTime = DateTime.Now.ToString("MM.dd.yyyy hh-mm-ss"); if(!FROM.EndsWith("\\") && FROM != "FTP") { FROM = FROM + "\\"; } if (!TO.EndsWith("\\") && TO != "FTP") { TO = TO + "\\"; } if (!Directory.Exists(FROM) && FROM != "FTP") { Console.WriteLine("CANNOT RUN WHEN THE WORLD FOLDER DOES NOT EXIST, AND WHEN NOT RUNNING ON FTP.\r\nTest"); Console.ReadKey(); Environment.Exit(0); } #region copy world #region Non FTP #region not exist if (!Directory.Exists(TO) && TO != "FTP") { Directory.CreateDirectory(TO); if (!Directory.Exists(TO + DateNTime)) { Directory.CreateDirectory(TO + DateNTime); } foreach (string dirPath in Directory.GetDirectories(FROM, "*", SearchOption.AllDirectories)) Directory.CreateDirectory(dirPath.Replace(FROM, TO + DateNTime + "\\")); foreach (string newPath in Directory.GetFiles(FROM, "*.*", SearchOption.AllDirectories)) File.Copy(newPath, newPath.Replace(FROM, TO + DateNTime + "\\")); Console.WriteLine("Finished copying world."); System.ComponentModel.BackgroundWorker bgworker = new System.ComponentModel.BackgroundWorker(); bgworker.DoWork +=new System.ComponentModel.DoWorkEventHandler(bgworker_DoWork); bgworker.RunWorkerAsync(); Console.ReadKey(); Application.Exit(); #region compression if (Compression == "yes") { ZipFile zip = new ZipFile(); try { zip.AddDirectory(TO + DateNTime); zip.Save(TO + DateNTime + ".zip"); } catch (Exception ex) { Console.WriteLine("An error has occurred:r\n\"" + ex); Console.ReadKey(); Log.MakeLog(ex, null); } } #endregion } #endregion #region Exists else if (Directory.Exists(TO) && TO != "FTP") { if (!Directory.Exists(TO + DateNTime)) { Directory.CreateDirectory(TO + DateNTime); } foreach (string dirPath in Directory.GetDirectories(FROM, "*", SearchOption.AllDirectories)) Directory.CreateDirectory(dirPath.Replace(FROM, TO + DateNTime + "\\")); foreach (string newPath in Directory.GetFiles(FROM, "*.*", SearchOption.AllDirectories)) File.Copy(newPath, newPath.Replace(FROM, TO + DateNTime + "\\")); #region compression if (Compression == "yes") { ZipFile zip = new ZipFile(); try { zip.AddDirectory(TO + DateNTime); zip.Save(TO + DateNTime + ".zip"); } catch (Exception ex) { Console.WriteLine("An error has occurred:r\n\"" + ex); Console.ReadKey(); Log.MakeLog(ex, null); } } #endregion System.ComponentModel.BackgroundWorker bgworker = new System.ComponentModel.BackgroundWorker(); bgworker.WorkerReportsProgress = false; bgworker.DoWork += new System.ComponentModel.DoWorkEventHandler(bgworker_DoWork); bgworker.RunWorkerAsync(); Console.WriteLine("Finished copying world."); Console.ReadKey(); Environment.Exit(0); } #endregion #endregion #region FTP #region Upload else if (TO == "FTP") { Ftp_Upload upload = new Ftp_Upload(); upload.Upload(DateNTime); System.ComponentModel.BackgroundWorker bgworker = new System.ComponentModel.BackgroundWorker(); bgworker.WorkerReportsProgress = false; bgworker.DoWork += new System.ComponentModel.DoWorkEventHandler(bgworker_DoWork); bgworker.RunWorkerAsync(); Console.WriteLine("Finished"); Console.ReadKey(); Environment.Exit(0); } #endregion #region Download else if (FROM == "FTP") { Ftp_Download download = new Ftp_Download(); download.main(DateNTime); #region compression if (Compression == "yes") { ZipFile zip = new ZipFile(); try { zip.AddDirectory(TO + DateNTime); zip.Save(TO + DateNTime + ".zip"); } catch (Exception ex) { Console.WriteLine("An error has occurred:r\n\"" + ex); Console.ReadKey(); Log.MakeLog(ex, null); } } #endregion System.ComponentModel.BackgroundWorker bgworker = new System.ComponentModel.BackgroundWorker(); bgworker.WorkerReportsProgress = false; bgworker.DoWork += new System.ComponentModel.DoWorkEventHandler(bgworker_DoWork); bgworker.RunWorkerAsync(); Console.WriteLine("Finished"); Console.ReadKey(); Environment.Exit(0); } #endregion #endregion #endregion } #endregion else if (args[0].ToLower() == "r" || args[0].ToLower() == "/r") #region reset settings { if (Directory.Exists(Environment.GetEnvironmentVariable("APPDATA") + "\\returnzork\\")) { string[] FILES = Directory.GetFiles(Environment.GetEnvironmentVariable("APPDATA") + "\\returnzork\\"); foreach (string file in FILES) { File.Delete(file); } } Console.WriteLine("Completed!"); Console.WriteLine(""); Console.WriteLine("Press any key to exit..."); Console.ReadKey(); } #endregion else if (args[0].ToLower() == "settings" || args[0].ToLower() == "/s") #region Current settings { Xml_Reader xml = new Xml_Reader(); Console.WriteLine("Current settings are:"); Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("Backup time is: " + xml.GetBackupTime() + " minute(s)"); Console.WriteLine(); Console.WriteLine(); if (xml.GetBackupTo() == "ftp") { Console.WriteLine("Backup to ftp is: on"); } else { Console.WriteLine("Backup to ftp is: off"); } if (xml.GetWorld() == "ftp") { Console.WriteLine("Backup from ftp is: on"); } else { Console.WriteLine("Backup from ftp is: off"); } Console.WriteLine(); Console.WriteLine(); if (xml.GetWorld() != "ftp") { Console.WriteLine("Backup from directory is: " + xml.GetWorld()); } else { Console.WriteLine("Backup from directory is: ftp:\\\\" + xml.GetFtpServer() + "\\" + xml.GetFtpFolder() + "\\" + xml.GetFtpFolder2()); } if (xml.GetBackupTo() != "ftp") { Console.WriteLine("Backup to directory is: " + xml.GetBackupTo()); } else { Console.WriteLine("Backup to directory is: ftp:\\\\" + xml.GetFtpServer() + "\\" + xml.GetFtpFolder() + "\\" +xml.GetFtpFolder2()); } Console.WriteLine(); Console.WriteLine(); if(xml.GetUpdateSettings() == "no") { Console.WriteLine("Auto updating is: " + "off"); } else if (xml.GetUpdateSettings() == "yes") { Console.WriteLine("Auto updating is: " + "on"); } else { Console.WriteLine("Auto updating is: " + "not defined"); } Console.WriteLine(); Console.ReadLine(); } #endregion else #region help { if (args[0] != "/?") { Console.WriteLine("Invalid argument: " + args[0]); Console.WriteLine(""); Console.WriteLine(""); } Console.WriteLine("BackupV2.exe usage:"); Console.WriteLine(""); Console.WriteLine("/?: This help message"); Console.WriteLine("/B: Backup using the configuration files"); Console.WriteLine("/R: Delete all settings files. Start fresh."); Console.WriteLine(""); Console.WriteLine("Press any key to exit..."); Console.ReadKey(); } #endregion } }
public static string[] GetFileList() { Error_Logging log = new Error_Logging(); Xml_Reader Read = new Xml_Reader(); #region string initialization string Server = Read.GetFtpServer(); string User = Read.GetFtpUser(); string Pass = Read.GetFtpPass(); string Folder = Read.GetFtpFolder(); string Folder2 = Read.GetFtpFolder2(); string[] downloadFiles; #endregion StringBuilder result = new StringBuilder(); WebResponse responce = null; StreamReader reader = null; try { FtpWebRequest reqFTP; #region FTP details reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + Server + "/" + Folder + "/" + Folder2)); reqFTP.UseBinary = true; reqFTP.Credentials = new NetworkCredential(User, Pass); reqFTP.Method = WebRequestMethods.Ftp.ListDirectory; reqFTP.Proxy = null; reqFTP.KeepAlive = false; reqFTP.UsePassive = false; responce = reqFTP.GetResponse(); #endregion reader = new StreamReader(responce.GetResponseStream()); string line = reader.ReadLine(); while (line != null) { result.Append(line); result.Append("\n"); line = reader.ReadLine(); } result.Remove(result.ToString().LastIndexOf("\n"), 1); return result.ToString().Split('\n'); } catch(Exception ex) { log.MakeLog(ex,null); #region cleanup if (reader != null) { reader.Close(); } if (responce != null) { responce.Close(); } downloadFiles = null; return downloadFiles; #endregion } }