Назад | Перейти на главную страницу

Резервное копирование Windows через SCP в Linux

Мне необходимо регулярно создавать резервные копии некоторых файлов из окна Windows как локально (на другом диске), так и в удаленном месте через Интернет. Я подумываю использовать 7zip для создания инкрементных резервных копий на локальном компьютере, а затем сценариев WinSCP чтобы отправить их в удаленный ящик, на котором запущен сервер OpenSSH, который (вероятно, с помощью задания cron) позаботится о датировке резервных копий и хранит их в аккуратных папках.

С помощью приведенных выше ссылок я думаю, что смогу склеить это вместе, но мой вопрос в том, является ли это «хорошим» решением. Что я упускаю из виду с помощью этого метода? Есть ли для меня лучший (более простой?) Способ сделать это (примечание: у проекта нулевой бюджет, поэтому, хотя я большой поклонник Backblaze, на этот раз он отсутствует)? Есть ли какие-то необоснованные опасения относительно безопасности, которые я игнорирую? Думаю, я ищу здесь что-то вроде "передового опыта".

Спасибо!

Есть также двуличие если вас интересуют rsync + gnupg encryption + ssh / s3 / различные другие серверные хранилища. Чтобы заставить его работать в Windows, нужно немного поработать (а именно установить Cygwin и необходимые пакеты вспомогательного программного обеспечения), но это не так уж сложно.

У вас будет преимущество зашифрованных дифференциальных резервных копий, которые вы можете хранить на Linux (или другом сервере с поддержкой SSH), Amazon S3 и т. Д.

7zip + pscp [исходящий из замазка ] + закрытый ключ без парольной фразы отлично работает в Windows. я не знаю, какой у вас размер данных, как часто он меняется и так далее; это не лучшая практика, но вот что я использую:

  • vshadow из теневой копии тома Microsoft, чтобы создать моментальный снимок файловой системы Windows [и избежать проблем с открытыми / заблокированными файлами]
  • SHADOWRSYNC скрипт с небольшой модификацией - я заменил rsync на ..
  • .. rdiff-резервное копирование для обработки дифференциального резервного копирования
  • plink from putty, чтобы обеспечить безопасный транспортный уровень для rdiff-резервного копирования через ssh-соединение.

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

очень нравится это решение. Спасибо. Я никогда раньше не играл с теневым копированием, но он выглядит очень полезным. Это позволит мне создавать резервные копии баз данных MSSQL, не останавливая службу, верно?

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

Я второй rsync + ssh, это то, что я использую в своей собственной сети

Рассмотрите также rsnapshot для резервных копий

(Скопировано из статьи, которую я только что выложил на Stack Overflow)

У сотрудников MSSQLTips есть несколько очень полезных статей, самая важная из которых - "Автоматизация резервного копирования SQL Server 2005 Express и удаление старых файлов резервных копий"

Базовый подход - настроить две задачи с помощью Планировщика задач Windows. Одна задача запускает сценарий TSQL, который создает отдельные файлы резервных копий для всех баз данных MSSQL (кроме TEMPDB) с именем базы данных и отметкой даты / времени в имени файла в указанном каталоге. Вторая задача запускает сценарий VBScript, который просматривает этот каталог и удаляет все файлы с расширением .BAK, возраст которых превышает 3 дня.

Оба сценария требуют незначительного редактирования для вашей среды (пути, как долго хранить эти дампы базы данных), но они очень близки к drop-in-and-run.

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

Я не знаю о требованиях к настройке типа главный / подчиненный с помощью MSSQL, но он поддерживает репликацию, и там есть документация. Надеюсь, в той же документации будет указано, возможно ли это сделать с помощью MSDE / Express, а также с полным продуктом.

Исходный ответ, исправленный здесь, потому что мое понимание чтения было плохим, и я читал MSSQL как MySQL:

Для резервного копирования базы данных смотрите документацию MySQL. Среди других опций mysqldump или (возможно) mysqlhotcopy позволят вам выгружать содержимое базы данных для резервного копирования, даже когда она используется. Судя по тому, что я читал документацию, у вас обычно не бывает заметных прерываний.

Одним из недостатков этого подхода является то, что он каждый раз создает новый файл дампа, поэтому rsync может не помочь сократить сетевой трафик.

Другим вариантом может быть запуск главного и подчиненного серверов MySQL - я еще не делал этого сам (только один клиент что-то делает с MySQL), но есть много документации, включая Как сделать резервную копию баз данных MySQL, не прерывая работу MySQL на HowToForge