Данная статья может быть полезной администраторам, программистам, чьи копии баз хранятся в облаке мейл.
Штатная выгрузка работает в обе стороны, в случае если шифровальщик зашифрует данные либо будут ошибочно удалены, они обновятся на облаке.
mail ru сделал крутое api, программист Erast Korolev сделал отличную реализацию работы с mail облаком https://github.com/erastmorgan/Mail.Ru-.net-cloud-client
Слегка доработаем, и получим утилиту для выгрузки данных на облако мейл, с последующим удалением по истечению 45 дней из облака мейл
using System;
using MailRuCloudApi;
using System.IO;
using System.ComponentModel;
namespace ConsoleApplication1
{
class Program
{
static private Account account;
static void Main(string[] args)
{
Console.WriteLine(args.Length.ToString());
if (args.Length != 4)
{
return;
}
var fileName = args[0];
var destinationPath = args[1];
var login = args[2];
var password = args[3];
account = new Account(login, password);
var api = new MailRuCloud() { Account = account };
//var percent = 0;
api.ChangingProgressEvent += delegate (object sender, ProgressChangedEventArgs e)
{
//percent = e.ProgressPercentage
Console.WriteLine("uploading "+e.ProgressPercentage);
};
api.UploadFile(new FileInfo(fileName), destinationPath).Wait();
DateTime today = DateTime.Now;
DateTime answer = today.AddDays(Convert.ToDouble(-45));
Entry items = api.GetItems(destinationPath).Result;
foreach (MailRuCloudApi.File f in items.Files)
{
if (f.LastModifiedTimeUTC<answer)
{
api.Remove(f.FulPath).Wait();
}
}
api = null;
}
}
}
Запуск из bat:
path_to_exe "path_unload_file" "path_cloud_folder" "login" "password"
bat в планировщик настроить время при необходимости.
Скрин примера работы:
оно работает и на бесплатной подписке к облаку?
в редми написано что работает и с файлами больше 2Гб, но вроде это возможно только на платных подписках
работает на бесплатной, что касается свыше 2 гб сказать не могу не проверял, если через браузер возможно грузить больше 2 гб, то и утилита сможет
(1) Судя по коду библиотеки там стоит ограничение при записи на 2Гб.
Добрый день! А можно для непродвинутых пользователей дать более подробную инструкцию как работать с скаченным материалом )
При скачке ожидал, что внутри будет развернутая инструкция типа как ставить, какие требования, что прописать и куда и пример )
в архиве есть батник, в нем меняете свои пути, пример есть в статье
Было бы здоров, чтобы этот параметр тоже передавать, а если не передан, то по умолчанию 45
C:BackupConsoleApplication1inDebug>C:BackupConsoleApplication1inDebugConsoleApplication1.
exe «C:BackupBackup» «Backup» «тут был логин…» «тут был пароль»
4
Необработанное исключение: System.AggregateException: Произошла одна или несколько ошибок. —> Syst
em.IO.FileNotFoundException: Файл ‘C:BackupBackup’ не найден.
в System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
в System.IO.FileInfo.get_Length()
в MailRuCloudApi.MailRuCloud.<UploadFile>d__38.MoveNext() в D:\__\_sourceMail.Ru-.net-cloud-clie
nt-masterMailRuCloudApiMailRuCloudApi.cs:строка 643
— Конец трассировки внутреннего стека исключений —
в System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken
)
в System.Threading.Tasks.Task.Wait()
в ConsoleApplication1.Program.Main(String[] args) в D:\__\_sourceMail.Ru-.net-cloud-client-maste
rConsoleApplication1Program.cs:строка 37
(7)Файл ‘C:BackupBackup’ не найден.??