| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS Windows > Как автоматически сделать backup базы |
| Автор: Drugojandrew 31.5.2015, 14:41 |
| Добрый день. Нужно решить одну проблему. Есть финансовая программа для контроля правильного движения средств. Написана в США, авторов не знаю. Мне нужно делать каждый день бэкап данных, желательно ночью, когда никто в ней не работает. Программа стоит на Виндовс сервер 2003. Сама программа тоже является сервером. Ее работа отображается в виде консоли. Сейчас резервное копирование делается таким образом: 1. Завершите работу консоли сервера, введя команду shutdown и затем Enter. 2. Если с сервером в настоящее время соединен хоть один пользователь, то вам потребуется ввести подтверждение того, чтобы отключить его. Если вы хотите отключить, то введите слово yes и затем Enter. Через некоторое время работа консоли прекратиться, после чего курсор перейдет в строку командной строки или совсем выйдет из окна командной строки. 3. Условно: если командная строка закрылась, то откройте ее заново, нажав Win+R, и в появившемся окне введите cmd и затем Enter. 4. В командной строке введите команду для резервного копирования (дату и время вводить в указанном формате): backdbcd ггггммдд чч:мм (например, backdbcd 20130907 21:30). Начнется резервное копирование. Все это делается вручную. Получается если я делаю бэкап днем, то я отключаю пользователей, которые в ней работают и они теряют не сохраненные данные. Предупредить всех об остановке программы нереально - много народу в ней может быть. Если делать в не рабочее время, то мне приходиться очень рано приходить или очень поздно уходить - для меня это проблематично. Поэтому хочется, чтобы это делалось автоматически, скажем в 3 часа ночи. Помогите, пожалуйста, решить эту задачу. Сам я чайник в программировании, поэтому просьба писать подробнее. |
| Автор: kin 2.6.2015, 16:44 |
| Привет! Если еще актуально, то, банальный вопрос: что мешает использовать планировщик задач? |
| Автор: Drugojandrew 3.6.2015, 10:38 |
| Еще актуально. Через планировщик я смогу запустить только backdbcd (это бат файл), а как остановить сервер я не знаю. Причем это нужно сделать обязательно через команду shutdown и на вопрос об отключении пользователей ответить yes. Остановка через taskkill и т.п. не подходит, т.к. иногда возникают из-за этого сбои. Мне рекомендовали написать батник, но я как-то не въеду как это сделать. |
| Автор: mihanik 3.6.2015, 15:33 |
| А теневые копии помогут? Консистентность базы не нарушиться? |
| Автор: Drugojandrew 3.6.2015, 19:53 | ||
|
| Автор: dstorm81 4.6.2015, 11:28 |
могу предположить что поможет виртуализация сервера с этой программулиной. предположу что kvm гость в raw формате на lvm блоке отлично сделает снапшот поздно ночью |
| Автор: Drugojandrew 7.6.2015, 18:42 | ||||
Добавлено через 4 минуты и 35 секунд
|
| Автор: kin 8.6.2015, 08:24 | ||
|
| Автор: dstorm81 8.6.2015, 09:47 |
предлагаю делать бэкапы не вашей программы.. а бэкапы компа ПОЛНОСТЬЮ... собственно, чтобы осуществить такое, нужно виртуализировать вашу систему: 1) для этого поднять гипервизор (kvm или hiper-v) 2) выйти в выходные и перенести физическую систему в виртуальную. 3)получать profit |
| Автор: Akina 8.6.2015, 11:22 |
| Собственно задача - эмулировать нажатие клавиатуры в заранее известном окне приложения. Причём что именно слать - хорошо известно. Не вижу проблемы. SendKeys в помощь. А это твои проблемы. Хочешь решить задачу - становись не-чайником. Или нанимай не-чайника, тоже вариант. |
| Автор: Drugojandrew 10.6.2015, 11:43 | ||
|
| Автор: Drugojandrew 12.6.2015, 18:21 | ||
SendKeys в консоли не работает(.
|