Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
Помогли мы вам |
Я все это запускаю на macOS, но действия, описанные в этом руководстве, применимы и на других операционных системах.
Вставь microSD-карточку в компьютер, запусти Etcher и залей скачанный образ Raspberry Pi OS на карточку.
Достань карточку и вставь обратно. Она должна появиться диском под именем boot
.
Перед тем как запихивать карточку в малину, нам нужно немного настроить операционку. Давай настроим подключение к беспроводному интернету.
Файлы обязательно редактируй какой-нибудь тулзой типа nano
или vim
, чтобы не накосячить с текстовой кодировкой условным встроенным в ОС блокнотом. Создай файл с названием wpa_supplicant.
прямо в корне карточки. Содержание этого файла должно быть следующим.
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="мой_вайфай"
scan_ssid=1
psk="пароль_от_вайфая"
key_mgmt=WPA-PSK
}
Конечно, замени РјРѕР№_вайфай
и пароль_РѕС‚_вайфая
на название и пароль от своей сети WiFi. Насколько я понял, эта версия малины работает только с беспроводными сетями 2,4 ГГц.
Далее включи SSH на малине, так как управлять мы ей будем именно по SSH. Создай пустой файл в корне карточки с именем ssh
. Можешь использовать команду $ touch ssh
.
Вот и все! Малина настроена. Вставь карточку в малину и подключи ее к питанию! Убедись, что питание ты подключаешь в разъем с пометкой PWR
. Первый запуск малины займет примерно 90 секунд, ей нужно провести первоначальную настройку.
Теперь тебе нужно узнать IP-адрес малины. Можешь воспользоваться бесплатной программой LanScan на macOS или любым аналогом типа nmap
на других платформах. Найди адрес с именем девайса типа raspberry pi.
Теперь ты можешь подключиться прямо к малине! И все по воздуху! Подключись к пользователю pi
со стандартным паролем raspberry
. Можешь воспользоваться командой $ ssh pi@{IP_малины}
.
Для безопасности поменяй стандартный пароль командой $ sudo raspi-config
. После перезапусти малину командой $ sudo shutdown -r now
.
В принципе, можешь не выключать вход на малину по паролю, если малина никогда не будет доступна из интернета. Но если хочешь на 100 % обезопасить свои бэкапы, то включи вход по SSH только по ключам, создав файл ~/.
на малине с SSH-ключом, а после перезагрузи малину.
Ну и не забудь выставить PasswordAuthentication
в файле настройки SSH — /
!
Теперь ты официально в малине. Время писать скрипты бэкапа!
Скрипт будет крайне простым. Будем использовать тулзу mongodump, чтобы забрать всю информацию из базы данных в одну папочку, а потом тулзу drive, чтобы залить всю прелесть на Google Drive. Проще пареной репы!
Запусти следующие команды на малине для установки drive
.
$ sudo mv drive_armv6 /usr/bin/gdrive
$ sudo chmod+x /usr/bin/gdrive
Заметь, что мы устанавливаем тулзу именно для архитектуры ARMv6. Теперь можешь написать $ gdrive version
на малине, чтобы убедиться, что все сработало.
Теперь тебе нужно настроить drive
, чтобы он смог работать с определенной папкой. Создай папку для бэкапов командой $ mkdir ~/backups
и после запусти команду $ gdrive init ~/backups
, чтобы заставить drive
синхронизировать эту папку. Скрипт выдаст тебе ссылку, нужно будет авторизоваться в сервисе через браузер (уже на своем компе, откуда подключался к малине).
Можешь проверить настройку, прописав команду $ cat ~/.gd/credentials.json
. Должно выдать твои ключи авторизации.
Если ты используешь какую-то другую базу данных, а не Mongo, то проигнорируй все до секции «Загружаем дамп базы данных в облако». Просто убедись, что у тебя есть команда, которая позволяет тебе загружать все данные любимой базы данных в определенную папку на малине. Эту папку мы и будем загружать в облако.
Да, в этом руководстве я расскажу тебе только о Mongo. Ради краткости изложения и для показательности примера я решил выбрать именно эту базу данных.
Но и тут у нас будут небольшие проблемы из-за ограниченности выбранного железа. На Raspberry Pi Zero далеко не уехать — процессор в нашей малине 32-битный, а последняя Mongo запускается лишь на 64-битных системах. Что же делать?
Поступим очень хитро: за неимением лучшего решения воспользуемся простым костылем. Мы заставим наш сервер, на котором уже установлена Mongo, собирать дамп базы данных — а потом будем его загружать к себе в Google Drive.
Почему бы нам просто тогда не запускать все на сервере, раз уж на то пошло? Да потому что малина — это киберпанк, который мы заслужили, а бэкапы всегда должны быть внешними.
|
|