Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Реалистичный симулятор игры бильярд. Играйте в Бильярд 3D: Русский бильярд, как в настоящей бильярдной!

Бильярд 3D: Русский бильярд

Симуляторы, Спорт, Настольные

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Linux + Резервное копирование

С этим тегом используют

Windows IT Программирование Ubuntu IT юмор Компьютер Программист Сервер Данные Все
15 постов сначала свежее
72
SunXE
SunXE
7 лет назад
GNU/Linux

Что для тебя важно, если ты Linux администратор.⁠⁠

Что для тебя важно, если ты Linux администратор. Linux, Мониторинг, Резервное копирование, Оркестровка, IT, It-технологии, Администрирование

У меня появилось 5 подписчиков и вы наверное хотите почитать что-то про DevOps? Но начать я решил с более общей темы.
Я не претендую на то что эти вещи являются какими то универсальными, а хочу обобщить то к чему пришёл на своём опыте.
И так, если я прихожу в новый проект в котором уже есть какая-то инфраструктура, то первоочередными для меня являются 3 вещи.


Самая первая вещь по значимости - это мониторинг. С помощью хорошо настроенного мониторинга можно предотвратить 70% проблем и оперативно среагировать на оставшиеся 30%. Основные вещи, такие как состояние дисков, файловых систем, доступность ресурсов и сервисов, замониторить достаточно быстро, но допиливать проверки по разным тонким параметрам можно бесконечно. Есть у мониторинга начало, нет у мониторинга конца).

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

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

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

Написал я конечно очень общо и во многом скапитанил, но с чего-то же нужно начинать :)
В дальнейшем планирую пройтись по инструментарию и подходу DevOps и тому что сейчас модно использовать в it стартапах.

P. S. Я специально не указал продукты которые я использую для этих трёх пунктов, так как это тема для отдельного холивара.

Показать полностью
[моё] Linux Мониторинг Резервное копирование Оркестровка IT It-технологии Администрирование
31
29
mr.GreyWolf
8 лет назад
GNU/Linux

Backup Manager⁠⁠

Backup Manager это пакет консольных программ для резервного копирования.

https://github.com/sukria/Backup-Manager


Написан на bash и perl, может работать с архивами форматов tar, tar.gz, tar.bz2 и zip. Есть режим параллельного запуска нескольких копий программы с различающимися настройками.

Поддерживается создание дампов MySQL, Subversion и инкрементное резервное копирование.

Резервные копии могут храниться в течение заданного количества дней, а по протоколам FTP, SSH или Rsync возможна их выгрузка на удалённые хосты, также поддерживается выгрузка на Amazon S3 и запись резервных копий на устройства CD/DVD.

Возможно шифрование архивов.


Заканчиваю перевод материала: Backup Manager 0.7.7 User Guide © Alexis Sukrieh, ver. 1.7 - 14 Apr, 2008 который стал основой для написания раздела Настройка статьи о Backup Manager.

[моё] Linux Debian Системное администрирование Резервное копирование Текст
9
6
OLQLOSH
8 лет назад

Linux: Подключение Google Drive или бэкап для бедных⁠⁠

Всем привет!

Linux: Подключение Google Drive или бэкап для бедных Linux, Google Drive, Backup, Резервное копирование, Длиннопост
Однажды я озадачился вопросом резервного копирования нескольких сайтов, бэкапы которых некуда было складывать. И тут в голову пришла прекрасная идея использовать в качестве хранилища резервных копий GoogleDrive. По запросу "linux google drive" в поисковиках выводится большое количество статей по его подключению. В этих статьях в основном фигурируют два проекта - google-drive-ocamlfuse (ссылка на github https://github.com/astrada/google-drive-ocamlfuse) и gdrive (ссылка на github https://github.com/prasmussen/gdrive). Установка gdrive на CentOS (на самом деле его можно поставить на любой linux-дистрибутив) для работы с гугл-диском мне показалась намного проще. Об его настройке я и напишу в этом посте. Также оставлю здесь ссылку на пример bash-скрипта для создания резервной копии с блэк джеком и ш... шифрованием, копированием на Google Drive, и отправкой оповещения на e-mail.


Установка и настройка gdrive


Все действия ниже выполняются на CentOS7. Если вы хотите поставить gdrive на другой linux-дистрибутив, то перейдите на страницу проекта на github и скопируйте необходимую ссылку


# wget -O drive https://drive.google.com/uc?id=0B3X9GlR6EmbnMHBMVWtKaEZXdDg

# mv drive /usr/sbin/drive


# chmod +x /usr/sbin/drive


Всё, gdrive установлен. Ну очень просто)


Теперь запустим drive для запуска процесса авторизации:


# drive


Появится следующее сообщение:


Go to the following link in your browser:

https://accounts.google.com/o/oauth2/authclient_id=367116221...


Enter verification code:


Необходимо скопировать и открыть эту ссылку в браузере. После авторизации появится следующая страница:

Linux: Подключение Google Drive или бэкап для бедных Linux, Google Drive, Backup, Резервное копирование, Длиннопост
Жмем кнопку "Разрешить", после чего откроется страница с нашим кодом для проверки:
Linux: Подключение Google Drive или бэкап для бедных Linux, Google Drive, Backup, Резервное копирование, Длиннопост

Копипастим этот код в консоль и подтверждаем:


Enter verification code: 5/8r1pjcEwaRzIpF88QdA0CTwV0lacGXAE6x8czOFK6k9


Все gdrive настроен.


Проверим его работу. Создадим простой текстовый файл и скопируем его на гугл-диск:


# echo test > test.txt


# drive upload --file test.txt


где:

--file test.txt - файл, который нужно скопировать.


После выполнения команды drive upload в консоль выводится информация о загруженном файле:


Id: 0B4KhH190NxVwZ0VQRzlFbXhkVHM

Title: test.txt

Size: 5.0 B

Created: 2016-08-26 12:58:04

Modified: 2016-08-26 12:58:04

Owner: Test Account

Md5sum: d8e8fca2dc0f896fd7cb4cb0031ba249

Shared: False

Parents: 0AIKhH190NxVwUk9PVA

MIME Type: text/plain; charset=utf-8

Uploaded 'test.txt' at 5.0 B/s, total 5.0 B


Для просмотра содержимого диска используется команда drive list.


Откроем в браузере наш гугл-диск, чтобы еще раз убедиться, что файл все-таки скопировался:

Linux: Подключение Google Drive или бэкап для бедных Linux, Google Drive, Backup, Резервное копирование, Длиннопост

Для удаления файла необходимо использовать следующую команду:


# drive delete --id 0B4KhH190NxVwZ0VQRzlFbXhkVHM


Removed file 'test.txt'


где:

- 0B4KhH190NxVwZ0VQRzlFbXhkVHM - Id файла, который нужно удалить.


Скрипт резервного копирования


Теперь перейдем к нашему скрипту. Вот тут --> ссылка <-- на страницу в моем блоге, где приведен листинг скрипта, который выполняет:


-- mysqldump всех баз данных web-сервера

-- создаёт tar.gz архив необходимых директорий (в этот же архив включены и дамп-файлы баз)

-- зашифровывает полученный архив с помощью OpenSSL

-- отправляет зашифрованный архив на Google Drive (после завершения удаляет зашифрованный архив из локальной директории)

-- отправляет отчет о результате на e-mail

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


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


Если вы знаете какие-нибудь другие способы подключения Google Drive на linux - пишите в комментариях.


Всем удачного дня!

Показать полностью 3
[моё] Linux Google Drive Backup Резервное копирование Длиннопост
5
18
Auslique
Auslique
9 лет назад

«Звони адвокату». Владелец хостинга случайно уничтожил свою компанию строкой кода.⁠⁠

Руководитель небольшой хостинговой компании на 1534 клиента Марко Марсала уничтожил данные всех своих клиентов, а вместе с ними и свой бизнес, сделав ошибку в коде, пишет Independent.


Марко опубликовал пост на форуме Server Vault, где рассказал о своей проблеме. Он запустил на всех своих серверах код «rm -rf {foo}/{bar}», не задав переменные «foo» и «bar». Как объясняет издание, команда «rm» используется для удаления данных, «r» удаляет всё внутри выбранной директории, а «f» заставляет систему игнорировать предупреждения, которые обычно пользователь видит при удалении файлов.

«Звони адвокату». Владелец хостинга случайно уничтожил свою компанию строкой кода. Хостинг, Fail, Идиотизм, Linux, Резервное копирование, Копипаста

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


«Если у тебя действительно нет никаких бекапов, то, к сожалению, ты только что уничтожил всю свою компанию».


«Мне неприятно говорить тебе об этом, но твоя компания действительно мертва. У тебя ещё есть призрачный шанс спасти положение, если ты выключишь всё прямо сейчас и отдашь диски нормальной компании по восстановлению данных. Это будет очень дорого, маловероятно, что это тебя спасёт, а ещё это займёт много времени».


«Ты выходишь из бизнеса. Тебе нужен не технический совет, а звонок адвокату».


Как отмечает газета, Марсала был не первым, кто столкнулся с такой проблемой: два года назад на форуме уже появлялся пост об удалении всех данных скриптом с «rm -rf», в том случае его автор случайно не поставил пробел перед слэшем в команде.


14 апреля Microsoft запустила сервис CaptionBot, который делает подписи к фотографиям, загруженным пользователями. Подписи получаются далёкими от реальности, чем смешат пользователей сети. До этого компания претерпела неудачу с чат-ботом Тай, который буквально за сутки превратился в расиста и женоненавистника.

Источник: http://medialeaks.ru/1504yut_marco

Показать полностью 1
Хостинг Fail Идиотизм Linux Резервное копирование Копипаста
21
29
BrainFury
BrainFury
9 лет назад

Мини сервер для бекапов часть 2 (настройка)⁠⁠

Продолжение. Начало в http://pikabu.ru/story/mini_server_dlya_bekapov_chast_1_podgotovitelnaya_3854168


Итак, сервер стоит, сетевой ресурс подключен, все пользователи созданы, права настроены. Но сам по себе он ничего еще не бекапит.


Теперь стоит немного рассказать о логике работы механизма резервного копирования. Изначально все файлы, лежащие на сетевом ресурсе сравниваются с "зеркалом" лежащим на локальном диске сервера с помощью утилиты rsync. Если есть отличие в размере файла или во времени последнего изменения, то копируется более новая версия. Далее во всей красе выступает файловая система ext4 или XFS с ее механизмом жестких ссылок. Об этом чуть позже.


Чтобы обеспечить работу rsync по расписанию, создадим небольшой скрипт.


sudo nano /home/backuper/sync.sh


Данная команда покажет вам окно текстового редактора. Содержимое необходимо сделать таким:


#!/bin/bash

rsync --archive --delete --progress /mnt/nw /backup/now

cp -rval /backup/now /backup/$(date +%Y-%m-%d)/

rm -rdf /backup/$(date --date='30 days ago' +'%Y-%m-%d')


Вот такой вот простенький скрипт. Что же он делает? В первую очередь он синхронизирует сетевую папку /mnt/nw с локальной /backup/now. При этом, сохраняет все атрибуты файлов, в первую очередь, дату изменения. Если файл на сетевом ресурсе был удален, то он удаляется и в локальной папке.

Затем содержимое папки /backup/now копируется жесткими ссылками в папку /backup/"текущая дата" При этом, количество свободного места на диске практически не уменьшается, именно за счет использования жестких ссылок. Файлы, удаленные сегодня, в предыдущих копиях остаются, пока не будет удалена последняя ссылка на них. Файлы, измененные сегодня удаляются в текущей копии и копируются заново, таким образом, предыдущие версии файлов остаются в сохранности все время жизни архивных копий.

Последняя строка удаляет папку с названием, содержащим текущую дату - 30 дней. То есть, мы имеем 30 ежедневных копий, к каждой из которых можно откатиться. При этом, места занимается сравнительно мало, так как все эти папки содержат лишь массив жестких ссылок на файлы. Файл в архивной копии удаляется только тогда, когда удаляется последняя ссылка на него. Ессно, что архивации и сжатия никакого не используется, что в случае ЧП дает нам очень оперативный доступ ко всем данным.


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

Вызовем консоль пользователя backuper


sudo -u backuper -sH


И начнем настраивать наш cron


crontab -e


При первом запуске, система спросит, какой редактор использовать. Лично я предпочитаю nano.


В конфигурационном файле пропишем следущее:


SHELL=/bin/bash

MAILTO=backuper

HOME=/home/backuper

0 23 * * * /home/backuper/sync.sh


Последнюю строку в конфигурации необходимо оставить пустой.


