Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 08:20

Иногда не выкидиват пользователей

Автор Андрей Соболь, 12 дек 2016, 16:41

0 Пользователей и 1 гость просматривают эту тему.

Андрей Соболь

делаю бэкап при помощи bat файла но иногда он не может выкинуть пользователей из базы УТ, вообще без понятия почему такое происходит но это редко бывает.
код bat
CHCP 1251
@echo off
SET /A P=1

:1
SET FILENAME=bp
SET BasePath="C:\1C-bases\DP\DP-BP"
SET BaseDIR=BP
SET Pass="Backup9231"

#SET DataPapka=%date:~3,2%

GOTO FUNK

:2
SET FILENAME=ut
SET BasePath="C:\1C-bases\DP\DP-UT"
SET BaseDIR=UT
SET Pass="Backup0343"
GOTO FUNK



GOTO END

:FUNK
"C:\Program Files (x86)\1cv8\8.3.8.1747\bin\1cv8.exe" ENTERPRISE /F%BasePath%\ /NBackup /P %Pass% /WA- /AU- /DisableStartupMessages /CЗавершитьРаботуПользователей

set /a y=%date:~6,4%
set /a m=1%date:~3,2%-100
set /a d=1%date:~0,2%-100
set /a i=(%y%-1901)*365 + (%y%-1901)/4 + %d% + (!(%y% %% 4))*(!((%m%-3)^&16))
set /a i=(%i%+(%m%-1)*30+2*(!((%m%-7)^&16))-1+((65611044^>^>(2*%m%))^&3))%%7+1

SET kyda=F:\Backup\%BaseDIR%\%date:~6,4%\%date:~3,2%\Nedela
SET kydaM=F:\Backup\%BaseDIR%\%date:~6,4%\%date:~3,2%

#Создаёт каталог если его нет
MD %kyda%

#Создаёт файл резервной копии и архивирует
"C:\Program Files (x86)\7-Zip\7z.exe" u %kyda%\%FILENAME%_%i%.zip %BasePath%\1Cv8.1CD

#очищает папку
del %kydaM%\*.zip

#Копирует последний файл
copy "%kyda%\%FILENAME%_%i%.zip" "%kydaM%"

#Переименовывает скопированный файл в файл с датой
ren %kydaM%\%FILENAME%_%i%.zip %date:~0,2%.%date:~3,2%.%date:~6,4%_%i%.zip

#Условие если текущая месяц 01 тогда удаляется каталог с недельными копиями за прошлый год 12 месяц
#иначе выполняется условие если текущая дата 01 тогда удаляется каталог с недельными копиями за прошлый месяц
if %date:~3,2%== 01 (RD /S /Q "F:\Backup\%BaseDIR%\%date:~6,4%-1\12\Nedela")
else (if %date:~0,2% == 01 RD /S /Q "F:\Backup\%BaseDIR%\%date:~6,4%\%date:~3,2%-1\Nedela")

"C:\Program Files (x86)\1cv8\8.3.8.1747\bin\1cv8.exe" ENTERPRISE /F%BasePath%\ /NBackup /P%Pass% /WA- /AU- /DisableStartupMessages /CРазрешитьРаботуПользователей /UCКодРазрешения


SET /A P=P+1

GOTO %P%

:END

Поиск родных

Я бы удивился, что всегда выкидывает.
И - почему должно всенда выкидывать???
Много ситуаций может быть.

Вообще-то, Вы так базу повредите, рано или поздно.
Делайте бэкапы "изнутри" (внутренними "участниками" функционирования баз 1С), например, средствами сервера базы данных, например, MSSQL. В этом случае, бэкап можно делать при работающих пользователях

Андрей Соболь

Цитата: Геннадий ОбьГЭС от 12 дек 2016, 19:28
Я бы удивился, что всегда выкидывает.
И - почему должно всенда выкидывать???
Много ситуаций может быть.

Вообще-то, Вы так базу повредите, рано или поздно.
Делайте бэкапы "изнутри" (внутренними "участниками" функционирования баз 1С), например, средствами сервера базы данных, например, MSSQL. В этом случае, бэкап можно делать при работающих пользователях
У меня файловая база

Поиск родных

И что? Не такая уж проблема перейти на клиент-сервер, когда Вы рискуете поаредить базу 1С своими бэкапами

Как минимум, переведите 1С 8.3

Потом, почему Вы просто не грохаете все процессы 1С, вместотого, чтобы  просить у 1С завершить работу пользователей.

Регламентные (фоновые) задания по расписанию есть?

Андрей Соболь

Цитата: Геннадий ОбьГЭС от 12 дек 2016, 20:51

Регламентные (фоновые) задания по расписанию есть?
есть.
а смысл переходить на клиент серверную только из-за бэкапа это того не стоит
Добавлено: 13 дек 2016, 10:39


Цитата: Геннадий ОбьГЭС от 12 дек 2016, 20:51

Потом, почему Вы просто не грохаете все процессы 1С, вместотого, чтобы  просить у 1С завершить работу пользователей.

А есть разница? мне кажется если я буду грохать все процессы я так скорее поврежу базу

DmitriyF

Цитата: Андрей Соболь от 12 дек 2016, 16:41
делаю бэкап при помощи bat файла но иногда он не может выкинуть пользователей из базы УТ, вообще без понятия почему такое происходит но это редко бывает.
код bat
CHCP 1251
@echo off
SET /A P=1

:1
SET FILENAME=bp
SET BasePath="C:\1C-bases\DP\DP-BP"
SET BaseDIR=BP
SET Pass="Backup9231"

#SET DataPapka=%date:~3,2%

GOTO FUNK

:2
SET FILENAME=ut
SET BasePath="C:\1C-bases\DP\DP-UT"
SET BaseDIR=UT
SET Pass="Backup0343"
GOTO FUNK



GOTO END

:FUNK
"C:\Program Files (x86)\1cv8\8.3.8.1747\bin\1cv8.exe" ENTERPRISE /F%BasePath%\ /NBackup /P %Pass% /WA- /AU- /DisableStartupMessages /CЗавершитьРаботуПользователей

set /a y=%date:~6,4%
set /a m=1%date:~3,2%-100
set /a d=1%date:~0,2%-100
set /a i=(%y%-1901)*365 + (%y%-1901)/4 + %d% + (!(%y% %% 4))*(!((%m%-3)^&16))
set /a i=(%i%+(%m%-1)*30+2*(!((%m%-7)^&16))-1+((65611044^>^>(2*%m%))^&3))%%7+1

SET kyda=F:\Backup\%BaseDIR%\%date:~6,4%\%date:~3,2%\Nedela
SET kydaM=F:\Backup\%BaseDIR%\%date:~6,4%\%date:~3,2%

#Создаёт каталог если его нет
MD %kyda%

#Создаёт файл резервной копии и архивирует
"C:\Program Files (x86)\7-Zip\7z.exe" u %kyda%\%FILENAME%_%i%.zip %BasePath%\1Cv8.1CD

#очищает папку
del %kydaM%\*.zip

#Копирует последний файл
copy "%kyda%\%FILENAME%_%i%.zip" "%kydaM%"

#Переименовывает скопированный файл в файл с датой
ren %kydaM%\%FILENAME%_%i%.zip %date:~0,2%.%date:~3,2%.%date:~6,4%_%i%.zip

#Условие если текущая месяц 01 тогда удаляется каталог с недельными копиями за прошлый год 12 месяц
#иначе выполняется условие если текущая дата 01 тогда удаляется каталог с недельными копиями за прошлый месяц
if %date:~3,2%== 01 (RD /S /Q "F:\Backup\%BaseDIR%\%date:~6,4%-1\12\Nedela")
else (if %date:~0,2% == 01 RD /S /Q "F:\Backup\%BaseDIR%\%date:~6,4%\%date:~3,2%-1\Nedela")

"C:\Program Files (x86)\1cv8\8.3.8.1747\bin\1cv8.exe" ENTERPRISE /F%BasePath%\ /NBackup /P%Pass% /WA- /AU- /DisableStartupMessages /CРазрешитьРаботуПользователей /UCКодРазрешения


SET /A P=P+1

GOTO %P%

:END

База файловая, для чего их отключать????? Все и так прекрасно копируется.

Андрей Соболь

Цитата: DmitriyF от 13 дек 2016, 16:44
Цитата: Андрей Соболь от 12 дек 2016, 16:41
делаю бэкап при помощи bat файла но иногда он не может выкинуть пользователей из базы УТ, вообще без понятия почему такое происходит но это редко бывает.
код bat
CHCP 1251
@echo off
SET /A P=1

:1
SET FILENAME=bp
SET BasePath="C:\1C-bases\DP\DP-BP"
SET BaseDIR=BP
SET Pass="Backup9231"

#SET DataPapka=%date:~3,2%

GOTO FUNK

:2
SET FILENAME=ut
SET BasePath="C:\1C-bases\DP\DP-UT"
SET BaseDIR=UT
SET Pass="Backup0343"
GOTO FUNK



GOTO END

:FUNK
"C:\Program Files (x86)\1cv8\8.3.8.1747\bin\1cv8.exe" ENTERPRISE /F%BasePath%\ /NBackup /P %Pass% /WA- /AU- /DisableStartupMessages /CЗавершитьРаботуПользователей

set /a y=%date:~6,4%
set /a m=1%date:~3,2%-100
set /a d=1%date:~0,2%-100
set /a i=(%y%-1901)*365 + (%y%-1901)/4 + %d% + (!(%y% %% 4))*(!((%m%-3)^&16))
set /a i=(%i%+(%m%-1)*30+2*(!((%m%-7)^&16))-1+((65611044^>^>(2*%m%))^&3))%%7+1

SET kyda=F:\Backup\%BaseDIR%\%date:~6,4%\%date:~3,2%\Nedela
SET kydaM=F:\Backup\%BaseDIR%\%date:~6,4%\%date:~3,2%

#Создаёт каталог если его нет
MD %kyda%

#Создаёт файл резервной копии и архивирует
"C:\Program Files (x86)\7-Zip\7z.exe" u %kyda%\%FILENAME%_%i%.zip %BasePath%\1Cv8.1CD

#очищает папку
del %kydaM%\*.zip

#Копирует последний файл
copy "%kyda%\%FILENAME%_%i%.zip" "%kydaM%"

#Переименовывает скопированный файл в файл с датой
ren %kydaM%\%FILENAME%_%i%.zip %date:~0,2%.%date:~3,2%.%date:~6,4%_%i%.zip

#Условие если текущая месяц 01 тогда удаляется каталог с недельными копиями за прошлый год 12 месяц
#иначе выполняется условие если текущая дата 01 тогда удаляется каталог с недельными копиями за прошлый месяц
if %date:~3,2%== 01 (RD /S /Q "F:\Backup\%BaseDIR%\%date:~6,4%-1\12\Nedela")
else (if %date:~0,2% == 01 RD /S /Q "F:\Backup\%BaseDIR%\%date:~6,4%\%date:~3,2%-1\Nedela")

"C:\Program Files (x86)\1cv8\8.3.8.1747\bin\1cv8.exe" ENTERPRISE /F%BasePath%\ /NBackup /P%Pass% /WA- /AU- /DisableStartupMessages /CРазрешитьРаботуПользователей /UCКодРазрешения


SET /A P=P+1

GOTO %P%

:END

База файловая, для чего их отключать????? Все и так прекрасно копируется.
если их не отключить в консоли появиться сообщение что файл занят другими действиями

DmitriyF

Цитата: Андрей Соболь от 13 дек 2016, 18:24
Цитата: DmitriyF от 13 дек 2016, 16:44
Цитата: Андрей Соболь от 12 дек 2016, 16:41
делаю бэкап при помощи bat файла но иногда он не может выкинуть пользователей из базы УТ, вообще без понятия почему такое происходит но это редко бывает.
код bat
CHCP 1251
@echo off
SET /A P=1

:1
SET FILENAME=bp
SET BasePath="C:\1C-bases\DP\DP-BP"
SET BaseDIR=BP
SET Pass="Backup9231"

#SET DataPapka=%date:~3,2%

GOTO FUNK

:2
SET FILENAME=ut
SET BasePath="C:\1C-bases\DP\DP-UT"
SET BaseDIR=UT
SET Pass="Backup0343"
GOTO FUNK



GOTO END

:FUNK
"C:\Program Files (x86)\1cv8\8.3.8.1747\bin\1cv8.exe" ENTERPRISE /F%BasePath%\ /NBackup /P %Pass% /WA- /AU- /DisableStartupMessages /CЗавершитьРаботуПользователей

set /a y=%date:~6,4%
set /a m=1%date:~3,2%-100
set /a d=1%date:~0,2%-100
set /a i=(%y%-1901)*365 + (%y%-1901)/4 + %d% + (!(%y% %% 4))*(!((%m%-3)^&16))
set /a i=(%i%+(%m%-1)*30+2*(!((%m%-7)^&16))-1+((65611044^>^>(2*%m%))^&3))%%7+1

SET kyda=F:\Backup\%BaseDIR%\%date:~6,4%\%date:~3,2%\Nedela
SET kydaM=F:\Backup\%BaseDIR%\%date:~6,4%\%date:~3,2%

#Создаёт каталог если его нет
MD %kyda%

#Создаёт файл резервной копии и архивирует
"C:\Program Files (x86)\7-Zip\7z.exe" u %kyda%\%FILENAME%_%i%.zip %BasePath%\1Cv8.1CD

#очищает папку
del %kydaM%\*.zip

#Копирует последний файл
copy "%kyda%\%FILENAME%_%i%.zip" "%kydaM%"

#Переименовывает скопированный файл в файл с датой
ren %kydaM%\%FILENAME%_%i%.zip %date:~0,2%.%date:~3,2%.%date:~6,4%_%i%.zip

#Условие если текущая месяц 01 тогда удаляется каталог с недельными копиями за прошлый год 12 месяц
#иначе выполняется условие если текущая дата 01 тогда удаляется каталог с недельными копиями за прошлый месяц
if %date:~3,2%== 01 (RD /S /Q "F:\Backup\%BaseDIR%\%date:~6,4%-1\12\Nedela")
else (if %date:~0,2% == 01 RD /S /Q "F:\Backup\%BaseDIR%\%date:~6,4%\%date:~3,2%-1\Nedela")

"C:\Program Files (x86)\1cv8\8.3.8.1747\bin\1cv8.exe" ENTERPRISE /F%BasePath%\ /NBackup /P%Pass% /WA- /AU- /DisableStartupMessages /CРазрешитьРаботуПользователей /UCКодРазрешения


SET /A P=P+1

GOTO %P%

:END

База файловая, для чего их отключать????? Все и так прекрасно копируется.
если их не отключить в консоли появиться сообщение что файл занят другими действиями
Серьезно? А скопировать во временную папку желания нет? Там упаковать и скопировать в папку хранения.

Андрей Соболь

Цитата: DmitriyF от 13 дек 2016, 18:33
Серьезно? А скопировать во временную папку желания нет? Там упаковать и скопировать в папку хранения.
а как это сделать?

DmitriyF

Цитата: Андрей Соболь от 13 дек 2016, 19:12
Цитата: DmitriyF от 13 дек 2016, 18:33
Серьезно? А скопировать во временную папку желания нет? Там упаковать и скопировать в папку хранения.
а как это сделать?
можешь просто кобиан бэкап поставить. а так читай справку по cmd. а лучше изучай power shell, т.к microsoft убирают cmd.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск