On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение
администратор




Пост N: 7866
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.11.23 19:18. Заголовок: Копирование открытых баз данных


Имею непонятку.
Cтал в последнее время замечать что скорость копирования базы
а она на данный момент весит 10 гиг , стало занимать до ~15 минут ,
хотя пару недель назад это время было всего ~32 секунды.
Провел эксперимент , в базах ни кого нет , время копирования
базы заняло ~32 секунды , зашел в прогу и перешел в раздел
где открывается много баз и снова запустил копирование ,
цирк ...время заняло ~ 33 секунды и ни какими минутами и не пахнет.
Копирую базы так
 
FOR EACH aFile IN aDir
hb_DynCall({ "CopyFileA", "kernel32.dll", HB_DYN_CALLCONV_STDCALL },pathbase+"dbf\"+afile[1],pathbase+"zip\"+afile[1],0)
hb_releaseCPU()
Next

Винт SSD и ему почти 2 года.
Не пойму куда копать ....есть какие мысли у кого ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 84 , стр: 1 2 3 4 5 All [только новые]


постоянный участник


Пост N: 1691
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 29.11.23 08:38. Заголовок: А при каком условии ..


А при каком условии долго? Когда больше одного работает?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7867
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 29.11.23 11:48. Заголовок: PSP пишет: А при ка..


PSP пишет:

 цитата:
А при каком условии долго? Когда больше одного работает?


Да выяснил вчера , что при повторном копировании время занимает почему то
в 2.5 - 3 раза больше чем при первоначальном копировании. А копирование
происходит 1 раз в час , соответственно через часов 7-8 выйдем на результат
в 15 минут. Почему не понял.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1692
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 29.11.23 12:35. Заголовок: А если интервал увел..


А если интервал увеличить или уменьшить? Эффект какой будет?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4459
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 29.11.23 13:11. Заголовок: Попробуй XCopy, у ме..


Попробуй XCopy, у меня каждые 2-а часа планировщик запускает получение zip+xcopy на др. PC.
Что будет ? Когда у тебя тормозит, что будет на xCopy ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7868
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 29.11.23 15:19. Заголовок: Убрал пока из цикла ..


Убрал пока из цикла hb_releaseCPU()
Вышел на 16 сек
Через 1 час проверю

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1963
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 29.11.23 15:23. Заголовок: SergKis пишет: Попр..


SergKis пишет:

 цитата:
Попробуй XCopy, у меня каждые 2-а часа планировщик запускает получение zip+xcopy на др. PC.


вместо xCopy лучше использовать RoboCopy, утилита более продвинутая и оптимизирована на работу в сети

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4460
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 29.11.23 16:54. Заголовок: Haz пишет вместо xCo..


Haz пишет
 цитата:
вместо xCopy лучше использовать RoboCopy, утилита более продвинутая и оптимизирована на работу в сети


Возможно и лучше, но admin (это чужие PC) вряд ли будет ставить лишнюю утилиту, если работают штатные, тем более это работа сервер-сервер, на одном работает от планировщика gbak+7z, на другом полученные файлы 7z планировщик забирает xCopy по маске

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7869
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 29.11.23 17:00. Заголовок: SergKis так она шта..


SergKis
так она штатная

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7870
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 29.11.23 17:47. Заголовок: короче при первом за..


короче при первом запуске копирования
16 сек
спустя час , та же операция
43 сек
спустя час , та же операция
54 сек

Просто уже интересно , почему так...



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4461
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 29.11.23 18:36. Заголовок: Haz пишет лучше испо..


Haz пишет
 цитата:
лучше использовать RoboCopy


Dima пишет
 цитата:
так она штатная


Спасибо, не знал, что есть такая штука.
Dima пишет
 цитата:
54 сек Просто уже интересно , почему так...


Как штатные копирования ведут себя в это время (или за это время) ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7871
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 29.11.23 18:41. Заголовок: Штатные работают чут..


Штатные работают чуть медленнее а вот причину замедления я кажись нашел.
Было
 
FOR EACH aFile IN aDir
hb_DynCall({ "CopyFileA", "kernel32.dll", HB_DYN_CALLCONV_STDCALL },pathbase+"dbf\"+afile[1],pathbase+"zip\"+afile[1],0)
Next

Стало
 
hLib := hb_libLoad( "Kernel32.dll" )
IF ! Empty( hLib )
FOR EACH aFile IN aDir
hb_DynCall({ "CopyFileA", hLib, HB_DYN_CALLCONV_STDCALL },pathbase+"dbf\"+afile[1],pathbase+"zip\"+afile[1],0)
Next
hb_libFree( hLib )
ENDIF


Потестил у себя на компе в цикле на большом файле , время практически одинаково а в первом варианте стабильно растет

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1693
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 29.11.23 19:50. Заголовок: Получается, что была..


Получается, что была утечка памяти. Память не освобождалась после вызова dll и в конце концов всё больше и больше использовался файл подкачки. Отсюда и тормоза. Имхо.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 4139
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 29.11.23 22:59. Заголовок: Dima пишет: Стало ..


Dima пишет:

 цитата:
Стало


hLib := hb_libLoad( "Kernel32.dll" )
IF ! Empty( hLib )
FOR EACH aFile IN aDir
hb_DynCall({ "CopyFileA", hLib, HB_DYN_CALLCONV_STDCALL },pathbase+"dbf\"+afile[1],pathbase+"zip\"+afile[1],0)
Next
hb_libFree( hLib )
ENDIF



Можно еще проще:

FOR EACH aFile IN aDir
win_CopyFile(pathbase+"dbf\"+afile[1],pathbase+"zip\"+afile[1], .f.)
NEXT

...

#pragma BEGINDUMP

#include "hbapi.h"
#include "windows.h"

HB_FUNC( WIN_COPYFILE )
{
hb_retnl( (LONG) CopyFile( (LPCSTR) hb_parc(1), (LPCSTR) hb_parc(2), HB_ISNIL(3) ? FALSE : (BOOL) hb_parl(3) ) );
}


#pragma ENDDUMP

вместо CopyFile будет вызвана либо неуникодная CopyFileA, либо уникодная CopyFileW

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7627
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.11.23 09:27. Заголовок: Dima пишет: Cтал в ..


Dima пишет:

 цитата:
Cтал в последнее время замечать что скорость копирования базы


Чисто теоретический вопрос - а не проще скидывать изменённые данные в базах на другой комп/сервер ?
Или с другого компа/сервера подключаться к базам через определённое время и копировать только изменённые записи

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7872
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.11.23 11:48. Заголовок: Pasha Пробну , спас..


Pasha
Пробну , спасибо !

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7873
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.11.23 15:33. Заголовок: Pasha пишет: Можно ..


Pasha пишет:

 цитата:
Можно еще проще


Пожалуй это самый быстрый способ копирования.
После первого прохода база в 10 гиг скопировалась за 15 сек (с базой работает 17 чел на сейчас)
Подожду еще пары проходов и через 2-3 часа выложу результат

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7874
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.11.23 18:43. Заголовок: Вот и статистика при..


Вот и статистика приехала
 
Начало копирования : 2023-11-30 14:28:44.002
UserCount : 17
Конец копирования : 2023-11-30 14:29:00.877
Время копирования : 16.87
---------------------
Начало копирования : 2023-11-30 15:31:51.887
UserCount : 12
Конец копирования : 2023-11-30 15:32:29.873
Время копирования : 37.99
---------------------
Начало копирования : 2023-11-30 16:34:58.577
UserCount : 11
Конец копирования : 2023-11-30 16:35:52.881
Время копирования : 54.30
---------------------
Начало копирования : 2023-11-30 17:38:06.308
UserCount : 7
Конец копирования : 2023-11-30 17:39:22.358
Время копирования : 76.05
---------------------


Почему растет время не понятно ....база данных за 1 час не сильно наполняется.

PS
Копирование происходит в потоке.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4462
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.11.23 18:55. Заголовок: Dima пишет Потестил ..


Dima пишет
 цитата:
Почему растет время не понятно ...


Тогда получается, что такой твой вариант лучше ?!
 цитата:

Потестил у себя на компе в цикле на большом файле , время практически одинаково ...

hLib := hb_libLoad( "Kernel32.dll" )
IF ! Empty( hLib )
FOR EACH aFile IN aDir
hb_DynCall({ "CopyFileA", hLib, HB_DYN_CALLCONV_STDCALL },pathbase+"dbf\"+afile[1],pathbase+"zip\"+afile[1],0)
Next
hb_libFree( hLib )
ENDIF



Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7875
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.11.23 19:03. Заголовок: SergKis пишет: Тогд..


SergKis пишет:

 цитата:
Тогда получается, что такой твой вариант лучше ?!


Оказалось что нет , мало замеров на тот момент сделал.
Сравнил по скорости win_CopyFile и HB_VFCOPYFILE. В цикле от 1 до 3 копирую файлик на 2 гига
win_CopyFile время
36.62
53.17
48.71

HB_VFCOPYFILE
41.62
43.62
40.51

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4463
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.11.23 19:12. Заголовок: Dima Получается бол..


Dima
Получается большой разницы нет, набежит ~30 сек. даже пусть минута - это же поток и не мешает работе
Если биться за скорость, то, правда, можно в больших базах брать только измененные записи, т.е., например, первого числа взял весь файл, а потом, из него, только записи новые и измененные, надо, конечно поле иметь TimeStamp модификации и так до след. первого числа

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7876
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.11.23 19:17. Заголовок: SergKis Тут не стол..


SergKis
Тут не столько борьба за скорость , хотя она тоже важна , тут битва идёт уже что бы время не расло всё время.
Если задачу не перезапускать то в какой то момент через ..надцать дней скажем , копирование может занять
1 час или типа того.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4464
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.11.23 19:24. Заголовок: Dima пишет Если зада..


Dima пишет
 цитата:
Если задачу не перезапускать то в какой то момент через ..надцать дней скажем


Вынь из задачи, помести в фоновый поток, например на планировщик запуск, твоего же exe с параметром только для выполнения копии, или твоя задача по timer запускает себя с параметром для вып. копии

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7877
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.11.23 19:29. Заголовок: Нет , планировщик не..


Нет , планировщик не использую а вот сам процесс копирования действительно можно вынести в отдельный EXE
и из потока его запускать. Должно помочь думается в плане времени копирования , так как первый раз всегда
отрабатывает быстро

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4465
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.11.23 19:32. Заголовок: Ты можешь не выносит..


Ты можешь не выносить из exe (там у тебя все определено и отлажено и есть вызов), сделай параметр входа для копирования и запускай тот же exe с этим параметром. Зачем лишние exe плодить ? Не всегда это оправдано

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 4140
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 30.11.23 22:20. Заголовок: Dima пишет: Оказало..


Dima пишет:

 цитата:
Оказалось что нет , мало замеров на тот момент сделал.
Сравнил по скорости win_CopyFile и HB_VFCOPYFILE. В цикле от 1 до 3 копирую файлик на 2 гига
win_CopyFile время
36.62
53.17
48.71

HB_VFCOPYFILE
41.62
43.62
40.51



win_CopyFile - это просто обертка для winapi-шной CopyFile. Как она работает, что там внутри делается - неизвестно.

HB_VFCOPYFILE - там все прозрачно, исходный файл читается последовательно в буфер размером 64k, и этот буфер пишется в результирующий файл. Понятно, что windows еще сама как-то буферизирует эти операции чтения - записи.
Для огромных файлов буфер 64k явно маловат. Можно сделать свой аналог, в котором задавать размер буфера

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 4141
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 01.12.23 09:48. Заголовок: Dima пишет: SergKis..


Dima пишет:

 цитата:
SergKis
Тут не столько борьба за скорость , хотя она тоже важна , тут битва идёт уже что бы время не расло всё время.
Если задачу не перезапускать то в какой то момент через ..надцать дней скажем , копирование может занять
1 час или типа того.



Так нет чистого времени копирования, слишком много факторов влияют на время в каждом случае. Скажем, в это время качается обновление винды, диск занят и на другие операции, время скакнет. Или антивирус вздумает запустить проверку, и дергает тот же диск. А таких или может быть сколько угодно. Важно удостовериться, что у тебя все организовано без дырок, и более-менее оптимально

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1694
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 01.12.23 10:51. Заголовок: Разрешите вставить с..


Разрешите вставить свои 5 копеек)
Вот, если речь идет о бэкапе, то, имхо, тут лучше использовать сторонние средства. Я пользуюсь Cobian Backup. Отличная штука. Она использует механизм теневых копий, так что может копировать открытые в других программах файлы. Весьма удобна.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7878
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.12.23 18:29. Заголовок: PSP пишет: Cobian B..


PSP пишет:

 цитата:
Cobian Backup


Интересная тулза и главное бесплатно

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1695
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 01.12.23 18:33. Заголовок: Она работает чётко. ..


Она работает чётко. Много лет ей пользуюсь)

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7879
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 02.12.23 18:24. Заголовок: Pasha пишет: Так не..


Pasha пишет:

 цитата:
Так нет чистого времени копирования, слишком много факторов влияют на время в каждом случае. Скажем, в это время качается обновление винды, диск занят и на другие операции, время скакнет. Или антивирус вздумает запустить проверку, и дергает тот же диск. А таких или может быть сколько угодно. Важно удостовериться, что у тебя все организовано без дырок, и более-менее оптимально


Ну как бы согласен теоретически ...., не поленился и поставил эксперимент , запустил приложение которое в том числе выполняет и копирование
базы данных (в сети была куча юзеров) , отработало копирование , вышел из задачи и так 10 раз подряд
Время копирования 15-16 секунд а вот если не выгружать и дать ему работать и каждый час копировать то статистика в секундах следующая.
 
Время копирования : 16.46 //1 запуск
Время копирования : 36.50
Время копирования : 58.74
Время копирования : 74.52
Время копирования : 96.05
Время копирования : 116.97
Время копирования : 133.02
Время копирования : 158.03
Время копирования : 176.51
Время копирования : 204.95
Время копирования : 218.67
Время копирования : 239.52
Время копирования : 259.55
Время копирования : 281.21
Время копирования : 296.34



Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7880
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 03.12.23 19:40. Заголовок: Проблему решил косты..


Проблему решил костылём.
Если время копирования базы превышает N секунд , убиваю поток и заново его запускаю.
Работает однако.

PS
Почему росло время хз.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1696
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 04.12.23 15:29. Заголовок: В плане бреда... А ч..


В плане бреда... А что, если дескрипторы файла "zip\..." остаются открытыми после копирования и со временем их становится много, как будто файл открыт из разных программ, а? Тут возникаю вопросы с блокировками, кэшированием и т.д.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1697
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 04.12.23 15:35. Заголовок: Вот нечто https://ww..

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7881
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.12.23 15:35. Заголовок: PSP Фиг его знает ,..


PSP
Фиг его знает , я тестил все возможные функции по копированию и всегда растет время , остановился на CopyFileA
потому что самая быстрая.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7882
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.12.23 15:37. Заголовок: PSP пишет: Вот нечт..


PSP пишет:

 цитата:
Вот нечто https://www.cyberforum.ru/win-api/thread983172.html


писец у нас это сайт заблочен ....придется юзать тор браузер

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1698
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 04.12.23 15:41. Заголовок: А ты вот попробуй пе..


А ты вот попробуй перед копированием файл назначения переименовать, а после успешного копирования старый удаляй.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7883
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.12.23 15:56. Заголовок: PSP пишет: А ты вот..


PSP пишет:

 цитата:
А ты вот попробуй перед копированием файл назначения переименовать


чёт я не очень понял
как переименовать то чего еще нет , так как операция копирования еще не происходила ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1699
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 04.12.23 15:56. Заголовок: Dima пишет: чёт я н..


Dima пишет:

 цитата:
чёт я не очень понял
как переименовать то чего еще нет , так как операция копирования еще не происходила ?


А destination каждый раз новый создается? Или перезаписывается?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7884
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.12.23 16:01. Заголовок: схема такая копирую ..


схема такая
копирую файлы базы данных в пустую папку
затем все скопированные файлы ZIPую , копирую архив
на диск где живут бекапы
папку куда копировал файлы базы полностью очищаю

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1700
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 04.12.23 16:02. Заголовок: Ясно, но ясности это..


Ясно, но ясности это не добавило

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7885
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.12.23 16:05. Заголовок: PSP пишет: Вот нечт..


PSP пишет:

 цитата:
Вот нечто https://www.cyberforum.ru/win-api/thread983172.html


Почитал....хммм

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7886
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.12.23 17:41. Заголовок: Потестю ка у клиента..


Потестю ка у клиента еще раз но уже с Hb_fcopy

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7887
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.12.23 22:09. Заголовок: Да с Hb_fcopy время ..


Да с Hb_fcopy время тоже растет при каждом цикле копирования.
Файлы под 2 гига , но не все.
Погуглил , проблема таки есть по любому , когда поток + копирование в цикле + большие файлы.
Полагаю что то нужно добавить в цикл , вот только что , хз.
Поэтому пока буду юзать костыль с перезапуском потока , реально работает.

Паше.
Странно не замечать проблемы и косить на другие происходящие процессы , аргументы выше и статистику
я приводил.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7890
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.12.23 18:12. Заголовок: Паша а не сложно теб..


Паша а не сложно тебе сделать обертку для CopyFileExA
что бы можно было его запускать с флагом COPY_FILE_NO_BUFFERING , хочу с ней
поиграться и посмотреть на результат.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7891
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.12.23 18:27. Заголовок: и вот такую SHFileOp..


и вот такую SHFileOperationA

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7893
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 07.12.23 19:19. Заголовок: Pasha Поможешь с во..


Pasha
Поможешь с вопросом ?

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 2228
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 07.12.23 20:14. Заголовок: Dima пишет: вот та..


Dima пишет:

 цитата:
вот такую SHFileOperationA


Дима!

Попробуй эту функцию из библиотеки hbwin:

 цитата:
win_SHFileOperation( [<hWnd>], [<nFunction>], [<cFrom>|<aFrom>], [<cTo>|<aTo>],
[<nFlags>], [<@lAnyOperationAborted>],
[<aNameMappings>], [<cProgressTitle>] ) -> <nResult>


Контрольный пример из поставки Харбора:
Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7894
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 07.12.23 20:48. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Попробуй эту функцию из библиотеки hbwin:


Спасибо , потестю , отпишу !

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 4143
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 08.12.23 15:12. Заголовок: #define COPY_FILE_NO..


#define COPY_FILE_NO_BUFFERING 0x00001000

proc main

? win_CopyFileEx('_cf.prg', '_cf1.prg', COPY_FILE_NO_BUFFERING)

retu

#pragma BEGINDUMP

#include "hbapi.h"
#include "windows.h"

HB_FUNC( WIN_COPYFILEEX )
{
hb_retl( (LONG) CopyFileEx( (LPCSTR) hb_parc(1), (LPCSTR) hb_parc(2), NULL, NULL, NULL, HB_ISNIL(3) ? 0 : (DWORD) hb_parnl(3) ) );
}

#pragma ENDDUMP

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7895
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 08.12.23 17:27. Заголовок: Pasha gfilatov2002 ..


Pasha gfilatov2002
Спасибо за помощь.
Вопрос не решился.
Поэтому перезапускаю поток если время копирования превысило N сек , работает.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7896
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 08.12.23 22:10. Заголовок: Пора поюзать ROBOCOP..


Пора поюзать ROBOCOPY , интересно уже каков будет результат

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1701
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 09.12.23 11:11. Заголовок: Dima пишет: Пора по..


Dima пишет:

 цитата:
Пора поюзать ROBOCOPY


А она умеет открытые файлы?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7897
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 09.12.23 16:34. Заголовок: PSP пишет: А она ум..


PSP пишет:

 цитата:
А она умеет открытые файлы?


Да , облом . не копирует открытые файлы и Xcopy тоже по ходу

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7630
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.12.23 17:13. Заголовок: Dima пишет: Да , об..


Dima пишет:

 цитата:
Да , облом . не копирует открытые файлы и Xcopy тоже по ходу


Делай тогда через Winrar или WinZip, они умеют делать архивы с открытыми файлами.
Я сделал свою утилиту на МиниГуи, создаю нужный мне список файлов и делаю архив.
Работает с 2013 года.
Команда простая:
         COMPRESS aFiles ; 
TO cBackupZip ;
BLOCK { | cFile, nPos | ProgressUpdate( nPos, cFile, aSizeFiles, .T. ) } ;
LEVEL LEVEL_ZIP ;
PASSWORD cPass ;
OVERWRITE ;
STOREPATH ;
FILEPROGRESS { | nPos, nTotal | ProgressFile( nPos, nTotal, .T. ) } ;
RESULT lSuccess



Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7898
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 09.12.23 17:51. Заголовок: Dima пишет: Да , об..


Dima пишет:

 цитата:
Да , облом . не копирует открытые файлы и Xcopy тоже по ходу


Поправка
Shared копирует , Exclusive нет

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7899
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 09.12.23 19:46. Заголовок: Прикольно на одном и..


Прикольно на одном из серваков уже сделал 2 замера
и время не растет , даже падает , при использовании Robocopy.
Жду 2-го результата на втором серваке в другом городе.

Update
И на втором время не растет и тоже упало

Приз получает Robocopy

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 4144
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 09.12.23 21:42. Заголовок: Dima пишет: Поправк..


Dima пишет:

 цитата:
Поправка
Shared копирует , Exclusive нет



Так работают все средства, хоть функции, хоть сторонние утилиты. На то оно и эксклюзив, что никому больше доступ к файлу не даст

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1702
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 09.12.23 21:43. Заголовок: :sm208:..




Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1703
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 09.12.23 21:45. Заголовок: Pasha пишет: Так ра..


Pasha пишет:

 цитата:
Так работают все средства, хоть функции, хоть сторонние утилиты. На то оно и эксклюзив, что никому больше доступ к файлу не даст


Разрешите не согласиться. VSS с этим справляется. Она на другом уровне работает, не файловом.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7900
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 09.12.23 21:51. Заголовок: Pasha пишет: Так ра..


Pasha пишет:

 цитата:
Так работают все средства, хоть функции, хоть сторонние утилиты. На то оно и эксклюзив, что никому больше доступ к файлу не даст


Да это я лоханулся в тестовом своем примере и написал что то типа
Use nakl_r new
и думал что оно в Shared по умолчанию открывается

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7901
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 09.12.23 21:53. Заголовок: Dima пишет: Приколь..


Dima пишет:

 цитата:
Прикольно на одном из серваков уже сделал 2 замера


Уже 4 замера , время стабильно

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 4145
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 09.12.23 22:14. Заголовок: PSP пишет: Разрешит..


PSP пишет:

 цитата:
Разрешите не согласиться. VSS с этим справляется. Она на другом уровне работает, не файловом.



Ну да, прямому чтению кластеров до лампочки, как файл открыт и открыт ли он вообще
А копирование открытого файла так себе затея. Во время копирования в разные участки файла другим процессом может производиться запись, и один участок успеет скопироваться до записи, другой нет, и целостность копии будет нарушена.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1704
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 10.12.23 09:51. Заголовок: Pasha пишет: А копи..


Pasha пишет:

 цитата:
А копирование открытого файла так себе затея. Во время копирования в разные участки файла другим процессом может производиться запись, и один участок успеет скопироваться до записи, другой нет, и целостность копии будет нарушена.


Ну, в случае с VSS это исключено. Создается моментальная теневая копия диска. Сначала блокируются изменения ВСЕХ кластеров, содержащих данные. Потом нужные данные копируются. Все изменения данных записываются в свободные кластеры, т.е., для приложения всё происходит прозрачно и незаметно. После завершения копирования теневая копия удаляется и все изменения, произошедшие за время копирования, синхронизируются. Так что ни о каком нарушении целостности не может быть и речи.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7631
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.12.23 11:18. Заголовок: PSP пишет: Разрешит..


PSP пишет:

 цитата:
Разрешите не согласиться. VSS с этим справляется. Она на другом уровне работает, не файловом.


Пропустил, что за зверь такой ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1705
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 10.12.23 11:26. Заголовок: Andrey пишет: Пропу..


Andrey пишет:

 цитата:
Пропустил, что за зверь такой ?


https://ru.wikipedia.org/wiki/Теневая_копия

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7902
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 10.12.23 19:36. Заголовок: PSP пишет: В плане ..


PSP пишет:

 цитата:
В плане бреда... А что, если дескрипторы файла "zip\..." остаются открытыми после копирования и со временем их становится много, как будто файл открыт из разных программ, а? Тут возникаю вопросы с блокировками, кэшированием и т.д.


Проверил тулзой Handle от Sysinternals , не остаются открытыми , в этом плане норм.
Тогда не понятна ситуация с ростом времени.
Если юзать для копирования в той же проге Robocopy , то роста времени нет совсем ....прыгает от 7 до 15 секунд , это замеры
за сутки

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1706
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 10.12.23 19:41. Заголовок: А вот интересно: в с..


Может правда косяк в CopyFileA с кэшем?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7903
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 10.12.23 19:45. Заголовок: Насчет VSS , смотрю ..


Насчет VSS , смотрю есть тулза HoboCopy , но чёт не могу найти актуальную ссылку на нее

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1707
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 10.12.23 19:45. Заголовок: Dima пишет: Насчет ..


Dima пишет:

 цитата:
Насчет VSS , смотрю есть тулза HoboCopy , но чёт не могу найти актуальную ссылку на нее


Cobian (я тебе о ней писал) использует VSS.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1708
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 10.12.23 19:52. Заголовок: Есть Cobian Backup 1..


Есть Cobian Backup 11 (больше не развивается). А есть Cobian Reflector (следующая).
Я использую Cobian Backup. Важно: требует .Net 3.5

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7904
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 10.12.23 19:52. Заголовок: PSP пишет: Cobian (..


PSP пишет:

 цитата:
Cobian (я тебе о ней писал) использует VSS.


Это я помню , но HoboCopy работает из командной строки как и Robocopy , вот почему и отписал :)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1709
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 10.12.23 19:55. Заголовок: Dima пишет: из кома..


Dima пишет:

 цитата:
из командной строки


А это обязательно?
Это - служба (точнее две). Один раз настроил и всё. Дальше оно само)

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7905
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 10.12.23 19:59. Заголовок: PSP пишет: А это об..


PSP пишет:

 цитата:
А это обязательно?


Ну мне так удобнее , так как бекап делает моя прога , кроме остального функционала а его там много

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1710
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 10.12.23 20:04. Заголовок: Есть Diskshadow. Но ..


Есть Diskshadow. Но она для серверов, вроде.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1712
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 10.12.23 20:13. Заголовок: Есть еще VShadow. Ту..


Есть еще VShadow. Тут чувак немного ее описывает: https://m151163.blogspot.com/2013/11/volume-shadow-copy-service.html

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1713
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 10.12.23 20:16. Заголовок: Всё, я отстал))..


Всё, я отстал))

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7914
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.12.23 17:46. Заголовок: PSP пишет: Всё, я о..


PSP пишет:

 цитата:
Всё, я отстал))


Не нуно ))
Значит так , нарыл Hobocopy 32 бита на Windows 7 работает на ура.
На сервере Windows 2008 работать отказалась падлюка и упало с
ошибкой
There was a COM failure 0x80042302 - .\HoboCopy.cpp (172)
Стал мучать поисковик , нарыл 64 битную версию и заработало
на серваке
Короче если кому надо налью оба варианта.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4477
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.12.23 20:29. Заголовок: Dima пишет Короче ес..


Dima пишет
 цитата:
Короче если кому надо налью оба варианта.


Кинь тудой, на ftp. Спасибо

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7915
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.12.23 20:42. Заголовок: готово..


готово

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7916
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.12.23 20:46. Заголовок: SergKis Для работы ..


SergKis
Для работы из архива нужен только EXE файл

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1714
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 23.12.23 09:27. Заголовок: Где оно?)..


Где оно?)

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7917
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 23.12.23 15:17. Заголовок: PSP пишет: Где оно?..


PSP пишет:

 цитата:
Где оно?)


На FTP у Сергея )

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7918
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 23.12.23 15:23. Заголовок: PSP Лови https://ww..


PSP
Лови
https://www.softpedia.com/get/System/Back-Up-and-Recovery/HoboCopy.shtml#download
https://web.archive.org/web/20201006123925if_/https://github.s3.amazonaws.com/downloads/candera/hobocopy/hobocopy-unstable-64bit-20110505-01.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAISTNZFOVBIJMK3TQ%2F20201006%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20201006T123907Z&X-Amz-Expires=300&X-Amz-SignedHeaders=host&X-Amz-Signature=cb80df64052c3cbffc5e3666f96a76cda6fc13434eaa5ca44856a3470ee75916

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7939
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.03.24 15:08. Заголовок: Прошло более 2-х мес..


Прошло более 2-х месяцев с момента использования Hobocopy , ни одного косяка с открытием баз не было.
Бонусом так же вышло так что если база под ADS залочена вот таким образом AdsLocking( .T. ) то Hobocopy
легко копирует такие базы.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 84 , стр: 1 2 3 4 5 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 11
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет