PDA

View Full Version : پشتیبان گیری



مهدی رحیم زاده
دوشنبه 25 خرداد 1388, 15:57 عصر
سلام
یک سایت هست که با PHP و MySql نوشته شده . کاربرای سایت میخوان امکانی رو سایت باشه که خودش بتونه از اطلاعات اونا پشتیبان بگیره و خود برنامه اونو از سرور به صورت خودکار دانلود کنه تا وقتی کاربرا خواستن با اطلاعات کار کنن به صورت Offline هم بتونن کار کنن.
می خواستم بدونم راهی هست ه بشه این کار رو با ASP.net انجام داد؟
با تشکر

مهدی رحیم زاده
سه شنبه 26 خرداد 1388, 15:14 عصر
دوستان کسی نمی خوادراهنمایی کنه؟

masoud.ramezani
سه شنبه 26 خرداد 1388, 15:54 عصر
سلام

میشه بیشتر توضیح بدین؟

مهدی رحیم زاده
سه شنبه 26 خرداد 1388, 22:40 عصر
ببینید باید خود سایت این امکان رو داشته باشه که پشتبان بانک رو به صورت اوتوماتیک دانلود کنه .
راهی داه؟
با تشکر

masoud.ramezani
پنج شنبه 28 خرداد 1388, 09:52 صبح
فکر کنم راهش ساده باشد. مثلا میتوانید تمام فایلهای سایت را تبدیل به یک فایل فشرده با فرمت tar.gz کنید و در یکی از شاخه ها ذخیره نمایید و پس از آن به راحتی آن را دانلود نمایید.
فکر میکنم نمونه کد در این زمینه زیاد باشد. کافیه کل فایلها را توسط یک foreach خوانده و در فایل فشرده قرار دهید.

maryam_272
دوشنبه 08 تیر 1388, 15:55 عصر
سلام
شما می خواهید از دیتابیس بک آپ بگیرید یا از صفحات سایت؟

مهدی رحیم زاده
دوشنبه 08 تیر 1388, 22:50 عصر
سلام
شما می خواهید از دیتابیس بک آپ بگیرید یا از صفحات سایت؟
از دیتا بیس

maryam_272
سه شنبه 09 تیر 1388, 09:43 صبح
من برای پشتیبان گیری از دیتابیس ابتدا یک stored procedure تعریف کردم به شکل زیر

PROCEDURE [dbo].[BackupToDisk]
(@db_name nvarchar(50),@disk nvarchar(300),@pass nvarchar(20))
AS
BACKUP DATABASE @db_name TO disk=@Disk with Password=@pass

بعد در تابعی که میخواهم بک آپ گیری انجام بشه به شکل زیر اونرو فراخوانی کردم

(تابعی که con را باز می کند)
OpenConnection()
Dim NameDatabase As String = ConfigurationManager.AppSettings("DatabaseName") & "_Database_Backup_" & Replace(Datefarsi("NamayeshDateFarsi"), "/", "-") & "_" & Format(Now.Hour, "00") + "-" + Format(Now.Minute, "00") + "-" + Format(Now.Second, "00") & "_Web "
Dim StrCommand As String = MapPad & "\" & NameDatabase & ".bck"
Dim MyCmd As New SqlCommand("BackupToDisk " & ConfigurationManager.AppSettings("DatabaseName") & ", '" & StrCommand & "', 'lawlaw'", con)
MyCmd.ExecuteNonQuery()
SubZipFile(MapPad & "\" & NameDatabase & ".zip", MapPad + "\", MapPad & "\" & NameDatabase & ".bck")
File.Delete(MapPad & "\" & NameDatabase & ".bck")

--------------------------------------------------------------------------------------------------

Imports System
Imports System.IO.Directory
Imports ComponentAce.Compression.ZipForge
Imports ComponentAce.Compression.Archiver

Sub SubZipFile(ByVal FileName As String, ByVal MasirFile As String, ByVal MasirSabtFile As String)
Dim archiver As ZipForge = New ZipForge()
Try
' The name of the ZIP file to be created
archiver.FileName = FileName
' Specify FileMode.Create to create a new ZIP file
' or FileMode.Open to open an existing archive
archiver.OpenArchive(System.IO.FileMode.Create)
' Default path for all operations
archiver.BaseDir = MasirFile
' Add file C:\file.txt the archive; wildcards can be used as well
archiver.AddFiles(MasirSabtFile)
' Close archive
archiver.CloseArchive()
' Catch all exceptions of the ArchiverException type
Catch ae As ArchiverException
Console.WriteLine("Message: {0} Error code: {1}", ae.Message, ae.ErrorCode)
' Wait for keypress
Console.ReadLine()
End Try
End Sub

هرکجای برنامه رو متوجه نشدید بگید تا توضیح بدم در ضمن برای اجرای این برنامه نیاز به ZipForge.dll دارید که ضمیمه می کنم.

reza6966
پنج شنبه 08 مهر 1389, 04:25 صبح
من یک سوال داشتم از دوستان
این کد که maryam_272 دادند , واسه پشتیبانگیری از دیتا بیس سایت کار می دهد ؟؟؟؟؟؟

من می خوام کدی توی سایتم قرار بدم که باهاش مدیر سایت بتونه با یک کلیک دیتا بیس سایت رو backup یا restore کنه:اشتباه:
ممنون می شم کمک ام کنید :متفکر: