Резервное копирование ubuntu

Введение

Добавление и удаление пользователей – это одна из базовых задач, с которой вы можете столкнуться при работе на новом сервере с ОС семейства Linux. Как правило, после того, как вы установили новую систему, у вас есть только один пользователь – суперпользователь.

С одной стороны, использовать суперпользователя удобно, так как он обладает широкими возможностями; с другой стороны, из-за этого вы можете случайно нанести вред только что установленной системе. Поэтому для выполнения стандартных действий лучше создать еще одного пользователя, но на этот раз не обладающего такими привилегиями. Также рекомендуется создать дополнительных пользователей для всех людей, которые будут пользоваться системой. У каждого пользователя должен быть свой аккаунт.

При этом вы сможете выполнять административные задачи при помощи пользователя с sudo правами. Из этого руководства вы узнаете, как создавать пользователей, наделять их правами sudo и удалять их.

3: Изменение root-пароля

Сервер базы данных работает в ограниченном режиме – без таблиц привилегий и без поддержки доступа по сети. Это позволяет вам войти на сервер без ввода пароля, но не дает выполнять команды, изменяющие данные. Чтобы сбросить root-пароль, вы должны загрузить таблицы привилегий сразу после того, как получили доступ к серверу.

Перезагрузить эти таблицы можно с помощью команды FLUSH PRIVILEGES:

Теперь вы можете изменить свой пароль root. Процедура изменения пароля также зависит от вашей СУБД.

Изменение пароля MariaDB

Если вы используете MariaDB, выполните следующую команду, чтобы установить пароль для учетной записи root.

Вместо new_password нужно указать ваш новый сложный пароль:

Вы увидите следующий вывод, который сообщит об изменении пароля:

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

Для каждого оператора вы получите следующий результат:

Ваш root-пароль MariaDB изменен. Введите exit, чтобы выйти из консоли БД, и перейдите к разделу 4, чтобы перезапустить сервер БД в обычном режиме.

Изменение пароля MySQL

Выполните следующий оператор, чтобы изменить пароль root пользователя MySQL. Замените new_password надежным паролем, который вы запомните.

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

Вы увидите такой вывод, что значит, что пароль был успешно изменен:

Теперь ваш пароль изменен. Выйдите из консоли MySQL, введя exit.

Давайте перезапустим БД в нормальном рабочем режиме.

Кому стоит перейти на Ubuntu?

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

Ubuntu даже невооруженным взглядом выглядит самым прожорливым Linux’ом. Но и самым красивым, самым прокаченным.

Поэтому для повседневных задач она подходит превосходно, заменяя любую другую ОС. И не приносит никаких проблем при переезде с macOS или Windows.

Поэтому для офисных работников клавиатуры и мыши, а так же массы девелоперов, имеющих нативные инструменты для Ubuntu и Co это идеальная система. Почти как macOS, только чуть сложнее и с большим количеством возможностей.

Этот CAD заменяет AutoCAD. Почти. Впрочем, KOMPAS и NX для NIX тоже есть

За пределами офисной работы или веб-разработки появляется масса вопросов, связанных с софтом и конкретным используемым оборудованием.

Нативно поддерживается почти все, так что если не нравится Windows, а «хакинтош» по каким-то причинам невозможен — Ubuntu станет лучшим выбором для первой попытки использовать Unix.

Да, что-то может работать с трудом. Но если уж работает — то работает на славу. И заморочек все же меньше, чем с macOS. Попробуйте, если найдется нужный софт: этот опыт стоит того.

iPhones.ru

Есть ли жизнь в NIX?

В линуксе

Установка PATH на компьютере с Linux практически такая же, как на Mac, вы просто редактируете другой файл.

Используя ваш любимый текстовый редактор, откройте файл ~ / .bashrc. Вероятно, он будет существовать и иметь несколько записей. Если вы получите сообщение об ошибке, что файл не существует, просто создайте новый файл и сохраните его как ~ / .bashrc, когда закончите.

Вы хотите добавить следующие две строки в конец файла .bashrc:

Сохраните файл и закройте окно терминала. Откройте новый экземпляр терминала и введите следующую команду:

Ваша сессия будет ссылаться на сделанные вами изменения, и SDK будет в вашем PATH.

2: Перезапуск сервера базы данных без проверки прав доступа

