Написать скрипт для бэкапирования данных пользователей на сетевой диск (SMB) (тендер № 4964)


Поделиться тендером:

Специализация:
Статус тендера:
Закрыт
Описание задания:
Скрипт должен копировать файлы из папок пользователей ( к примеру Desktop и Documents ) на отдельный компьютер по сети, а так же стирать старые копии на удаленном SMB по истечению времени хранения. Результат работ: инструкция + файлы для разворачивания скрипта на десктопной Windows ver 10/11. Запуск: Скрипт запускается регламентным заданием от пользователя с правами локального Администратора. Машина может быть как в домене так и в рабочей группе. При запуске скрипту передается файл настроек. Пример строки запуска: backup.py config1.cfg Формат файла настроек: * Root: Корневая папка по которой скрипт работает ( К примеру C:\Users ) * RootName: Имя используемое при создании удаленной папки ( К примеру: COMP2_Users ). Описание ниже подробнее. * Names: Имена папок по которым он будет искать файлы пользователей ( К примеру Desktop,Documents ) * ExMask: - Маски файлов которые не рассматриваются ( *.ini, *.cfg ) * ExSize: - Размер файла выше которого пропускаем в Mb ( Пример 100 ) * Mode: - Режим работы 1-Полный бэкап 0-Инкремент(только файлы с изменениями за последние 24 часа ) * DaysCheck: Количество дней после которых файлы могут удаляться на SMB диске * MinCopy: Минимальное количество копий ( по имени файла ) которое сохраняем вне зависимости от предыдущего пункта. * MaxDate: Количество дней для безусловного удаления файлов. SMBPath: Путь для копии Пример: \\CompName\ShareFolderBackup User: логин удаленной машинки Пример: BackupUser Pass: Пароль Пример: Good@Pass *** Алгоритм работы 1. Проходим по подпапкам корневой папки локальной машины и получаем доступ для чтения везде где ранее не получили ( со времени предыдущего запуска могли быть добавлены пользователи). 2. Составляем список файлов для подпапок в Root совпадающими c Names и не попадающие под исключающие фильтра ExMask ExSize Mode(при инкрементном бэкапе) Полный путь к файлу + Имя файла 3. Если список не пустой создаем на удаленном пути папку ГОД_МЕСЯЦ_ДЕНЬ и записываем в нее полученную структуру файлов и папок в которых они располагаются. Вся найденная структура в ROOT записывается в созданную папку ГОД_МЕСЯЦ_ДЕНЬ\RootName\. 4. Проверяем что весь список включая открытые в момент копирования файлы были успешно скопированы. Пишем запись в лог файл в папке скрипта ( режим дополнение ). ДАТА #УСПЕХ Файлы скопированы или ДАТА #ОШИБКА - достаточно пути к первому файлу где она была обнаружена. 5. Чистим старые файлы на удаленном хранилище. Для этого составляем список файлов у которых превышено значение DaysCheck на SMBPath: Уникальным значением в списке является полный путь к файлу начиная с подпапки RootName ( не учитываем дату ) / Флаг превышения DaysCheck/Флаг превышения MaxDate. Сразу удаляем файлы со сроком хранения выше MaxDate от сегодняшнего дня без исключения. Для оставшихся строк у которых дата создания меньше MaxDate считаем их уникальное количество Для строк превышающих значения MinCopy оставляем только MinCopy самых новых файлов. Остальные так же удаляем. Спасибо за внимание к проекту. Оперативно постараюсь ответить на возникшие вопросы. Для рассмотрения заявки обязательно укажите примерные сроки и стоимость.
Ориентировочная стоимость:
Требуется расчёт
Тип субъекта:
Физическое лицо
Варианты оплаты:
Без предоплаты
Место работы:
Дистанционно
Дата публикации:
31.03.2023 15:00

Просмотров: 344

Место для Вашей рекламы ;)
Хотите разместить рекламу ваших услуг, сервиса или компании в данном месте?
7 дней — 1500 руб.; 14 дней — 2700 руб.; 30 дней — 5700 руб.
Пишите на почту: freten.site@yandex.ru



Похожие задания и вакансии