#region Validacionde backup if (Variables.BackUp == true) { #region BackUps // Indicar procedimiento SqlCommand cmdbackup = new SqlCommand(); cmdbackup.Connection = cnn; cmdbackup.CommandType = CommandType.StoredProcedure; cmdbackup.CommandText = "RealizarBackUp"; // Ejecutar procedimiento cmdbackup.ExecuteNonQuery(); // Indicar procedimiento cmdbackup.CommandType = CommandType.StoredProcedure; cmdbackup.CommandText = "RealizarBackUpControl"; // Ejecutar procedimiento cmdbackup.ExecuteNonQuery(); // Indicar procedimiento cmdbackup.CommandType = CommandType.StoredProcedure; cmdbackup.CommandText = "RealizarBackUpUsuarios"; // Ejecutar procedimiento cmdbackup.ExecuteNonQuery(); #endregion // Validacion de nivel if (Variables.Nivel == 1 || Variables.Nivel > 3) { // Variables para la ruta del backup string RutaBackCarpincho = ""; string RutaBackControl = ""; string RutaBackUsuarios = ""; string RutaCompartida = ""; // Funciona, pero por ahora qeda comentado #region BackUps Compartidos #region Carpincho // Seleccionar todos los archivos .bak string[] BackUpCarpincho = Directory.GetFiles(@"C:\CarpinchoSoft\BackUps\", "*.bak"); // Buscar el ultimo realizado int IndiceBackUpCarpincho = BackUpCarpincho.Count(); if (IndiceBackUpCarpincho > 0) { if (IndiceBackUpCarpincho > 5) { int iContador = 0; for (int i = IndiceBackUpCarpincho; i > 5; i--) { File.Delete(BackUpCarpincho[iContador]); iContador++; } } // Indicar ruta de back RutaBackCarpincho = BackUpCarpincho[IndiceBackUpCarpincho - 1]; //RutaBackCarpincho = Convert.ToString(@"C:\CarpinchoSoft\BackUps\copia.bak"); // Ruta compartida Carpincho if (Directory.Exists(@"C:\Program Files\CarpinchoSoft\Carpincho Software\$BDCompartida$")) { RutaCompartida = @"C:\Program Files\CarpinchoSoft\Carpincho Software\$BDCompartida$\CarpinchoSoft.bak"; } else { RutaCompartida = @"C:\Archivos de programa\CarpinchoSoft\Carpincho Software\$BDCompartida$\CarpinchoSoft.bak"; } // Copiar back de Carpincho File.Copy(RutaBackCarpincho, RutaCompartida, true); // Compartir BackUp try { System.Security.AccessControl.FileSecurity fSec = File.GetAccessControl(RutaCompartida); fSec.AddAccessRule(new System.Security.AccessControl.FileSystemAccessRule(@"Everyone", System.Security.AccessControl.FileSystemRights.FullControl, System.Security.AccessControl.AccessControlType.Allow)); File.SetAccessControl(RutaCompartida, fSec); } catch { System.Security.AccessControl.FileSecurity fSec = File.GetAccessControl(RutaCompartida); fSec.AddAccessRule(new System.Security.AccessControl.FileSystemAccessRule(@"Todos", System.Security.AccessControl.FileSystemRights.FullControl, System.Security.AccessControl.AccessControlType.Allow)); File.SetAccessControl(RutaCompartida, fSec); } } #endregion #region Control // Seleccionar todos los archivos .bak string[] BackUpControl = Directory.GetFiles(@"C:\CarpinchoSoft\BackUps\Control\", "*.bak"); // Buscar el ultimo realizado int IndiceBackUpControl = BackUpControl.Count(); if (IndiceBackUpControl > 0) { if (IndiceBackUpControl > 5) { int iContador = 0; for (int i = IndiceBackUpControl; i > 5; i--) { File.Delete(BackUpControl[iContador]); iContador++; } } // Indicar ruta de back RutaBackControl = BackUpControl[IndiceBackUpControl - 1]; // Ruta compartida Control if (Directory.Exists(@"C:\Program Files\CarpinchoSoft\Carpincho Software\$BDCompartida$")) { RutaCompartida = @"C:\Program Files\CarpinchoSoft\Carpincho Software\$BDCompartida$\ControlCarpinchoSoft.bak"; } else { RutaCompartida = @"C:\Archivos de programa\CarpinchoSoft\Carpincho Software\$BDCompartida$\ControlCarpinchoSoft.bak"; } // Copiar back de Control File.Copy(RutaBackControl, RutaCompartida, true); // Compartir BackUp try { System.Security.AccessControl.FileSecurity fSec = File.GetAccessControl(RutaCompartida); fSec.AddAccessRule(new System.Security.AccessControl.FileSystemAccessRule(@"Everyone", System.Security.AccessControl.FileSystemRights.FullControl, System.Security.AccessControl.AccessControlType.Allow)); File.SetAccessControl(RutaCompartida, fSec); } catch { System.Security.AccessControl.FileSecurity fSec = File.GetAccessControl(RutaCompartida); fSec.AddAccessRule(new System.Security.AccessControl.FileSystemAccessRule(@"Todos", System.Security.AccessControl.FileSystemRights.FullControl, System.Security.AccessControl.AccessControlType.Allow)); File.SetAccessControl(RutaCompartida, fSec); } } #endregion #region Usuarios // Seleccionar todos los archivos .bak string[] BackUpUsuarios = Directory.GetFiles(@"C:\CarpinchoSoft\BackUps\Usuarios\", "*.bak"); // Buscar el ultimo realizado int IndiceBackUpUsuarios = BackUpUsuarios.Count(); if (IndiceBackUpUsuarios > 0) { if (IndiceBackUpUsuarios > 5) { int iContador = 0; for (int i = IndiceBackUpUsuarios; i > 5; i--) { File.Delete(BackUpUsuarios[iContador]); iContador++; } } // Indicar ruta de back RutaBackUsuarios = BackUpUsuarios[IndiceBackUpUsuarios - 1]; // Ruta compartida Usuarios if (Directory.Exists(@"C:\Program Files\CarpinchoSoft\Carpincho Software\$BDCompartida$")) { RutaCompartida = @"C:\Program Files\CarpinchoSoft\Carpincho Software\$BDCompartida$\UsuariosCarpinchoSoft.bak"; } else { RutaCompartida = @"C:\Archivos de programa\CarpinchoSoft\Carpincho Software\$BDCompartida$\UsuariosCarpinchoSoft.bak"; } // Copiar back de Usuarios File.Copy(RutaBackUsuarios, RutaCompartida, true); // Compartir BackUp try { System.Security.AccessControl.FileSecurity fSec = File.GetAccessControl(RutaCompartida); fSec.AddAccessRule(new System.Security.AccessControl.FileSystemAccessRule(@"Everyone", System.Security.AccessControl.FileSystemRights.FullControl, System.Security.AccessControl.AccessControlType.Allow)); File.SetAccessControl(RutaCompartida, fSec); } catch { System.Security.AccessControl.FileSecurity fSec = File.GetAccessControl(RutaCompartida); fSec.AddAccessRule(new System.Security.AccessControl.FileSystemAccessRule(@"Todos", System.Security.AccessControl.FileSystemRights.FullControl, System.Security.AccessControl.AccessControlType.Allow)); File.SetAccessControl(RutaCompartida, fSec); } } #endregion #endregion // Indicar posibles discos string VectorDiscos = "A,B,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z"; // Dividirlos en posiciones string[] Discos = VectorDiscos.Trim().Split(','); // Recorrer cada posicion #region Copias de backup for (int i = 0; i < 25; i++) { try { // Validar existencia if (Directory.Exists(Discos[i].ToString().Trim().ToUpper() + @":\CarpinchoSoft\BackUps\Carpincho")) { string[] archivosPen = Directory.GetFiles(Discos[i].ToString().Trim().ToUpper() + @":\CarpinchoSoft\BackUps\Carpincho\", "*.*"); int iCantidadPen = archivosPen.Count(); if (iCantidadPen > 5) { for (int x = iCantidadPen; x > 5; x--) //for (int x = 0; x < iCantidadPen; x+*/+) { File.Delete(archivosPen[x]); } } #region BackUp Carpincho // Indicar ruta de back if (IndiceBackUpCarpincho > 0) { RutaBackCarpincho = BackUpCarpincho[IndiceBackUpCarpincho - 1]; string UltimoBackUpCarpinchoSub = RutaBackCarpincho.Trim().Substring(0, 38); if (UltimoBackUpCarpinchoSub == @"C:\CarpinchoSoft\BackUps\CarpinchoSoft") { // Indicar ruta de pendrive string RutaPenCarpincho = Discos[i].ToString().Trim().ToUpper() + @":\CarpinchoSoft\BackUps\CarpinchoSoft" + RutaBackCarpincho.Trim().Substring(24); // Copiar back de Carpincho File.Copy(RutaBackCarpincho, RutaPenCarpincho, true); // Copia al servidor Variables.Conexion = false;////cancelo conexion al servidor if (Variables.Conexion == true) { // Enviarlo por FTP ConexionFTP cFTP = new ConexionFTP(); // Indicar nombre de la empresa, nombre de archivo y la ruta donde se encuentra cFTP.EnviarFTP(RutaBackCarpincho.Trim().Substring(24), RutaBackCarpincho); } } } #endregion } // Validar existencia if (Directory.Exists(Discos[i].ToString().Trim().ToUpper() + @":\CarpinchoSoft\BackUps\Control")) { string[] archivosPen = Directory.GetFiles(Discos[i].ToString().Trim().ToUpper() + @":\CarpinchoSoft\BackUps\Control\", "*.*"); int iCantidadPen = archivosPen.Count(); if (iCantidadPen > 0) { for (int x = 0; x < iCantidadPen; x++) { File.Delete(archivosPen[x]); } } #region BackUp Control // Indicar ruta de back if (IndiceBackUpControl > 0) { RutaBackControl = BackUpControl[IndiceBackUpControl - 1]; string UltimoBackUpControlSub = RutaBackControl.Trim().Substring(0, 40); if (UltimoBackUpControlSub == @"C:\CarpinchoSoft\BackUps\Control\Control") { // Indicar ruta de pendrive string RutaPenControl = Discos[i].ToString().Trim().ToUpper() + @":\CarpinchoSoft\BackUps\Control" + RutaBackControl.Trim().Substring(32); // Copiar back de Carpincho File.Copy(RutaBackControl, RutaPenControl, true); // Copia al servidor Variables.Conexion = false;////cancelo conexion al servidor if (Variables.Conexion == true) { // Enviarlo por FTP ConexionFTP cFTP = new ConexionFTP(); // Indicar nombre de la empresa, nombre de archivo y la ruta donde se encuentra cFTP.EnviarFTP(RutaBackControl.Trim().Substring(32), RutaBackControl); } } } #endregion } // Validar existencia if (Directory.Exists(Discos[i].ToString().Trim().ToUpper() + @":\CarpinchoSoft\BackUps\Usuarios")) { string[] archivosPen = Directory.GetFiles(Discos[i].ToString().Trim().ToUpper() + @":\CarpinchoSoft\BackUps\Usuarios\", "*.*"); int iCantidadPen = archivosPen.Count(); if (iCantidadPen > 0) { for (int x = 0; x < iCantidadPen; x++) { File.Delete(archivosPen[x]); } } #region BackUp Usuarios // Indicar ruta de back if (IndiceBackUpUsuarios > 0) { RutaBackUsuarios = BackUpUsuarios[IndiceBackUpUsuarios - 1]; string UltimoBackUpUsuariosSub = RutaBackUsuarios.Trim().Substring(0, 42); if (UltimoBackUpUsuariosSub == @"C:\CarpinchoSoft\BackUps\Usuarios\Usuarios") { // Indicar ruta de pendrive string RutaPenUsuaiors = Discos[i].ToString().Trim().ToUpper() + @":\CarpinchoSoft\BackUps\Usuarios" + RutaBackUsuarios.Trim().Substring(33); // Copiar back de Carpincho File.Copy(RutaBackUsuarios, RutaPenUsuaiors, true); // Copia al servidor Variables.Conexion = false;////cancelo conexion al servidor if (Variables.Conexion == true) { // Enviarlo por FTP ConexionFTP cFTP = new ConexionFTP(); // Indicar nombre de la empresa, nombre de archivo y la ruta donde se encuentra cFTP.EnviarFTP(RutaBackUsuarios.Trim().Substring(33), RutaBackUsuarios); } } } #endregion } break; } catch { } } #endregion } } #endregion