Вот и все. Ежедневно в 23:00 будет запускаться наш скрипт, сравнивать сетевой ресурс с локальной папкой, копировать при необходимости измененные и добавленные файлы и удалять архивные копии старше 30 дней. При этом, никаких сетевых ресурсов на нашем сервере извне не видно, никакие трояны и шаловливые руки не имеют доступа к архивным данным. А восстановление производится на сервере, путем копирования необходимых данных из нужной локальной папки в подключенную сетевую шару.

Мини сервер для бекапов часть 2 (настройка) Linux, IT, Резервное копирование, Сервер, Ubuntu, Длиннопост

Вот пример того, что хранится в моей папке с бекапами. Одна копия весит примерно 100 ГБ, все вместе занимает чуть более 120. И это без какого-либо сжатия.

Показать полностью 1
[моё] Linux IT Резервное копирование Сервер Ubuntu Длиннопост
47
35
BrainFury
BrainFury
9 лет назад

Мини сервер для бекапов часть 1 (подготовительная)⁠⁠

Добрый день, пикабу!

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

Сервер для хранения резервных копий можно поднять даже на очень старых машинах.

В данном примере я буду использовать ОС Ubuntu Server 15.04 


Итак, приступим.

Дано: небольшая организация с парком в 20 рабочих станций и файловым сервером под управлением Win2k3 Server.

Необходимо: Реализовать механизм резервного копирования данных с минимальными затратами.

Затраты: "какойнибудь комп" (я откопал системник на базе Athlon64 3200+ c 512MB оперативы) и новый жесткий диск (желательно конечно пару для массива). Ессно емкость жесткого диска должна быть больше емкости хранилища на файловом сервере.


В первую очередь, необходимо установить на машинку нашу новую операционку. Гайдов в сети полно, установка несложная, единственные вопросы могут возникнуть с разбивкой дисков, но об этом, а так же об особенностях файловых систем я расскажу в следующих постах. Важно понимать, что систему желательно устанавливать на отдельный диск. Можно небольшой емкости. Даже 80 ГБ для полноценной работы хватит вполне, и еще останется. Что касается диска или массива для хранения данных, его емкость должна быть больше, чем на файловом сервере. Раздел необходимо создавать с файловой системой ext3, ext4 или XFS.


У нас установлена чистая новая ось. Новый жесткий диск (или пара в массиве) установлены и размечены как отдельный раздел. Лично у меня он примонтирован как /back


Далее, необходимо проверить наличие, а в случае отсутствия установить следующие пакеты: openssh-server cifs-utils rsync cron

Делается это следующей командой:


sudo apt-get install openssh-server cifs-utils rsync cron


Затем создадим в системе пользователя, от имени которого процесс бекапа и будет запускаться:


sudo useradd  -rm backuper


и зададим ему пароль:


sudo passwd backuper


Следующим шагом будет подключение сетевой папки на файловом сервере в нашу файловую систему. Если в организации поднят домен, то необходимо будет создать отдельного пользователя для доступа к сетевому ресурсу.

Сначала создадим папку, в которую мы ресурс будем подключать. У меня она находится по адресу /mnt/nw делается это командой:


sudo mkdir /mnt/nw


Затем сменим владельца созданной папки и зададим права:


sudo chown backuper:backuper /mnt/nw

sudo chmod 775 /mnt/nw


Чтобы подключиться к сетевому диску, отредактируем файлик /etc/fstab

В его конце надо будет добавить одну строку следующего вида:


//server/share/ /mnt/nw cifs userid=id,passwd=pass,iocharset=utf8,dir_mode=0777,sec=ntlm,file_mode=0775 0 0


где в параметры userid и passwd ставим логин и пароль пользователя, имеющего доступ к ресурсу. А вместо //server/share имя сервера и название шары.


Чтобы немедленно подключить сетевой ресурс, набираем


sudo mount -a


Все, подготовительная часть завершена, далее необходимо настроить rsync и планировщик cron. Этим мы займемся во 2й части.

Показать полностью
[моё] Linux Ubuntu Сервер IT Резервное копирование Длиннопост Текст
17
Swell38
Swell38
9 лет назад

Единственный друг рассказывает о своем достижение⁠⁠

тот случай когда случай не такой а говоришь что тот
Единственный друг рассказывает о своем достижение тот случай когда случай не такой а говоришь что тот
[моё] Друзья Сервер Резервное копирование Linux
6
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии