Страница 1 из 2

Как сделать бэкап базы данных программы автоматически

Добавлено: 31 май 2015, 14:52
Drugojandrew
Добрый день.
Нужно решить одну проблему. Есть финансовая программа для контроля правильного движения средств. Написана в США, авторов не знаю. Мне нужно делать каждый день бэкап данных, желательно ночью, когда никто в ней не работает. Программа стоит на Виндовс сервер 2003. Сама программа тоже является сервером. Ее работа отображается в виде консоли.
Сейчас резервное копирование делается таким образом:
1. Завершите работу консоли сервера, введя команду shutdown и затем Enter.
2. Если с сервером в настоящее время соединен хоть один пользователь, то вам потребуется ввести подтверждение того, чтобы отключить его. Если вы хотите отключить, то введите слово yes и затем Enter. Через некоторое время работа консоли прекратиться, после чего курсор перейдет в строку командной строки или совсем выйдет из окна командной строки.
3. Условно: если командная строка закрылась, то откройте ее заново, нажав Win+R, и в появившемся окне введите cmd и затем Enter.
4. В командной строке введите команду для резервного копирования (дату и время вводить в указанном формате): backdbcd ггггммдд чч:мм (например, backdbcd 20130907 21:30). Начнется резервное копирование.
Все это делается вручную. Получается если я делаю бэкап днем, то я отключаю пользователей, которые в ней работают и они теряют не сохраненные данные. Предупредить всех об остановке программы нереально - много народу в ней может быть. Если делать в не рабочее время, то мне приходиться очень рано приходить или очень поздно уходить - для меня это проблематично.
Поэтому хочется, чтобы это делалось автоматически, скажем в 3 часа ночи.
Помогите, пожалуйста, решить эту задачу. Сам я чайник в программировании, поэтому просьба писать подробнее.

Re: Как сделать бэкап базы данных программы автоматически

Добавлено: 01 июн 2015, 10:08
somewhere
Желательно знать тип БД. Если это что-то SQL-подобное, то бекап можно сделать средствами самого SQL-сервера. Иначе писать скрипт (батник) для запуска резервного копирования. Если БД организована на базе файловой системы, то можно делать бэкап своей программой, блокируя файлы для записи и копируя в архив в определенную папку. Для тех данных, что дали вы, наиболее предпочтительный способ - батник

Re: Как сделать бэкап базы данных программы автоматически

Добавлено: 01 июн 2015, 10:40
Drugojandrew
Попытаюсь выяснить как написана эта программа. А можете написать батник? Я совсем пока не представляю как это сделать чтобы завершить стандартно программу и затем сделать бэкап.

Re: Как сделать бэкап базы данных программы автоматически

Добавлено: 03 авг 2015, 14:50
Алексей Бачериков
Создаём программы на любой вкус по недорогой цене, любого уровня на сайте http://zakazprogi.usluga.me/

Re: Как сделать бэкап базы данных программы автоматически

Добавлено: 19 авг 2015, 13:12
Сионист
Ну ты б дал сначала свою команду резервного копирования.

Re: Как сделать бэкап базы данных программы автоматически

Добавлено: 21 авг 2015, 15:23
Drugojandrew
Сионист писал(а):Ну ты б дал сначала свою команду резервного копирования.
Задача собственно состоит в том, чтобы через консоль завершить выполнение программы. Программа на виртуальном сервере. Команда пишется в консоли программы. Чтобы завершить нужно дать команду "shutdown", а за тем подтвердить - ввести "yes". Сам бэкап сделать довольно просто, проблема именно в завершении. Принудительно завершать нельзя, только через команду. Как при закрытом рабочем столе вести команду в консоль?

Re: Как сделать бэкап базы данных программы автоматически

Добавлено: 21 авг 2015, 18:31
Сионист
А рабочий стол то здесь зачем? shutdown пишется прямо в консоль, заранее вешаешь скрипт на планировщик и он будет завершать. Но если делать только закрытие, то Вам ведь всё равно придётся сидеть на работе, чтоб вручную ввести команду для бекапа, поэтому задачу надо решить целиком.

Re: Как сделать бэкап базы данных программы автоматически

Добавлено: 22 авг 2015, 16:00
Drugojandrew
Сионист писал(а): заранее вешаешь скрипт на планировщик и он будет завершать.
Вопрос в том как написать этот скрипт. Я этого не знаю. Можете подсказать что это может быть за скрипт?
Сионист писал(а):Но если делать только закрытие, то Вам ведь всё равно придётся сидеть на работе, чтоб вручную ввести команду для бекапа, поэтому задачу надо решить целиком
эта часть задачи решена - бекап запускаю через батник в планировщике.

Re: Как сделать бэкап базы данных программы автоматически

Добавлено: 22 авг 2015, 16:13
Сионист
Ну вот смотрите: открываете системную Вы командную строку и набираете. Что? Просто shutdown? Это выключение самой машины. Предположим, набрать надо

Код: Выделить всё

c:\program files\Command Shutdown
. Тогда эту же строчку можно набрать и в скрипт. Или обычно Вы юзали командную строку самой программы? Тогда я не подскажу, надо переделать для системной.

Re: Как сделать бэкап базы данных программы автоматически

Добавлено: 22 авг 2015, 16:18
Drugojandrew
Сионист писал(а):Или обычно Вы юзали командную строку самой программы?
Да, команду надо вводить в консоль самой программы.