使用asp.net进行一键式网站备份

Has*_*anG 5 .net c# asp.net backup

我想定期备份我的网站,但不是通过ftp程序备份我的文件,我想要一键式解决方案,它将复制我的所有文件并压缩它们并允许下载.这可以通过asp.net在同一个网站上完成,还是我必须为此目的编写一个.net应用程序?

Has*_*anG 6

使用DotNetZip可以轻松备份.只需提供目录名称即可备份并等待下载文件.甚至可以为zip设置密码.我喜欢开源解决方案.

using Ionic.Zip;

public void btnOneClickZip_Click(Object sender, EventArgs e)
{
    Response.Clear();
    Response.BufferOutput = false;

    string archiveName = String.Format("backup-{0}.zip",
    DateTime.Now.ToString("yyyy-MM-dd-HHmmss"));
    Response.ContentType = "application/zip";
    Response.AddHeader("content-disposition", "filename=" + archiveName);

    using (ZipFile zip = new ZipFile())
    {
        zip.AddDirectory(Server.MapPath("~/Assets/Upload/"),
            "httpdocs/Assets/Upload");
        zip.AddDirectory(Server.MapPath("~/App_Data/"), "httpdocs/App_Data");

        zip.Save(Response.OutputStream);
    }
    Response.Close();
}
Run Code Online (Sandbox Code Playgroud)