Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Консольное приложение

Консольное приложение для резервного копирования файлов

Технологический стек:

  • .NET 6.0
  • Cronos
  • Docker

Настройки программы находятся в файле appsettings.json, там же есть комментарий описывающий правила установки параметров

Как использовать с Docker?

  1. Если необходимо изменить источник данных для копирования, меняем 5ю строку в Dockerfile

    COPY ["FileReservWorker/tmp/source", "tmp/source"]

    На

    COPY ["[ПУТЬ_К_НОВОМУ_ИСТОЧНИКУ_ДАННЫХ]", "tmp/source"]

    (Изменяя SourcePath мы меняем место, внутри докера, где будет храниться источник данных)

    Если все же хотим поменять место хранения внутри докера, то меняем tmp/source пункт

  2. Если необходимо изменить место хранения копий, то просто меняем DestinationPath в appsettings.json и PROFIT

  3. Периодичность меняется согласно синтаксису Crono , за исключением строковых литералов (WEN, TUE, DEC и т.д.), вместо них следует использовать числа (номера дней или месяцев)

  4. Для запуска, необходимо собрать контейнер, после чего, программа готова к использованию.

Как использовать вне Docker?

  1. Меняя SourcePath на другой путь, меняется место источника для копирования
  2. Меняя DestinationPath на другой, меняется место для хранения резервных копий
  3. Аналогично 3-му пункту выше.
  4. Для запуска, необходимо запустить исполняемый файл программы.

Особенности реализации

  1. Решение поддерживает запуск с помощью Docker.
  2. Сравнение файлов реализовано как с помошью вычисления хэша, так и с помощью сравнения даты последнего изменения. (Можно изменить в Program.cs стр. 42)
  3. Реализовано логгирование.
  4. Конфиг приложения может меняется во время исполнения, путем изменения файла appsettings.json

About

Test task

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages