dislike 302 Опубликовано 21 августа, 2014 (изменено) "Дело было вечером, делать было нечего". Решил написать автобекеп для баз данных на явке. За основу был взят ThreadPoolManager от l2p(взял его целиком, не стал изобретать велосипед) именно он будет отвечать за тайминг дампа баз данных. Скрипт не работает с базой данных напрямую, так что можете не боятся, дальше вашего сервера беккеп не уйдет. А реализует беккеп стандартная утилита mysqldump которая включена в субд MySql. Установка: Файл jar кинуть в ваше папку с либами. Конфиг в папку с конфигами В батнике или sh файле с добавить перед мейн методом гс ru.dis.AutoBackup Папку backup кинуть в корень гс Если хотите использовать на windows то кинуть экзешник mysqldump в корень гс java -server %java_settings% %java_opts% -cp config/xml;../serverslibs/*; ru.dis.AutoBackup l2ft.gameserver.GameServer если хотите грузить отдельный процессом то java -server %java_settings% %java_opts% -cp config/xml;../serverslibs/*; ru.dis.AutoBackup Требования: Убедитесь что в паке с либами лежит что то похожее Ну вот собственно и все, тестируйте делайте предложения, если вдруг кому то будет интересно, то продолжу наработку. В планах сделать 1)Реализовать учет дней недели 2)Удалять старые беккепы 3)Сделать рефакторинг, ибо сейчас всё реализуется в одном классе, а это не есть хорошо up. Добавлен конфиг # Загружать как отдельный процесс(true) или же совместно с игровым сервером(false) # Дефолт false # Пример запуска совместно с гс java -server %java_settings% %java_opts% -cp config/xml;../serverslibs/*; ru.dis.AutoBackup l2ft.gameserver.GameServer singleRun = false Поправка загрузки самих конфигов, грузились не в том месте https://yadi.sk/d/En7KER_qaEekp Изменено 25 августа, 2014 пользователем dislike 7 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Boolean 121 Опубликовано 21 августа, 2014 Молодец! Хорошая вещь. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
dislike 302 Опубликовано 21 августа, 2014 Молодец! Хорошая вещь. Специально для тех кто по какой-то либо причине не умеет пользоваться cron на linux(я один из них) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
dislike 302 Опубликовано 21 августа, 2014 (изменено) Ой посмотрел на скрипт через профилировщик и ужаснулся, что то я намудрил с потоками. Чуть позже выложу отлаженную версию. Готово. Изменено 22 августа, 2014 пользователем dislike Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Demoncool 1110 Опубликовано 22 августа, 2014 в л2дотах уже при запуске ГСа был вот пример: set user=root set pass= set DBname=db-l2dot set DBHost=localhost set ctime=%time:~0,2% if "%ctime:~0,1%" == " " ( set ctime=0%ctime:~1,1% ) set ctime=%ctime%'%time:~3,2%'%time:~6,2% echo ‡ ЇгбЄ - ЁЈа®ў®Ј® бҐаўҐа . . . echo ------------------------------------- echo L2Dot.ru - Copyright 2011. echo L2Dot Development. echo ------------------------------------- echo „ в : %date%, ‚६п: %time%. echo ------------------------------------- echo Џ®«л© ЎҐЄ- Ї Ў §л-¤ ле ў %date%-%ctime%_backup_full.sql .\tools\mysqldump.exe %Ignore% --add-drop-table -h %DBHost% -u %user% --password=%pass% %DBname% > backup\%DATE%-%ctime%_backup_full.sql Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Расторгуев 111 Опубликовано 22 августа, 2014 в л2дотах уже при запуске ГСа был вот пример: set user=root set pass= set DBname=db-l2dot set DBHost=localhost set ctime=%time:~0,2% if "%ctime:~0,1%" == " " ( set ctime=0%ctime:~1,1% ) set ctime=%ctime%'%time:~3,2%'%time:~6,2% echo ‡ ЇгбЄ - ЁЈа®ў®Ј® бҐаўҐа . . . echo ------------------------------------- echo L2Dot.ru - Copyright 2011. echo L2Dot Development. echo ------------------------------------- echo „ в : %date%, ‚६п: %time%. echo ------------------------------------- echo Џ®«л© ЎҐЄ- Ї Ў §л-¤ ле ў %date%-%ctime%_backup_full.sql .\tools\mysqldump.exe %Ignore% --add-drop-table -h %DBHost% -u %user% --password=%pass% %DBname% > backup\%DATE%-%ctime%_backup_full.sql поправка оно было еще в фениксах и оч оч давно примерно тот же смысл что и уже Адаптировал Dis но грубо уже на любителя , кому то проще конфиг настроить ) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
dislike 302 Опубликовано 22 августа, 2014 (изменено) Это да, при запуске гс это понятно, просто если приходится чаще дамп делать или в строго определённое время, а человек не умеет пользоваться кроном, то скрипт должен пригодится. Также можно сделать, что бы приложение запускалась как отельный процесс и будет работать независимо от гейм сервера. Изменено 22 августа, 2014 пользователем dislike Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hikari 48 Опубликовано 23 августа, 2014 Взял. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Emerald 55 Опубликовано 23 августа, 2014 спасибо конечно но в гугле полно тем как это делать)) да и тут 1000 раз было) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Расторгуев 111 Опубликовано 27 августа, 2014 спасибо конечно но в гугле полно тем как это делать)) да и тут 1000 раз было) делать это оно а либы готовые для тех кто начинает это другое ) не каждый умеет это делать или делает а когда аяяяй то уже понимают что нужен был бекаб ) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MmoAdvert 34 Опубликовано 30 августа, 2014 (изменено) Я из тех кто держит Java сервер на Windows Server, крона у нас нет к сожалению) Сделал на винде так: Создаем батник с кодом: @ECHO Start! BAckup MYSQL BASE..Please Wait.... mysqldump -u root -p[пароль] [название бд] > z:\Backup\dump.%DATE%".sql end Ставим выполнение батника в планировщике задач, на нужное время и вуаля) В итоге будет сделан дамп через тот же mysqldump , в нужную папку, с указанием в файле даты дампа. У меня дамп происходит в 5.11 утра каждый день. Выглядит это примерно так. P.S. ТС спасибо, отличная работа. Многие ждали изобретения чего либо подобного. Выложил свой способ, мало ли, может кому то пригодится. Изменено 31 августа, 2014 пользователем laguerro Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты