gifts2017

Очистка кэша неиспользуемых баз 1С

Опубликовал Дмитрий Г (Дмитрий74Чел) в раздел Администрирование - Системное

Ищем базы, не указанные в файле ibases.v8i и в C:\Program Files\1cv8x\srvinfo\reg_1541\

За основу взята https://infostart.ru/public/152207/ Отличия выделены жирным

а) ищем базы, не указанные в файле  ibases.v8i - если такие найдены, можно удалить их кэш (если 1С запущена от имени админа - то можно просканировать папки всех пользователей).

б) ищем папки в C:\Program Files\1cv8x\srvinfo\reg_1541\ кэша для баз, которых нет в в файле C:\Program Files\1cv8x\srvinfo\reg_1541\1CV8Reg.lst Такие можно или удалить (что не рекомендуется, т.к. для 8.2 там лежат журналы регистрации, а иногда возникает задача их просмотра), или переместить в zip.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Очистка КЭША Неиспользуемых баз 1С
.epf 15,16Kb
18.10.16
8
.epf 15,16Kb 8 Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

1. Иван Иванов (Famza) 14.10.16 13:45
А если развернуты разные платформы 1С на одном сервере по разным портам? Можно добавить выбор порта?
2. Иван Лебедев (ivanleb) 17.10.16 13:19
Не обрабатывается случай если есть файл location.cfg

http://downloads.v8.1c.ru/content/Platform/8_3_3_658/1cv8upd.htm

Конфигурационный файл location.cfg позволяет указать «1С:Предприятию», где выполнять поиск служебных данных.
Во время установки версии 8.3, выполняется поиск каталогов с данными (профили пользователей, конфигурационные файлы, файлы программных лицензий и т.д.) от версии 8.2 в каталогах, доступных данному пользователю. Если каталоги с данными от версии 8.2 найдены, то в каталогах с данными версии 8.3 формируется файл location.cfg с указанием на каталоги с данными версии 8.2. Таким образом, установка новой версии не ведет к необходимости полного переноса всех данных и настроек из каталогов версии 8.2 в каталоги версии 8.3.
3. Дмитрий Г (Дмитрий74Чел) 18.10.16 14:23
(1) Famza,внизу формы выводится автосформированный путь - там есть и номер порта.
4. Дмитрий Г (Дмитрий74Чел) 18.10.16 14:24
(2) ivanleb, пример такого файла?
5. Дмитрий Г (Дмитрий74Чел) 18.10.16 14:46
добавил установку имени файла как 1CV8Clst.lst (для 8.3) вместо 1CV8Reg.lst (для 8.2)
6. Дмитрий Жиляков (Zhilyakovdr) 19.10.16 10:01
Общие списки баз учитывает?
7. Виктор Левченко (lvictor58) 20.10.16 10:45
Внутри что-то екнуло, когда после нажатия на кнопку "Удалить КЭШ" очистилась вся таблица.
А нельзя ли чтобы в процессе очистки таблиц корректировалась построчно?
Не у всех ведь крепкое сердце и устойчивая психика!
8. Дмитрий Г (Дмитрий74Чел) 21.10.16 14:12
9. Дмитрий Г (Дмитрий74Чел) 21.10.16 14:18
(7) lvictor58, Там ведь 2 кнопки сканирования, и какую из них нажал пользователь - не запоминает. Добавил предупреждение "таблица очищена, повторите сканирование".
А для серверного кэша - изначально после очистки вызывается обработчик нажатия кнопки "сканировать".
10. Дмитрий Жиляков (Zhilyakovdr) 24.10.16 09:35
(8) Дмитрий74Чел, т.е. ваша обработка умеет только анализировать случаи когда клиент работает на одном физическом сервере с сервером предприятия?
11. Дмитрий Г (Дмитрий74Чел) 25.10.16 10:25
(10) Zhilyakovdr, по сети сама не ищет. Но можно вручную указать путь к серверному файлу регистрации баз (*.lst) в сети - обработка анализирует папки кэша рядом с ним.
12. Дмитрий Жиляков (Zhilyakovdr) 27.10.16 14:19
Маленький скриптик для поиска мусора (powershell):
param(
#[string]$ConnectionString = "F:\server1s\srvinfo_8.3.6\reg_1741",
[string]$ConnectionString = "F:\server1s\srvinfo82\reg_1541",
[string]$Filter = "^\S{8}-\S{4}-\S{4}-\S{4}-\S{12}"
)
$folders = Get-ChildItem -Path $ConnectionString -name | %{if($_ -match $Filter){$_}}
#Write-Host $folders

$source=get-content "$ConnectionString\1CV8Clst.lst"
$a = $source| %{ 
if ( $_ -match  "^{(\S{8}-\S{4}-\S{4}-\S{4}-\S{12}\b),""(\w+)"",.*Ref") 
#{$Matches[1] + "=" + $Matches[2]}
{$Matches[1]}
} 
#Write-Host $a


foreach($b in $folders)
#{$c = $b | %{  $_.split("=") }
#Write-Host $c[0]"="$c[1]}
{
if($a -eq $b){}else{
try{
$FolderSize = (Get-ChildItem "$ConnectionString\$b" -recurse -Force | Measure-Object -Property Length -Sum).Sum / 1Mb
$FolderSize = [math]::round($FolderSize,2)
Write-Host $b "=" $FolderSize
}Catch{Write-Host $b}

}
}
...Показать Скрыть
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа