Админские угодья
1.47K subscribers
462 photos
40 videos
223 links
Всё для системного администратора

По всем вопросам : @Sofiia_artamonova
Download Telegram
MyDumper

Что такое MyDumper?
Инструмент для логического резервного копирования MySQL. Он состоит из 2 инструментов:
- mydumper, который отвечает за экспорт последовательной резервной копии баз данных MySQL
- myloader считывает резервную копию из mydumper, подключается к целевой базе данных и импортирует ее.

Оба инструмента используют возможности многопоточности.
MyDumper имеет открытый исходный код и поддерживается сообществом, он не является продуктом Percona, MariaDB или MySQL.

Зачем нам нужен MyDumper?
- Параллелизм (следовательно, скорость) и производительность (исключение дорогостоящих процедур преобразования набора символов, эффективный код в целом)
- Удобство управления выводом (отдельные файлы для таблиц, метаданных дампа и т. д., удобство просмотра/разборки данных)
- Согласованность - поддерживает моментальный снимок во всех потоках, обеспечивает точное положение master и slave журналов и т.д.
- Управляемость - поддерживает PCRE для указания включений и исключений баз данных и таблиц

Как установить

RedHat / Centos
release=$(curl -Ls -o /dev/null -w %{url_effective} https://github.com/mydumper/mydumper/releases/latest | cut -d'/' -f8)
yum install https://github.com/mydumper/mydumper/releases/download/${release}/mydumper-${release:1}.el7.x86_64.rpm
yum install https://github.com/mydumper/mydumper/releases/download/${release}/mydumper-${release:1}.el8.x86_64.rpm


Ubuntu / Debian
apt-get install libatomic1

release=$(curl -Ls -o /dev/null -w %{url_effective} https://github.com/mydumper/mydumper/releases/latest | cut -d'/' -f8)
wget https://github.com/mydumper/mydumper/releases/download/${release}/mydumper_${release:1}.$(lsb_release -cs)_amd64.deb
dpkg -i mydumper_${release:1}.$(lsb_release -cs)_amd64.deb


FreeBSD
pkg install mydumper

MacOS
brew install mydumper

https://github.com/mydumper/mydumper
👍3
Советы по настройке history команд в Bash

Каждая вводимая в терминале команда сохраняется в файле ~/.bash_history. Чтобы посмотреть историю команд – введите history.

Настройка истории команд в Bash осуществляется путем добавления переменных окружения в файл ~/.bashrc.

Чтобы изменения в ~/.bashrc вступили в силу, выполните:

source ~/.bashrc


1. Добавляем Отображение Даты и Времени в Bash History
Иногда очень полезно узнать время, когда какая-либо команда была выполнена.

Установите HISTTIMEFORMAT, чтобы сохранять время выполнения каждой команды.

Для этого добавьте следующую строку в файл ~/.bashrc:

export HISTTIMEFORMAT="%h %d %H:%M:%S "
Теперь, набрав history, Вы получите следующий вывод:

113 Jun 08 16:31:06 sudo ifconfig
114 Jun 08 16:31:10 top
115 Jun 08 16:31:19 ping disnetern.ru
116 Jun 08 16:31:22 history


2. Увеличиваем Размер Хранимой Истории
Увеличьте HISTSIZE — количество команд, которые необходимо запоминать в списке истории (стандартное значение — 500).

export HISTSIZE=5000
Увеличьте HISTFILESIZE — максимальное количество строк, содержащееся в файле истории (стандартное значение — 500).

export HISTFILESIZE=5000


3. Добавляем Команды Bash в Файл с Историей
Bash перезаписывает файл .bash_history?

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

shopt -s histappend


4. Мгновенно Сохранять Историю Команд
По умолчанию, Bash записывает историю команд в .bash_history, при завершении сессии.

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

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

Добавьте следующую строку в файл ~/.bashrc, если переменная $PROMPT_COMMAND не была задана ранее:

PROMPT_COMMAND='history -a'
Добавьте следующую строку, если переменная $PROMPT_COMMAND уже была задана:

PROMPT_COMMAND='$PROMPT_COMMAND; history -a'
Шпаргалка по редиректам командной строки Linux
Типы памяти и накопителей

- Основополагающий дуэт: RAM и ROM
- DDR4 и DDR5
- Микропрограмма и BIOS
- SRAM и DRAM
- HDD, SSD, USB-накопитель, SD-карта
👍42
Как убрать расширение у файла

Первый способ:

Используем утилиту basename, которая отрезает весь путь слева, а если указать дополнительный параметр, то дополнительно отрежет справа и суффикс. Например пишем file.txt и суффикс .txt

basename file.txt .txt

Получаем: file

Второй способ:

Преобразованиями в bash 
filename=file.txt; echo ${filename%.*}

Получаем: file

Или наоборот, отрезать имя файла и оставить только расширение:
filename=file.txt; echo ${filename##*.}

Получаем: txt
1
Как загрузить, установить Office 2024 LTSC с сайта Microsoft и активировать навсегда?

Десять лет назад я писал пару статей - Как загрузить последний Office с сайта Microsoft без всякого App-V / Хабр (habr.com) и Как загрузить Microsoft Office 16 с сайта Microsoft / Хабр (habr.com), при помощи на тот момент еще мало кому известного Office Deployment Tool.

Время бежит стремительно, за Office 2016 выходит Office 2019, Office 2021, и вот сейчас подошло время для Office 2024. Что ж, посмотрим, что поменялось в плане загрузки, установки и активации продукта за десять лет.

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

Microsoft давно перешел на систему распространения продуктов семейства Office по разным, так называемым, "каналам" (channels), в зависимости от того как часто вы хотите получать нововведения и обновления.

https://habr.com/ru/hubs/sys_admin/articles/
Чтобы разобраться с правами доступа к файлам в Linux, нам нужно понять, что такое Ownership и Permission.

Ownership

Каждому файлу или каталогу присваивается три типа прав собственности:

🔹Owner: Владелец - это пользователь, создавший файл или каталог.
🔹Group (группа): В группе может быть несколько пользователей. Все пользователи в группе имеют одинаковые разрешения на доступ к файлу или каталогу.
🔹Other: Другие - это пользователи, которые не являются владельцами или членами группы.

Permission

Существует только три типа разрешений для файла или каталога:

🔹Read (r): Разрешение на чтение позволяет пользователю читать файл.
🔹Write (w): Разрешение на запись позволяет пользователю изменять содержимое файла.
🔹Execute (x): Разрешение execute позволяет выполнять файл.
3
Media is too big
VIEW IN TELEGRAM
Принцип работы коммутатора Ethernet

Режим "обучения".
Режим "затопления".

Таблица коммутации (таблица МАС-адресов).
👍4❤‍🔥2
Ioping

Константин Хлебников разработал полезную утилиту ioping, позволяющую в стиле утилиты ping наблюдать за изменением отзывчивости системы ввода/вывода в Linux.

Установка в Debian 11
# apt install ioping

Поддерживаемые ОС
GNU/Linux, GNU/HURD, Windows, OS X, FreeBSD, DragonFlyBSD, OpenBSD

Пример выполнения:

$ ioping /home
4096 bytes from /home (ext4 /dev/sda5): request=1 time=0.4 ms
4096 bytes from /home (ext4 /dev/sda5): request=2 time=0.8 ms
4096 bytes from /home (ext4 /dev/sda5): request=3 time=0.9 ms
4096 bytes from /home (ext4 /dev/sda5): request=4 time=0.3 ms
4096 bytes from /home (ext4 /dev/sda5): request=5 time=0.2 ms
--- . ioping statistics ---
5 requests completed in 4266.5 ms
min/avg/max/mdev = 0.2/0.5/0.9/0.1 ms


https://github.com/koct9i/ioping
👍3
Команда nslookup, получение информации от DNS

Команда nslookup — инструмент сетевого администрирования для запросов в доменной системе имен (DNS) с целью получения доменного имени, IP-адреса или другой информации из записей DNS.

Кроме того, эта команда используется для поиска и устранения проблем с DNS. В данном руководстве мы рассмотрим наиболее типичные примеры ее применения.

Команда nslookup может работать в интерактивном и неинтерактивном режимах. Интерактивный режим позволяет пользователю в режиме диалога отправлять DNS-серверу запросы о различных узлах и доменах. Неинтерактивный режим позволяет отправить один запрос об одном узле или домене.

https://telegra.ph/Komanda-nslookup-poluchenie-informacii-ot-DNS-09-26
👍5
Media is too big
VIEW IN TELEGRAM
Как работает процесс загрузки Linux?
👍4
Что значит $@ в bash?

В Bash $@ используется для обозначения всех аргументов, переданных в скрипт или функцию. Если вы запускаете скрипт с несколькими аргументами, например:


./script.sh arg1 arg2 arg3


то $@ будет представлять собой список всех этих аргументов: arg1, arg2, arg3.

Есть два варианта использования $@:

1. Без кавычек: Если вы используете $@ без кавычек, он будет рассматриваться как отдельные аргументы. Например:

for arg in $@; do
echo $arg
done

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

arg1
arg2
arg3


2. С кавычками: Если вы используете "$@", то каждый аргумент будет сохранен как единый элемент (полностью, включая пробелы). Например:

for arg in "$@"; do
echo $arg
done

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

Использование "$@" более безопасно, так как позволяет избежать ошибок при обработке аргументов, содержащих пробелы.
👍3
Шпаргалка по grep

grep — это мощный инструмент для поиска текста в файлах на основе регулярных выражений.


Основные команды:

1. Поиск строки в файле:

grep "строка" имя_файла

Ищет указанную строку в файле.

2. Поиск в нескольких файлах:

grep "строка" файл1 файл2


3. Поиск рекурсивно:

grep -r "строка" /путь/к/каталогу

Ищет строку во всех файлах указанного каталога.

4. Игнорирование регистра:

grep -i "строка" имя_файла


5. Показать номер строки:

grep -n "строка" имя_файла


6. Вывод строк, не содержащих шаблон:

grep -v "строка" имя_файла


7. Подсветка совпадений:

grep --color "строка" имя_файла


8. Подсчитать количество совпадений:

grep -c "строка" имя_файла



Расширенные команды:

1. Использование регулярных выражений:

grep -E "регулярное_выражение" имя_файла

Или:

egrep "регулярное_выражение" имя_файла


2. Поиск с указанием количества строк до и после совпадения:

grep -A 3 -B 2 "строка" имя_файла

-A (after) и -B (before) указывают количество строк, которые будут выведены до и после найденной строки.

3. Поиск только имени файла:

grep -l "строка" *


4. Инвертированный поиск файлов:

grep -L "строка" *

Показывает файлы, в которых не найдено совпадений.



Полезные опции:

- -w — ищет полные слова.
- -o — выводит только совпавшие строки.
- -q — тихий режим, без вывода в терминал, используется для проверки совпадений.

Примеры:

1. Поиск строки "error" в логах:

grep "error" /var/log/syslog


2. Поиск строк с IP-адресами:

grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' имя_файла


3. Поиск строки и запись результата в файл:

grep "pattern" имя_файла > output.txt
👍4🔥2
Шпаргалка по командам Docker и Docker-compose
Программа проверки истечения срока действия SSL-сертификатов

ssl-cert-check - это скрипт оболочки Bourne, который можно использовать для оповещения об истечении срока действия SSL-сертификатов. Сценарий был разработан для запуска из cron и может рассылать уведомления по электронной почте или регистрировать предупреждения через nagios.

https://github.com/Matty9191/ssl-cert-check
👍21
Основы мониторинга (обзор Prometheus и Grafana)

Мониторинг сегодня – фактически обязательная «часть программы» для компании любых размеров. В данной статье мы попробуем разобраться в многообразии программного обеспечения для мониторинга и рассмотрим подробнее одно из популярных решений – систему на основе Prometheus и Grafana

https://habr.com/ru/post/709204/
2