Режим MySQL и MariaDB без проверки привилегий позволяет получить доступ к командной строке БД с правами root, не предоставляя действительного пароля. Чтобы включить этот режим, необходимо запретить базе данных загружать таблицы привилегий, в которых хранится информация о доступе пользователей. Поскольку такой режим представляет некоторую угрозу безопасности, рекомендуем также отключить сеть, чтобы другие клиенты не смогли подключиться к временно уязвимому серверу.

Процедура запуска сервера без загрузки таблиц привилегий в MariaDB и MySQL различается.

Запуск MariaDB без таблиц привилегий

Чтобы запустить сервер MariaDB без таблиц привилегий, мы воспользуемся юнит-файлом systemd – в нем нужно установить дополнительные параметры для демона сервера MariaDB.

Выполните следующую команду, которая устанавливает переменную среды MYSQLD_OPTS, которую MariaDB использует при запуске. Параметры –skip-grant-tables и –skip-networking запустят MariaDB без загрузки таблиц привилегий или сетевых функций.

Затем запустите сервер MariaDB:

Эта команда не выведет на экран никаких результатов, но перезапустит сервер базы данных с учетом новых настроек.

Вы можете убедиться, что сервер запущен с помощью команды:

Теперь вы сможете подключиться к базе данных как root пользователь MariaDB без пароля:

На экране сразу появится командная оболочка базы данных.

Теперь, когда у вас есть доступ к серверу базы данных MariaDB, вы можете изменить пароль root – перейдите к разделу 3.

Запуск MySQL без таблиц привилегий

Чтобы запустить сервер MySQL без таблиц привилегий, нужно изменить конфигурацию systemd для MySQL: при запуске сервер должен передавать дополнительные параметры командной строки.

Для этого выполните следующую команду:

Эта команда откроет в редакторе nano новый файл, который вы будете использовать для редактирования переопределений сервиса MySQL. Они изменяют стандартные параметры MySQL.

Этот файл сейчас пуст. Добавьте в него следующие строки:

Первый оператор ExecStart сбрасывает значение по умолчанию, а второй предоставляет systemd новую команду для запуска сервиса – она содержит параметры, которые отключат загрузку таблиц привилегий и сетевые соединения.

Нажмите Ctrl-x, чтобы выйти из файла, затем y, чтобы сохранить внесенные изменения. Чтобы подтвердить имя файла, нажмите ввод.

Перезагрузите конфигурацию systemd, после чего эти изменения вступят в силу:

Теперь запустите сервер MySQL:

Команда не покажет на экране никаких данных, но сервер БД запустится. Таблицы привилегий и сетевые соединения буду отключены.

Подключитесь к базе данных как пользователь root:

Вы попадете в командную строку БД сразу, без ввода пароля.

Теперь все готово, вы можете изменить свой утерянный пароль.

Домашний помощник против HASS.io

Во-первых, вы можете спросить, я уже запускаю Home Assistant или Home Assistant на Docker. Почему я хочу перейти на HASS.io? HASS.io – это более автономный домашний помощник, который гораздо проще для начинающих устанавливать и запускать. Home Assistant и HASS.io имеют открытый исходный код, но HASS.io оптимизирован для встраиваемых устройств, таких как Raspberry Pi. Они оба предлагают локальную домашнюю автоматизацию, а не полагаются на облачные сервисы.

Вот несколько уникальных преимуществ HASS.io:

  • Простые обновления из веб-интерфейса
  • Простое резервное копирование и восстановление
  • Многочисленные официальные и общественные дополнения, которые расширяют функциональность домашнего помощника всего за несколько кликов. Автономная установка Home Assistant не предлагает магазина дополнений.

HASS.io Addon Store

Хотя для некоторых это может показаться не таким уж большим, представьте, что вам нужно поддерживать отдельные приложения или контейнеры для докеров для всех ваших нужд домашней автоматизации (например, Home Assitant, MQTT Broker, NodeRed, LetsEncrypt, Dynamic DNS и многое другое). Потратив буквально 100 часов на мой Docker Media Server с обратным прокси- сервером Traefik, я могу вам сказать, что со временем это может потребовать больших усилий. Кроме того, полное голосовое имя домена с SSL необходимо для голосовых помощников (например, Google Assistant) для работы с домашним помощником.

Home Assistant имеет тенденцию ломать вещи во время обновлений (потому что он быстро развивается). Если вам не нравится, что есть аддон для вас на HASS.io. Он проверяет, совместима ли новая версия с вашими текущими настройками. Затем вы можете решить обновить или отложить его на потом, в зависимости от вашей ситуации.

Я хорошо, чтобы обновить с Home Assistant 0,91,3 до 0,91,4

Некоторые могут возразить, что Home Assistant в Docker лучше, чем HASS.io в Docker, и что Dockerized HASS.io может быть весьма ограничивающим фактором. Чтобы быть ясным, ограничение заключается не в самом домашнем помощнике, а в уровне управления или прямого вмешательства, который позволяет HASS.io. Если вы уже хорошо знаете Docker, почти все, что HASS.io делает с аддонами, можно реплицировать на любой хост с Docker. Но вы хотите или у вас есть время, чтобы сделать это? По моему опыту, большинство пользователей по достоинству оценят упрощенное управление всеми приложениями домашней автоматизации с использованием интерфейса дополнений HASS.io. Это сэкономит вам массу времени, и вы сможете сосредоточиться на домашней автоматизации, а не на обслуживании системы домашней автоматизации. Кроме того, с Portainer, который является веб-интерфейсом для управления докерными контейнерами (доступно как аддон HASS.io), вы можете легко управлять любым аддоном HASS.io, когда это (редко) необходимо.

Я управляю как аддонами HASS.io, так и другими приложениями Docker, с помощью Portainer

Все еще не определились? Ознакомьтесь с этой веткой Reddit, чтобы узнать, что думают некоторые пользователи.

Если вы уверены, тогда давайте посмотрим, как установить HASS.io на Docker в Linux (системы на основе Debian / Ubuntu).

Специфические баги спецсофта

Вот тут и становится понятно, что Windows пока не смогут убить ни Ubuntu, ни macOS. У второй есть все, но нет игр. У первой нет даже профессионального софта.

Существующие версии инженерных программ зачастую представляют с собой сущий ад: тот же интерфейс, та же функциональность. Но установка — это что-то с чем-то.

Нормальные разработчики дают некое подобие исполняемого файла для установки. Остальные предлагают использовать классические NIX-методы вроде компиляции и перемещений файлов через командную строку с правами администратора.

Пиратский софт на Ubuntu — проблема. MatLab на чужих скриншотах

Есть и такие, которые (среди них оказался необходимый мне профессиональный инженерный софт) совсем не получилось установить по необъяснимым причинам.

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

Большинство из них решаемы, но не научным методом тыка. Придется «курить мануалы».

Что если программа заработала? Польза от перехода к Ubuntu есть далеко не всегда:

  • программы, которые используют нативные NIX-драйвера, работают заметно быстрее и комфортнее.
  • программы, использующие проприетарные драйвера, например, для задействования CUDA-вычислений на видеокартах Nvidia, прекрасно себя чувствуют в адаптированных приложениях, но особой разницы в производительности нет.

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

Но таких очень немного, а разница в 10-15% при объемных вычислениях играет меньше значения, чем стабильная работа в иных случаях.

Компиляция пакетов из исходного кода в Ubuntu

Процесс компиляции включает в себя только 3 шага: настроить, создать и установить. Первый шаг . Большинство загруженных источников ( файлов) уже будут иметь . Для настройки файлов компиляции выполните следующую команду:

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

Следующим шагом является установка файлов установки путем компиляции исходного кода с помощью следующей команды:

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

Последний шаг – установить файлы, сгенерированные командой. В предыдущем методе установки скомпилированных файлов использовалась следующая команда:

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

В случае сбоя (из-за некоторых известных ошибок) вам может потребоваться выполнить следующую команду:

Эта команда проведет вас через серию шагов. Если каталог пакета документации недоступен, вам будет предложено создать его ( ). Затем вам будет предложено описание для пакета. Наконец, будет отображена сводка параметров, которые будут использоваться для создания пакета, как показано в примере ниже:

Проверьте параметры установки пакета сборки

Скомпилированный пакет будет установлен и появится в менеджере пакетов (например, Synaptic) для более простого и легкого удаления позже. Кроме того, будет создан пакет, который можно использовать для установки пакета на других аналогичных компьютерах или на том же компьютере в будущем без повторной компиляции. Вот и все, вы закончили компиляцию пакетов из исходного кода в Ubuntu.

Настройка клиента WireGuard

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

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

macOS: https://itunes.apple.com/us/app/wireguard/id1451685025
Gnome’s Network-Manager: https://github.com/max-moser/network-manager-wireguard
Android: https://play.google.com/store/apps/details?id=com.wireguard.android
iOS: https://itunes.apple.com/us/app/wireguard/id1441195209

Официального клиента Windows пока нет, но есть и другие проприетарные опции, такие как Tunsafe.

Внимание: разработчики WireGuard настоятельно рекомендуют не использовать клиенты Windows, которые не выпущены с официального сайта, поскольку они могут быть опасны в использовании, несмотря на маркетинговые усилия

Выбор дистрибутива. Есть все

Для установки достаточно скачать дистрибутив с официального сайта: русского или англоязычного.

Доступны версии для настольных ПК и ноутбуков (стабильная с расширенной поддержкой и наиболее свежая), серверный дистрибутив, версия для облачных решений и даже Ubuntu for IoT для умных устройств.

Строго говоря, существует так же ряд ответвлений в лице версий с иным рабочим окружением, специальной версии для медиацентров и кучи фанатских (но вполне официальных) вариантов с поддержкой и обновлением.

Скачать можно как версию для создания загрузочного диска из-под Windows, так и под macOS. Соответствующие инструкции размещены прямо на сайте.

Стабильность, качество работы и производительность

Один и тот же условный CAD на «маках» работает быстрее, на Ubuntu его можно «форсить» простым добавлением аппаратных ресурсов, а Windows на удивление оказывается проще в настройке. И мануалов с разбором типовых проблем к нему больше.

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

Если проприетарные драйвера есть именно для этого дистрибутива, они даже обновляться будут автоматически

Кроме того, с аудио- и видео-файлами работа на этой платформе довольно грустная. Софта меньше, оптимизация хуже.

Аналогичная ситуация складывается при работе с внешними устройствами, скажем, при программировании ПЛИС или других устройств через периферийные интерфейсы. Работает не все.

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

Тем не менее, нестабильная работа — это не про Ubuntu. Глюков, багов, синих экранов смерти здесь нет и быть не может.

Пока речь идет о выполнении стандартных функций NIX-софта, все практически идеально. Даже Chrome и тот кажется примером браузера, переставая жрать память в привычных объемах.

Конфигурация и настройка Pi Hole

Чтобы настроить PiHole, вам необходимо получить доступ к веб-интерфейсу / панели инструментов.

Как настроить Pi Hole? Ну, в большинстве случаев на Pi Hole настраивать особо нечего. Но одна хорошая настройка, которую нужно знать, – это расширение или редактирование ваших блочных списков.

PiHole со сторонними списками блокирует более 100 000 доменов. Этим спискам доверяют, и у вас редко бывают ложные срабатывания.

Но большинство пользователей PiHole могут захотеть расширить это (например, для известных хостов вредоносных программ / вымогателей). PiHole сообщество отлично и несколько пользователей создали и продолжают поддерживать пользовательский расширенные списки блоков. Список Уолли является заметным.

Список знаменитых Уолли

Выберите один из 3 доступных списков. Это отличное начало. Кроме того, вы можете найти больше в этой теме Reddit. Некоторые пользователи объединили множество списков, чтобы создать свои (например, этот ).

Предостережение: не добавляйте каждый блок-лист, который вы можете найти. Это может нарушить вашу работу в Интернете и вызвать проблемы (например, сайты покупок, сайты рефералов / возврата денег, приложение CNN, веб-страница GitHub и т.д. Могут не работать). Основные / стандартные списки являются отличной отправной точкой и уже блокируют более 100 000 доменов.

После того, как у вас есть список доработан, добавьте его в PiHole черный список, перейдя в Настройки -> списки блоков, как показано на рисунке ниже. Если вы выбрали один из расширенных списков блокировок, вы можете рассмотреть возможность внесения в белый список некоторых

Pi-Hole Добавить рекламные списки – как пример

Нажмите Сохранить и обновить.

Основные команды Pi Hole

Почти вся работа администратора по настройке Pi Hole может быть выполнена через веб-интерфейс. Но с помощью командной строки вы можете сделать это и многое другое (например, изменить пароль веб-интерфейса). Ниже я приведу несколько полезных примеров.

Гораздо больше задокументировано здесь.

pihole -a -p – изменить пароль WebUI

Сбросить пароль PiHole

Белый и черный список
  • pihole -w -l – список доменов в белом списке
  • pihole -w example.com – добавить example.com в белый список
  • pihole -w -d example.com – удалить example.com из белого списка
  • pihole -b -l – список доменов в черном списке
  • pihole -b example.com – добавить example.com в черный список
  • pihole -b -d example.com – удалить example.com из черного списка

pihole-up – Удпите Пихоле

Обновление PiHole

Включить Отключить PiHole
  • pihole enable – включить PiHole
  • Pihole disable – отключить PiHole навсегда
  • Pihole отключить 10м – отключить PiHole на 10 минут
  • Pihole отключить 60 с – отключить PiHole на 1 мин

Исправление проблем

Жестко закодированный DNS

Если вы видите рекламу на некоторых устройствах, а не на некоторых, попробуйте сначала перезагрузить маршрутизатор, чтобы возобновить аренду DHCP. Если вы по-прежнему видите рекламу, IP-адрес DNS-сервера может быть жестко задан на устройстве (например, Chromecast). Некоторые позволяют вам изменить это, а некоторые нет. Посмотрите в сети вашего устройства или настройках DNS, чтобы проверить, можете ли вы изменить свой IP-адрес DNS на IP-адрес вашего PiHole или даже лучше вашего интернет-шлюза (поскольку вы уже настроили его для работы через PiHole).

Нет интернета

Это произошло, когда мои карты SD вышли из строя. Если у вас нет интернета, убедитесь, что PiHole запущен, попробуйте подключиться к нему по SSH или откройте панель администратора PiHole. Если нет, попробуйте перезапустить Raspberry Pi, потянув питание. Другой вариант – восстановить IP-адреса вашего DNS-сервера на маршрутизаторе / устройстве обратно в IP-адрес вышестоящего DNS (1.1.1.1 и 1.0.0.1 для Cloudflare или оставить их пустыми, чтобы использовать DNS вашего интернет-провайдера). Если интернет работает, то проблема в настройке PiHole. Вы можете попытаться перенастроить команду pihole -r.

Подключение к СУБД

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

а) В Linux вводим команду:

mysql -uroot -p

* где root — пользователь, под которым мы будем подключаться к оболочке; ключ -p потребует ввода пароля.

б) В Windows запускаем командную строку — в меню пуск или найдя ее в поиске. Переходим в каталог, с установленной СУБД и запускаем одноименную команду mysql, например:

cd «%ProgramFiles%\MySQL\MySQL Server 5.5\bin\»

* в данном примере предполагается, что у нас установлена MySQL версии 5.5. 

mysql -u root -p

* здесь, как и в Linux, идет подключение к mysql/mariadb под учетной записью root с запросом пароля.

Бэкап и восстановление mysql с помощью mysqldump

Теперь просто для справки приведу примеры бэкапа и восстановления баз данных mysql с помощью mysqldump. Для небольших баз этого инструмента хватает за глаза и использовать что-то другое не имеет смысла. Преимущество xtrabackup в скорости работы и в возможности без проблем сделать инкрементный бэкап. Если он вам не нужен и база не большая, достаточно будет старого доброго mysqldump.

Бэкап всех баз mysql сервера с его помощью:

# /usr/bin/mysqldump -uroot -hlocalhost -p'password' --all-databases > /root/backupdb/all.sql

Можно сразу же сжимать его.

# /usr/bin/mysqldump -uroot -hlocalhost -p'password' --all-databases | /usr/bin/gzip -c > /root/backupdb/`date "+%Y-%m-%d"`sql.gz

Бэкап конкретной базы данных.

/usr/bin/mysqldump sitemanager -uroot -p'password' | /usr/bin/gzip -c > /root/backupdb/sitemanager_`date "+%Y-%m-%d"`sql.gz

Мне чаще всего мешают в дампе команды на создание базы данных — CREATE DATABASE, поэтому я их убираю ключом no-create-db.

/usr/bin/mysqldump --no-create-db sitemanager -uroot -p'password' | /usr/bin/gzip -c > /root/backupdb/sitemanager_`date "+%Y-%m-%d"`sql.gz

