На диске D: есть sql-база размером 1Tb.
Я регулярно делаю архив дампа базы, на диск C:.
Архив дампа по размеру больше чем диск C: поэтому (и по ряду других причин) я разбиваю архив на тома по 1Gb.
Архивация происходит через bat-файл:
"c:\program files\winrar\rar.exe" a -dh -v1G -k -vp -ag -m5 -r -s "c:/sqlBackup/" "d:\sqlServer\unbelievableBigFile.sql"
Ключ -vp отвечает за то чтобы после создания каждого тома программа запрашивала подтверждение о продолжении работы.
Предполагается работа второго процесса в powershell, который отслеживает появление новых файлов в папке бэкапа. И как только они появляются - выгружает их в интернет. И то что выгрузил - удаляет, освобождая место для новых.
Архивация происходит значительно быстрее чем процесс выгрузки бэкапов в интернет, поэтому надо притормаживать создание очередного тома.
Запланировано что при остатке свободного места на диске C: менее 5 Gb, процесс архивации приостанавливается, пока файлы не будут выгружены в инет и не освободят место для новых томов.
В консоли это выглядит так:
Для создания очередного тома нужно нажать "Y", а затем ENTER.
Как автоматизировать нажатие этих клавиш? Подразумевается что перед нажатием этих клавиш надо будет проверить размер свободного места на диске C: