Написать скрипт для бэкапирования данных пользователей на сетевой диск (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
|
Чтобы между ЗАКАЗЧИКОМ и ИСПОЛНИТЕЛЕМ было достигнуто полное ВЗАИМОПОНИМАНИЕ, посмотрите этот видеоролик.
Если вы фрилансер, получаете деньги за свои услуги, то пользоваться традиционными сервисами не всегда удобно, например, получить деньги из заграницы от зарубежного заказчика, сейчас практически не реально. В данном случае, выгодно воспользоваться обменными пунктами, где меньше ограничений, лучший курс и скидки. Согласны? На bestchange.ru представлены именно такие обменные пункты, обладающие безупречной репутацией, решающие любые вопросы на раз-два-три. Более 400 проверенных обменных онлайн-сервисов в одном месте — bestchange.ru
Место для Вашей рекламы ;) Хотите разместить рекламу ваших услуг, сервиса или компании в данном месте?
7 дней — 1500 руб.; 14 дней — 2700 руб.; 30 дней — 5700 руб.
Пишите на почту: freten.site@yandex.ru
Похожие задания и вакансии
Опубликован: 27.11.2024 13:22
Опубликован: 23.11.2024 15:46