Резервное копирование веб-сайта с одним щелчком с asp.net

Я хочу скопировать свой веб-сайт регулярно, но вместо резервного копирования мои файлы с помощью программы ftp я хочу решение с одним щелчком, которое скопирует все мои файлы и архивирует их и позволит загружать. Это может быть сделано с asp.net на том же веб-сайте, или я должен записать приложение .NET с этой целью?

5
задан HasanG 1 June 2010 в 07:03
поделиться

2 ответа

Резервное копирование было очень простым с 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();
}
6
ответ дан 14 December 2019 в 04:31
поделиться

Я думаю, что таким образом ты сможешь сделать то, что выиграл.

Найдите zip-библиотеку, например SharpZipLib , и вы просто программируете для создания zip-файла и включаете основной путь приложения HttpContext.Current.Request.PhysicalApplicationPath , включая все пути.

Сохраните этот созданный zip-файл во временном каталоге и просто загрузите его.

Это быстрое решение и, возможно, возникнут некоторые проблемы, например, возможно, не удастся открыть заблокированные файлы ...

Если вы выиграли резервное копирование только своей базы данных, вы должны думать иначе.

Надеюсь на эту помощь.

2
ответ дан 14 December 2019 в 04:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: