Список полезных консольных команд VMWare ESXi (в том числе ESXCLI)
reboot — перезагрузить хостpoweroff — выключить хостesxcli system version get — узнать версию (номер) инсталлированной версии VMware ESXiuname -a — так же узнать версию VMware ESXivmware –vl – и еще один способ узнать версию и релиз VMware ESXiesxcli hardware pci list | more — полная информация об установленных PCI устройствахlspci — краткая информация обо всех установленных PCI устройствахesxtop — диспетчер процессов top для vmware esxi (быстрые клавиши для переключения дисплея: c :cpu, i :interrupt, m :memory, n :network, d :disk adapter, u :disk device, v :disk VM, p :power mgmt)vmkerrcode -l — расшифровка кодов ошибокesxcfg-nics -l — информация о сетевых картахesxcfg-vswitch -l — информация о виртуальных коммутаторахfind . -name libstorelib.so — найти файл libstorelib.sodcui — работа с консолью сервера через ssh сессиюchkconfig -l — статус работы демоновesxcli hardware memory get — размер установленной памятиesxcli software vib list — список установленных vib-пакетовesxcli network ip connection list — состояние активных соединений (аналог netstat)esxcli storage vmfs extent list — информация о примонтированных/подключенных томах VMFSesxcli hardware clock (get/set) — отображение/установка времени esxi-хостаcd - Смена текущей директории;cp - Копирование файла.cp [файл 1] [файл2];find - Поиск файлов по критериям;ls - Список файлов и директорий в текущей или явно указанной директории.ls /vmfs/volumes/ ключи: -l подробная информация -a отображение скрытых файлов;mkdir — Создание директории;mv — Перемещение файла. Переименование файла.mv [путь и имя файла] [путь, куда перемещать];ps — Информация о запущенных процессах. ps -ef;rm - Удаление файлов;shutdown — Выключение или перезагрузка сервера shutdown nowshutdown –r now;vi — Текстовый редактор;nano — Дружелюбный к новичкам текстовый редактор, отсутствует на ESXi;cat — Вывод содержимого файла на экран. cat /etc/hosts;more — Вывод содержимого файла на экран, по странице за раз. more /etc/hosts;man — Справка по командам man <команда, по которой есть вопрос>, для некоторых команд помощь выводится при запуске самой команды без параметров;useradd — Создание пользователя. useradd <имя пользователя>;passwd - Задание пароля пользователю passwd <имя пользователя>;esxcli storage nfs list — список подключеных nfs- хранлилищ на хостеesxcli software vib list — cписок установленных vib-пакетовesxcli hardware memory get — информация об использовании памяти на хосте ESXi, включая общий объемThis media is not supported in your browser
VIEW IN TELEGRAM
Relax-and-Recover
Решение для аварийного восстановления и миграции систем на новое железо под управлением Linux (ср. mksysb,
ignite)
Relax-and-Recover создает загрузочный образ. Этот образ может переразметить систему. После этого запускается восстановление из резервной копии. Возможно восстановление на другое оборудование. Поэтому Relax-and-Recover можно использовать и как инструмент миграции.
В настоящее время Relax-and-Recover поддерживает различные загрузочные носители (включая ISO, PXE, ленту OBDR, USB или eSATA), разнообразные сетевые протоколы (включая sftp, ftp, http, nfs, cifs), а также множество стратегий резервного копирования (включая IBM TSM, CommVault, Micro Focus Data Protector, Symantec NetBackup, Bareos, Bacula, rsync, Borg).
Решение Relax-and-Recover было разработано для простой настройки, не требует обслуживания и готово прийти на помощь в случае бедствия. Его характер "установил и забыл" устраняет любые оправдания для отсутствия решения по аварийному восстановлению.
http://relax-and-recover.org/
https://github.com/rear/rear
Решение для аварийного восстановления и миграции систем на новое железо под управлением Linux (ср. mksysb,
ignite)
Relax-and-Recover создает загрузочный образ. Этот образ может переразметить систему. После этого запускается восстановление из резервной копии. Возможно восстановление на другое оборудование. Поэтому Relax-and-Recover можно использовать и как инструмент миграции.
В настоящее время Relax-and-Recover поддерживает различные загрузочные носители (включая ISO, PXE, ленту OBDR, USB или eSATA), разнообразные сетевые протоколы (включая sftp, ftp, http, nfs, cifs), а также множество стратегий резервного копирования (включая IBM TSM, CommVault, Micro Focus Data Protector, Symantec NetBackup, Bareos, Bacula, rsync, Borg).
Решение Relax-and-Recover было разработано для простой настройки, не требует обслуживания и готово прийти на помощь в случае бедствия. Его характер "установил и забыл" устраняет любые оправдания для отсутствия решения по аварийному восстановлению.
http://relax-and-recover.org/
https://github.com/rear/rear
👍1
PowerShell: используем Invoke-Command для запуска команд/скриптов на удаленных компьютерах
В этой статье мы рассмотрим особенности использования командлета Invoke-Command для удаленного выполнения команд и скриптов. Возможно запускать команды удаленно на одном компьютере, или параллельно на множестве компьютерах в вашей сети. Командлет Invoke-Command использует возможности удаленного управления, заложенные в PowerShell Remoting. PowerShell Remoting позволяет удаленно подключаться к PowerShell сессиям на компьютерах через службу WinRM (Windows Remote Management) через протокол Web Services for Management (WS-Management). Этот сервис дает возможность принимать команды Powershell и устанавливать сеансы.
https://telegra.ph/PowerShell-ispolzuem-Invoke-Command-dlya-zapuska-komandskriptov-na-udalennyh-kompyuterah-09-26
В этой статье мы рассмотрим особенности использования командлета Invoke-Command для удаленного выполнения команд и скриптов. Возможно запускать команды удаленно на одном компьютере, или параллельно на множестве компьютерах в вашей сети. Командлет Invoke-Command использует возможности удаленного управления, заложенные в PowerShell Remoting. PowerShell Remoting позволяет удаленно подключаться к PowerShell сессиям на компьютерах через службу WinRM (Windows Remote Management) через протокол Web Services for Management (WS-Management). Этот сервис дает возможность принимать команды Powershell и устанавливать сеансы.
https://telegra.ph/PowerShell-ispolzuem-Invoke-Command-dlya-zapuska-komandskriptov-na-udalennyh-kompyuterah-09-26
💯1
Утилита ncdu: быстрое решение для очистки диска
При переполнении диска серверов, ncdu — отличная альтернатива
Простой запуск:
Установка:
ubuntu:
При переполнении диска серверов, ncdu — отличная альтернатива
du и find. Она быстро показывает, какие файлы занимают место, и позволяет удалять их прямо в интерфейсе.Простой запуск:
# cd /
# ncdu
Установка:
ubuntu:
apt install ncdu
osx: brew install ncdu
centos: yum install ncduMedia is too big
VIEW IN TELEGRAM
Mikrotik: Настройка основного и резервного провайдеров
Показываем как на роутере Mikrotik настроить подключение к двум провайдерам. Как настроить основной и резервный каналы подключения к интернет и управлять ими.
Показываем как на роутере Mikrotik настроить подключение к двум провайдерам. Как настроить основной и резервный каналы подключения к интернет и управлять ими.
🔥2
Как активировать debug режим в bash?
1. Использование опции
Запустите скрипт с опцией
Или добавьте
2. Использование опции
Опция
Также можно добавить
3. Использование режима отладки
Для максимально подробной отладки можно использовать обе опции сразу —
4. Использование
Команда
Это полезно для сложных сценариев, где нужно понять, какая именно команда вызывает ошибку.
5. Отладка с помощью
Переменная
1. Использование опции
-xЗапустите скрипт с опцией
-x, чтобы bash выводил каждую команду перед её выполнением.
bash -x noscript.sh
Или добавьте
set -x в самом скрипте, чтобы начать отладку с этого места:
#!/bin/bash
set -x
# команды скрипта
set +x # остановка отладки
2. Использование опции
-vОпция
-v заставляет bash выводить команды, которые он читает, но ещё не исполнил. Это полезно для отладки синтаксиса.
bash -v noscript.sh
Также можно добавить
set -v в скрипте для включения вывода на определённом участке:
#!/bin/bash
set -v
# команды скрипта
set +v # остановка вывода
3. Использование режима отладки
-xvДля максимально подробной отладки можно использовать обе опции сразу —
-x и -v:
bash -xv noscript.sh
4. Использование
trap для пошаговой отладкиКоманда
trap позволяет запускать отладочные действия на определённых сигналах или ошибках. Например, чтобы пошагово отслеживать выполнение команд, можно использовать:
trap 'echo "Команда: $BASH_COMMAND"' DEBUG
Это полезно для сложных сценариев, где нужно понять, какая именно команда вызывает ошибку.
5. Отладка с помощью
PS4Переменная
PS4 позволяет настроить префикс вывода отладки. Это полезно, если вы хотите видеть номер строки и другую информацию:
export PS4='+ $(basename $0):${LINENO}: '
bash -x noscript.sh
🏆2
Sudo без бинарного setuid или SSH через UNIX-сокет
В этом посте я подробно расскажу, как заменить
Я считаю, что программы с
Это связано с работой группы Confined Users SIG в Fedora.
https://tim.siosm.fr/blog/2023/12/19/ssh-over-unix-socket/
В этом посте я подробно расскажу, как заменить
sudo (программу с `setuid`), используя SSH через локальный UNIX-сокет.Я считаю, что программы с
setuid`/`setgid — это устаревшая часть наследия UNIX, которую следует исключить. В будущем посте я объясню причины безопасности, стоящие за этим утверждением.Это связано с работой группы Confined Users SIG в Fedora.
https://tim.siosm.fr/blog/2023/12/19/ssh-over-unix-socket/
Подборка полезных скриптов для Mikrotik
Сгенерировать резервную копию и отправить её по электронной почте
Этот скрипт создаёт файл резервной копии и отправляет его на указанный адрес электронной почты. В теме письма содержится имя маршрутизатора, текущая дата и время.
Обратите внимание, что сервер SMTP должен быть настроен перед использованием этого скрипта. Смотрите настройки в разделе /tool e-mail.
Файл резервной копии содержит конфиденциальную информацию, такую как пароли. Поэтому, чтобы получить доступ к созданным файлам резервной копии, у скрипта или планировщика должна быть политика "sensitive" (чувствительная).
Использование строки в качестве функции
Проверка пропускной способности и добавление ограничений
Этот скрипт проверяет, не превышает ли загрузка на интерфейсе 512 кбит/с, если это так, то добавляется очередь для ограничения скорости до 256 кбит/с.
Заблокировать доступ к определённым веб-сайтам
Этот скрипт полезен, если вы хотите заблокировать некоторые сайты, но не хотите использовать веб-прокси.
В этом примере проверяются записи "Rapidshare" и "youtube" в DNS-кэше, и IP-адреса добавляются в список адресов с именем "restricted". Прежде чем начать, необходимо настроить маршрутизатор для перехвата всех DNS-запросов.
и добавьте брандмауэр
Теперь мы можем написать сценарий и запланировать его выполнение, скажем, каждые 30 секунд.
Код сценария:
Сгенерировать резервную копию и отправить её по электронной почте
Этот скрипт создаёт файл резервной копии и отправляет его на указанный адрес электронной почты. В теме письма содержится имя маршрутизатора, текущая дата и время.
Обратите внимание, что сервер SMTP должен быть настроен перед использованием этого скрипта. Смотрите настройки в разделе /tool e-mail.
/system backup save name=email_backup
/tool e-mail send file=email_backup.backup to="me@test.com" body="See attached file" \
subject="$[/system identity get name] $[/system clock get time] $[/system clock get date] Backup")
Файл резервной копии содержит конфиденциальную информацию, такую как пароли. Поэтому, чтобы получить доступ к созданным файлам резервной копии, у скрипта или планировщика должна быть политика "sensitive" (чувствительная).
Использование строки в качестве функции
:global printA [:parse ":local A; :put \$A;" ];
$printA
Проверка пропускной способности и добавление ограничений
Этот скрипт проверяет, не превышает ли загрузка на интерфейсе 512 кбит/с, если это так, то добавляется очередь для ограничения скорости до 256 кбит/с.
:foreach i in=[/interface find] do={
/interface monitor-traffic $i once do={
:if ($"received-bits-per-second" > 0 ) do={
:local tmpIP [/ip address get [/ip address find interface=$i] address] ;
# :log warning $tmpIP ;
:for j from=( [:len $tmpIP] - 1) to=0 do={
:if ( [:pick $tmpIP $j] = "/") do={
/queue simple add name=$i max-limit=256000/256000 dst-address=[:pick $tmpIP 0 $j] ;
}
}
}
}
}
Заблокировать доступ к определённым веб-сайтам
Этот скрипт полезен, если вы хотите заблокировать некоторые сайты, но не хотите использовать веб-прокси.
В этом примере проверяются записи "Rapidshare" и "youtube" в DNS-кэше, и IP-адреса добавляются в список адресов с именем "restricted". Прежде чем начать, необходимо настроить маршрутизатор для перехвата всех DNS-запросов.
/ip firewall nat
add action=redirect chain=dstnat comment=DNS dst-port=53 protocol=tcp to-ports=53
add action=redirect chain=dstnat dst-port=53 protocol=udp to-ports=53
и добавьте брандмауэр
/ip firewall filter
add chain=forward dst-address-list=restricted action=drop
Теперь мы можем написать сценарий и запланировать его выполнение, скажем, каждые 30 секунд.
Код сценария:
:foreach i in=[/ip dns cache find] do={
:local bNew "true";
:local cacheName [/ip dns cache all get $i name] ;
# :put $cacheName;
:if (([:find $cacheName "rapidshare"] >= 0) || ([:find $cacheName "youtube"] >= 0)) do={
:local tmpAddress [/ip dns cache get $i address] ;
# :put $tmpAddress;
# if address list is empty do not check
:if ( [/ip firewall address-list find list="restricted" ] = "") do={
:log info ("added entry: $[/ip dns cache get $i name] IP $tmpAddress");
/ip firewall address-list add address=$tmpAddress list=restricted comment=$cacheName;
} else={
:foreach j in=[/ip firewall address-list find list="restricted"] do={
:if ( [/ip firewall address-list get $j address] = $tmpAddress ) do={
:set bNew "false";
}
}
:if ( $bNew = "true" ) do={
:log info ("added entry: $[/ip dns cache get $i name] IP $tmpAddress");
/ip firewall address-list add address=$tmpAddress list=restricted comment=$cacheName;
}
}
}
}
👍3
Выводим список установленных пакетов в Linux по дате
Порой необходимо узнать когда тот или иной пакет был установлен в операционной системе (например, в целях аудита). В данной статье рассмотрим как вывести список установленных пакетов в Linux, отсортированный по дате установки - давайте разберемся!
https://telegra.ph/Vyvodim-spisok-ustanovlennyh-paketov-v-Linux-po-date-09-10
Порой необходимо узнать когда тот или иной пакет был установлен в операционной системе (например, в целях аудита). В данной статье рассмотрим как вывести список установленных пакетов в Linux, отсортированный по дате установки - давайте разберемся!
https://telegra.ph/Vyvodim-spisok-ustanovlennyh-paketov-v-Linux-po-date-09-10
👍3❤2
Список полезных консольных команд VMWare ESXi (в том числе ESXCLI)
reboot — перезагрузить хостpoweroff — выключить хостesxcli system version get — узнать версию (номер) инсталлированной версии VMware ESXiuname -a — так же узнать версию VMware ESXivmware –vl – и еще один способ узнать версию и релиз VMware ESXiesxcli hardware pci list | more — полная информация об установленных PCI устройствахlspci — краткая информация обо всех установленных PCI устройствахesxtop — диспетчер процессов top для vmware esxi (быстрые клавиши для переключения дисплея: c :cpu, i :interrupt, m :memory, n :network, d :disk adapter, u :disk device, v :disk VM, p :power mgmt)vmkerrcode -l — расшифровка кодов ошибокesxcfg-nics -l — информация о сетевых картахesxcfg-vswitch -l — информация о виртуальных коммутаторахfind . -name libstorelib.so — найти файл libstorelib.sodcui — работа с консолью сервера через ssh сессиюchkconfig -l — статус работы демоновesxcli hardware memory get — размер установленной памятиesxcli software vib list — список установленных vib-пакетовesxcli network ip connection list — состояние активных соединений (аналог netstat)esxcli storage vmfs extent list — информация о примонтированных/подключенных томах VMFSesxcli hardware clock (get/set) — отображение/установка времени esxi-хостаcd - Смена текущей директории;cp - Копирование файла.cp [файл 1] [файл2];find - Поиск файлов по критериям;ls - Список файлов и директорий в текущей или явно указанной директории.ls /vmfs/volumes/ ключи: -l подробная информация -a отображение скрытых файлов;mkdir — Создание директории;mv — Перемещение файла. Переименование файла.mv [путь и имя файла] [путь, куда перемещать];ps — Информация о запущенных процессах. ps -ef;rm - Удаление файлов;shutdown — Выключение или перезагрузка сервера shutdown nowshutdown –r now;vi — Текстовый редактор;nano — Дружелюбный к новичкам текстовый редактор, отсутствует на ESXi;cat — Вывод содержимого файла на экран. cat /etc/hosts;more — Вывод содержимого файла на экран, по странице за раз. more /etc/hosts;man — Справка по командам man <команда, по которой есть вопрос>, для некоторых команд помощь выводится при запуске самой команды без параметров;useradd — Создание пользователя. useradd <имя пользователя>;passwd - Задание пароля пользователю passwd <имя пользователя>;esxcli storage nfs list — список подключеных nfs- хранлилищ на хостеesxcli software vib list — cписок установленных vib-пакетовesxcli hardware memory get — информация об использовании памяти на хосте ESXi, включая общий объем👍2
Lexicon - утилита для управление записями DNS на различных DNS-провайдерах.
Используя её, вы можете организовать централизованное управление записями на неймсерверах провайдеров, используя их API, без необходимости ручных правок в панелях.
Поддерживает большой список популярных сервисов Cloudflare, Cloudns, Yandexcloud и т.д.
https://github.com/AnalogJ/lexicon
Используя её, вы можете организовать централизованное управление записями на неймсерверах провайдеров, используя их API, без необходимости ручных правок в панелях.
Поддерживает большой список популярных сервисов Cloudflare, Cloudns, Yandexcloud и т.д.
https://github.com/AnalogJ/lexicon
❤3
Трюки терминала Bash
Полезные комбинации клавиш (хоткеи) и небольшие хитрости, которые сделают Вашу работу в Linux более эффективной.
Горячие клавиши" Bash с Ctrl
Изменить заглавные на строчные и наоборот
Запустить предыдущую команду ещё раз
Запустить команду из истории по номеру (например, 53)
Запускает последнюю команду и меняет какой-то параметр. Например, меняем
Важно: предыдущая команда заменит только первое вхождение "aaa". Если вы хотите заменить все вхождения, используйте
Запустить последнюю команду, которая начинается с...
Например, до этого в истории команд была команда cat filename:
— запускает
Указание файлов по шаблону в Bash
Полезные переменные окружения Bash
Короткие переменные:
Более длинные, но тоже полезные переменные:
Полезные комбинации клавиш (хоткеи) и небольшие хитрости, которые сделают Вашу работу в Linux более эффективной.
Горячие клавиши" Bash с Ctrl
Ctrl + n — то же самое, что и стрелка вниз.Ctrl + p — то же самое, что и стрелка вверх.Ctrl + r — поиск по предыдущим командам из истории команд (history). Продолжайте нажимать Ctrl + r, чтобы искать дальше. Ctrl + Shift + r — поиск в другую сторону.Ctrl + s — остановить вывод в терминал.Ctrl + q — восстановить вывод в терминал после Ctrl + s.Ctrl + a — перейти к началу строки (аналог клавиши Home).Ctrl + e — перейти к концу строки (аналог клавиши End).Ctrl + d — если вы ввели что-то, то Ctrl + d удаляет символ под курсором. В противном случае означает конец ввода и завершает текущую сессию Bash.Ctrl + k — удалить весь текст от курсора до конца строки.Ctrl + x + backspace — удалить весь текст от начала строки до курсора.Ctrl + t — переставить символ до курсора на символ под курсором. Нажмите Esc + t для перестановки двух слов до курсора.Ctrl + w — удалить слово до курсора; затем Ctrl + y, чтобы вставить его.Ctrl + u — удалить строку перед курсором; Ctrl + y для вставки его.Ctrl + _ — отменить ввод.Ctrl + l — очищает окно терминала. То же самое, что и clear.Ctrl + x + Ctrl + e — запускает редактор, определённый в переменной $EDITOR, для ввода команды. Полезно для многострочных команд.Изменить заглавные на строчные и наоборот
Esc + u — преобразовать буквы от курсора до конца строки в заглавные буквы.Esc + l — преобразовать буквы от курсора до конца строки в нижний регистр.Esc + c — заменить букву под курсором на заглавную.Запустить предыдущую команду ещё раз
Запустить команду из истории по номеру (например, 53)
!53!! — запуск последней команды.sudo !! — запустить предыдущую команду с sudo.Запускает последнюю команду и меняет какой-то параметр. Например, меняем
"aaa" на "bbb":
# Последняя команда: echo 'aaa'
$ ^aaa^bbb
$ echo 'bbb'
bbbВажно: предыдущая команда заменит только первое вхождение "aaa". Если вы хотите заменить все вхождения, используйте
:&:^aaa^bbb^:&
# или
!!:gs/aaa/bbb/Запустить последнюю команду, которая начинается с...
Например, до этого в истории команд была команда cat filename:
!cat
# или
!c— запускает
cat filename ещё раз.Указание файлов по шаблону в Bash
/etc/pa*wd → /etc/passwd — символ * означает "несколько любых символов"./b?n/?at → /bin/cat — символ ? означает "один любой символ".ls -l [a-z]* — вывести список файлов, содержащих только буквы латинского алфавита. В квадратных скобках [] перечисляются символы, которые будут искаться. А символ * после [] означает "хоть сколько раз".ls {*.sh,*.py} — вывести все .sh и .py файлы. {} используется для группировки нескольких шаблонов по принципу "или".Полезные переменные окружения Bash
Короткие переменные:
$0 — оболочка командной строки или путь до запускаемого файла.$1, $2, $3, ... — аргументы запуска скрипта.$# — число аргументов, переданных в скрипт из терминала.$? — код завершения последней команды.$- — текущие опции, установленные для оболочки.$$ — идентификатор текущего процесса.$! — идентификатор процесса, завершённого последним.Более длинные, но тоже полезные переменные:
$DESKTOP_SESSION — текущий менеджер дисплеев.$EDITOR — редактор текста по умолчанию.$LANG — используемый системой язык.$PATH — список директорий, в которых будут искаться исполняемые файлы.$PWD — текущая директория.$SHELL — текущая оболочка командной строки.$USER — имя текущего пользователя.$HOSTNAME — имя текущего хоста (компьютера).👍6
Nginxpwner - это простой инструмент для поиска распространенных неправильных конфигураций и уязвимостей Nginx.
Install:
Install using Docker
Run the image
https://github.com/stark0de/nginxpwner
Install:
cd /opt
git clone https://github.com/stark0de/nginxpwner
cd nginxpwner
chmod +x install.sh
./install.shInstall using Docker
git clone https://github.com/stark0de/nginxpwner
cd nginxpwner
sudo docker build -t nginxpwner:latest .Run the image
sudo docker run -it nginxpwner:latest /bin/bashhttps://github.com/stark0de/nginxpwner
👍3
MyDumper
Что такое MyDumper?
Инструмент для логического резервного копирования MySQL. Он состоит из 2 инструментов:
- mydumper, который отвечает за экспорт последовательной резервной копии баз данных MySQL
- myloader считывает резервную копию из mydumper, подключается к целевой базе данных и импортирует ее.
Оба инструмента используют возможности многопоточности.
MyDumper имеет открытый исходный код и поддерживается сообществом, он не является продуктом Percona, MariaDB или MySQL.
Зачем нам нужен MyDumper?
- Параллелизм (следовательно, скорость) и производительность (исключение дорогостоящих процедур преобразования набора символов, эффективный код в целом)
- Удобство управления выводом (отдельные файлы для таблиц, метаданных дампа и т. д., удобство просмотра/разборки данных)
- Согласованность - поддерживает моментальный снимок во всех потоках, обеспечивает точное положение master и slave журналов и т.д.
- Управляемость - поддерживает PCRE для указания включений и исключений баз данных и таблиц
Как установить
RedHat / Centos
Ubuntu / Debian
FreeBSD
MacOS
https://github.com/mydumper/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.rpmUbuntu / 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.debFreeBSD
pkg install mydumperMacOS
brew install mydumperhttps://github.com/mydumper/mydumper
👍3
Советы по настройке history команд в Bash
Каждая вводимая в терминале команда сохраняется в файле ~/.bash_history. Чтобы посмотреть историю команд – введите history.
Настройка истории команд в Bash осуществляется путем добавления переменных окружения в файл ~/.bashrc.
Чтобы изменения в ~/.bashrc вступили в силу, выполните:
1. Добавляем Отображение Даты и Времени в Bash History
Иногда очень полезно узнать время, когда какая-либо команда была выполнена.
Установите HISTTIMEFORMAT, чтобы сохранять время выполнения каждой команды.
Для этого добавьте следующую строку в файл ~/.bashrc:
export HISTTIMEFORMAT="%h %d %H:%M:%S "
Теперь, набрав history, Вы получите следующий вывод:
2. Увеличиваем Размер Хранимой Истории
Увеличьте HISTSIZE — количество команд, которые необходимо запоминать в списке истории (стандартное значение — 500).
Увеличьте HISTFILESIZE — максимальное количество строк, содержащееся в файле истории (стандартное значение — 500).
3. Добавляем Команды Bash в Файл с Историей
Bash перезаписывает файл .bash_history?
Чтобы добавлять новые команды в файл с историей, а не переписывать его каждый раз, добавьте следующую строку в ~/.bashrc:
4. Мгновенно Сохранять Историю Команд
По умолчанию, Bash записывает историю команд в .bash_history, при завершении сессии.
Если сессия внезапно оборвется Вы потеряете текущую историю команд.
Используйте переменную
Добавьте следующую строку в файл ~/.bashrc, если переменная $PROMPT_COMMAND не была задана ранее:
Добавьте следующую строку, если переменная
Каждая вводимая в терминале команда сохраняется в файле ~/.bash_history. Чтобы посмотреть историю команд – введите history.
Настройка истории команд в Bash осуществляется путем добавления переменных окружения в файл ~/.bashrc.
Чтобы изменения в ~/.bashrc вступили в силу, выполните:
source ~/.bashrc1. Добавляем Отображение Даты и Времени в 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 history2. Увеличиваем Размер Хранимой Истории
Увеличьте HISTSIZE — количество команд, которые необходимо запоминать в списке истории (стандартное значение — 500).
export HISTSIZE=5000Увеличьте HISTFILESIZE — максимальное количество строк, содержащееся в файле истории (стандартное значение — 500).
export HISTFILESIZE=50003. Добавляем Команды Bash в Файл с Историей
Bash перезаписывает файл .bash_history?
Чтобы добавлять новые команды в файл с историей, а не переписывать его каждый раз, добавьте следующую строку в ~/.bashrc:
shopt -s histappend4. Мгновенно Сохранять Историю Команд
По умолчанию, Bash записывает историю команд в .bash_history, при завершении сессии.
Если сессия внезапно оборвется Вы потеряете текущую историю команд.
Используйте переменную
$PROMPT_COMMAND, чтобы сохранять команды сразу после выполнения:Добавьте следующую строку в файл ~/.bashrc, если переменная $PROMPT_COMMAND не была задана ранее:
PROMPT_COMMAND='history -a'Добавьте следующую строку, если переменная
$PROMPT_COMMAND уже была задана:PROMPT_COMMAND='$PROMPT_COMMAND; history -a'Как убрать расширение у файла
Первый способ:
Используем утилиту basename, которая отрезает весь путь слева, а если указать дополнительный параметр, то дополнительно отрежет справа и суффикс. Например пишем file.txt и суффикс .txt
basename file.txt .txt
Получаем: file
Второй способ:
Преобразованиями в bash
Получаем: file
Или наоборот, отрезать имя файла и оставить только расширение:
Получаем: txt
Первый способ:
Используем утилиту 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/
Десять лет назад я писал пару статей - Как загрузить последний 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/