Для того, чтобы восстановить базу данных из дампа, можно воспользоваться следующими командами. Выполняются из консоли mysql.

# mysql -uroot -p
mysql> use sitemanager;
mysql> source /root/backupdb/sitemanager.sql;

Если дамп без команды на создание базы данных и ее нет у вас на сервере, то не забудьте ее перед этим создать. Так же восстановить базу данных из дампа можно следующим образом.

mysql> use sitemanager;
mysql> \. /root/backupdb/sitemanager.sql

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

#!/bin/bash

for i in `mysql -uroot -p'password' -e'show databases;' | grep -v information_schema | grep -v Database`; 
    do 
	/usr/bin/mysqldump -uroot -p'password' $i | /usr/bin/gzip -c > /root/backupdb/`date +%Y-%m-%d`-$i.sql.gz;
    done

Так же могу порекомендовать вот этот скрипт для бэкапа — https://github.com/adegtyarev/mysqlbackup. Описывать его не буду, по комментариям в скрипте понятен его функционал.

Если вам нужно из полного бэкапа mysql восстановить отдельную таблицу, то ее можно выделить из полного дампа через обычный awk примерно вот так.

# cat sitemanager.sql | /usr/bin/awk '/CREATE TABLE `b_catalog_discount`/,/UNLOCK TABLES/' > /tmp/b_catalog_discount.sql

Дальше через source можно восстановить данные из этого дампа отдельной таблицы.

Иногда бывает полезно сделать не просто полный backup базы данных, а разбить его сразу на таблицы. Тут поможет следующий скрипт.

#!/bin/bash

USER='root'
PASS='R(zDXcVUmI[zwx%aNBTN'

MYSQL="mysql --user=$USER --password=$PASS --skip-column-names";
DIR="/root/backupdb"

for s in mysql `$MYSQL -e "SHOW DATABASES"`;
    do
    mkdir $DIR/$s;
    for t in `$MYSQL -e "SHOW TABLES FROM $s"`;
	do
	    /usr/bin/mysqldump --user="$USER" --password="$PASS" --opt $s $t | /usr/bin/gzip -c > $DIR/$s/$t.sql.gz;
	done
    done

В таком варианте он сделает потабличный бэкап всех баз данных. Если вам не нужны все базы, то в цикле можете вместо предложенного перебора всех существующих баз указать одну конкретную.

for s in mysql sitemanager;

Восстановить потом всю базу из такого потабличного бэкапа можно таким образом.

#!/bin/bash
#

DB=sitemanager;
USER='root'
PASS='R(zDXcVUmI[zwx%aNBTN'
DIR="/root/backupdb/sitemanager"

for s in `ls -1 $DIR`;
    do
    echo "--> $s restoring... ";
    zcat $DIR/$s | /usr/bin/mysql --user=$USER --password=$PASS $DB;
    done

При использовании пароля в открытом виде в mysql или mysqldump, в консоль постоянно сыпятся предупреждения.

mysql:  Using a password on the command line interface can be insecure.

Чтобы их не было, перенесите, как я показывал выше, пароль в отдельный файл ~/.my.cnf, а из скрипта уберите авторизацию вообще.

На этом, пожалуй, насчет бэкапа баз mysql сервера все. Поделился основными своими наработками.

Заключение

Решение задачи по бэкапу mysql баз, что я описал, не претендует на уникальность и 100% правильность. Это просто мой личный опыт. Никаких особых изысканий и поиска наилучшего решения не проводил. Просто сделал, как сделал, чем с вами и поделился. В моих задачах такой подход достаточен.

Еще раз напоминаю, что этот способ актуален для относительно небольших баз. Дампить объемные базы плохая идея, так как будет сильно проседать i/o дисков. Плюс тут нет возможности делать инкрементные бэкпы. Только полные, что, очевидно, не всегда удобно.

Для мониторинга бэкапов в целом, можете воспользоваться моей объемной статьей по теме — Мониторинг бэкапов с помощью zabbix.

Онлайн курс по Linux

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Administrator Linux. Professional» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.

Что даст вам этот курс:

  • Знание архитектуры Linux.
  • Освоение современных методов и инструментов анализа и обработки данных.
  • Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
  • Владение основными рабочими инструментами системного администратора.
  • Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
  • Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.

Проверьте себя на вступительном тесте и смотрите подробнее программу по .

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: