progs:codex
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
progs:codex [26.07.2017 09:13] – [Скрипт обновления] viacheslav | progs:codex [30.07.2024 19:21] (текущий) – внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ===== Справочная система " | ||
+ | " | ||
+ | ==== Скрипт обновления ==== | ||
+ | Скрипт надо запускать на сервере, | ||
+ | |||
+ | <code powershell> | ||
+ | $currentyear = (Get-Date -Format yyyy) | ||
+ | $currentmonth = (Get-Date -Format MM) | ||
+ | $usbdisk = ' | ||
+ | $usbbases = " | ||
+ | $usboperup = " | ||
+ | $usbreports = " | ||
+ | $kodeks = ' | ||
+ | $kodeksbases = " | ||
+ | $kodeksoperup = " | ||
+ | $reports = ' | ||
+ | $exclude = @(' | ||
+ | |||
+ | # Загрузить модуль для копирования файлов с прогресс-баром | ||
+ | Import-Module BitsTransfer | ||
+ | |||
+ | # Остановить работу сервера | ||
+ | Stop-Process -Name kserver -Force -Confirm: | ||
+ | |||
+ | # Подождать 10 секунд, | ||
+ | Start-Sleep -Seconds 10 | ||
+ | |||
+ | # Очистить Operup, скопировать новый со съёмного диска | ||
+ | Remove-Item $kodeksoperup\* -Force -Confirm: | ||
+ | # BITS используется, | ||
+ | Start-BitsTransfer -Source $usboperup\* -Destination $kodeksoperup -Description " | ||
+ | # Немного колхозный вариант, | ||
+ | # cmd /c copy /z $usboperup\* $kodeksoperup | ||
+ | # Если прогресс-бар не нужен вообще: | ||
+ | # Copy-Item -Path $usboperup\* -Destination $kodeksoperup | ||
+ | |||
+ | # Скопировать базы со съёмного диска, исключая некоторые базы | ||
+ | Get-ChildItem $usbbases -Exclude $exclude | Start-BitsTransfer -Source { $_ } -Destination $kodeksbases -Description " | ||
+ | # Немного колхозный вариант, | ||
+ | # Get-ChildItem $usbbases -Exclude $exclude | where { ! $_.PSIsContainer } | %{cmd /c copy /z $_ $kodeksbases} # для Powershell 2.0 (Windows 2003) | ||
+ | # Get-ChildItem $usbbases -File -Exclude $exclude | %{cmd /c copy /z $_ $kodeksbases} # для Powershell 3.0 и выше | ||
+ | # Если прогресс-бар не нужен вообще: | ||
+ | # Get-ChildItem $usbbases -Exclude $exclude | where { ! $_.PSIsContainer } | Copy-Item -Destination $kodeksbases -Force -Confirm: | ||
+ | # Get-ChildItem $usbbases -File -Exclude $exclude | Copy-Item -Destination $kodeksbases -Force -Confirm: | ||
+ | |||
+ | # Сделать папку на съёмном диске для отчётов | ||
+ | New-Item -Path $usbreports -type directory | ||
+ | |||
+ | # Запустить сервер | ||
+ | Start-Process " | ||
+ | |||
+ | # Пауза, чтобы выгрузить отчёт из интерфейса Кодекса, | ||
+ | (Read-Host " | ||
+ | |||
+ | # Перенести отчёт на съёмный диск | ||
+ | Move-Item -Path " | ||
+ | |||
+ | </ | ||
+ | |||
+ | FIXME | ||
+ | <code powershell> | ||
+ | $src = \\admin3\f$\Base | ||
+ | $dst = C: | ||
+ | # Копирует файлы из нескольких каталогов в один, | ||
+ | # причём только те, которые уже существуют в папке назначения | ||
+ | gci $src -Recurse -Directory | select -ExpandProperty FullName | foreach {robocopy " | ||
+ | </ | ||
+ | ==== Дополнительно ==== | ||
+ | Админский веб-интерфейс: | ||
+ | |||
+ | ==== Брошенный скрипт CMD ==== | ||
+ | Копировать с исключениями в стандартной поставке может только xcopy, а она принимает на вход только списки файлов и у неё есть проблемы с интерпретацией длинных путей с пробелами. Оставил здесь, потому что есть интересные вещи, типа фильтра вывода даты. | ||
+ | |||
+ | <code dos> | ||
+ | SET year=%date: | ||
+ | SET month=%date: | ||
+ | SET usbdisk=" | ||
+ | SET bases=" | ||
+ | SET operup=" | ||
+ | SET reports=" | ||
+ | |||
+ | del %operup%\* -f | ||
+ | copy " | ||
+ | |||
+ | xcopy " | ||
+ | |||
+ | mkdir %usbdisk%\%year%\%month% | ||
+ | move /y %reports%\*.zip %usbdisk%\Otchet | ||
+ | </ |