Что такое RAID? Какие основные типы RAID существуют?
В работе с дисками есть две проблемы:
Низкая скорость чтения\записи
Выход дисков из строя и потеря данных
И это всё решается с помощью технологии RAID — избыточного массива независимых дисков.
Существуют следующие уровни спецификации RAID: 1, 2, 3, 4, 5, 6, 0. Кроме того, существуют комбинации: 01, 10, 50, 05, 60, 06. Существуют аппаратные и программные RAID-массивы.
Программные массивы создаются уже после установки ОС средствами программных продуктов и утилит, что и является главным недостатком таких дисковых массивов.
Аппаратные RAID’ы создают дисковый массив до установки ОС и от неё не зависят.
RAID 0 — чередование
RAID 1 — зеркалирование
RAID 5 — чередование с четностью
RAID 6 — чередование с двойной четностью
RAID 10 — совмещение зеркалирования и чередования
📲 Мы в MAX
👉 @sysadminof
В работе с дисками есть две проблемы:
Низкая скорость чтения\записи
Выход дисков из строя и потеря данных
И это всё решается с помощью технологии RAID — избыточного массива независимых дисков.
Существуют следующие уровни спецификации RAID: 1, 2, 3, 4, 5, 6, 0. Кроме того, существуют комбинации: 01, 10, 50, 05, 60, 06. Существуют аппаратные и программные RAID-массивы.
Программные массивы создаются уже после установки ОС средствами программных продуктов и утилит, что и является главным недостатком таких дисковых массивов.
Аппаратные RAID’ы создают дисковый массив до установки ОС и от неё не зависят.
RAID 0 — чередование
RAID 1 — зеркалирование
RAID 5 — чередование с четностью
RAID 6 — чередование с двойной четностью
RAID 10 — совмещение зеркалирования и чередования
👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👎11😁9🤣7🖕2❤1🔥1
Шпаргалка по Tmux: установка, настройка, работа
Tmux (ти-макс) — это менеджер терминалов, который позволяет работать с несколькими сессиями в одном окне. То есть вместо нескольких открытых окон терминала — вы используете одно, которое можно делить на несколько окон.
Установка и настройка Tmux
Устанавливается Tmux из стандартных репозиториев Linux:
После установки рекомендуем сразу отредактировать конфигурационный файл ти-макса (/etc/tmux.conf) и внести следующие изменения:
Эта строчка кода позволит свободно перемещать границы разделения окон с помощью курсора мышки.
Работа с Tmux
Для работы с ти-миксом используется широкий набор горячих клавиш, состоящих из базового сочетания Ctrl + b и отдельных целевых клавиш (n,p,w,b и т.д.).
Работа с сессиями в Tmux
Для создания рабочей сессии без идентификатора — достаточно ввести tmux в терминале. Будет создана сессия 0:
Идентификатор сессии отображается внизу слева в квадратных скобках. Для создания именной сессии достаточно ввести следующую команду:
Поскольку ти-макс завершает соединение с сохранением состояния сессии, правильным способом возобновить работу ти-макса будет его запуск командой:
Команда запускает проверку уже созданных сессий и если активных подключений нет — создается новое подключение.
Просмотреть список созданных сессий можно командой:
Команда вернёт список следующего вида:
0: 1 windows (created Mon Aug 30 13:02:31 2021) (attached)
Если в списке одна сессия, то командой tmux attach она будет автоматически восстановлена, а если в списке несколько сессий — необходимо ввести следующую команду:
В нашем случае сессия называется 0.
Сменить сессию можно также, находясь в другой сессии. Для этого нужно воспользоваться сочетанием клавиш Ctrl + b, s.
Выйти из сессии можно с помощью сочетания клавиш Ctrl + b, d. А завершить сессию командой:
Закрыть все сессии можно командой:
📲 Мы в MAX
👉 @sysadminof
Tmux (ти-макс) — это менеджер терминалов, который позволяет работать с несколькими сессиями в одном окне. То есть вместо нескольких открытых окон терминала — вы используете одно, которое можно делить на несколько окон.
Установка и настройка Tmux
Устанавливается Tmux из стандартных репозиториев Linux:
apt-get install tmuxПосле установки рекомендуем сразу отредактировать конфигурационный файл ти-макса (/etc/tmux.conf) и внести следующие изменения:
set -g mouse onЭта строчка кода позволит свободно перемещать границы разделения окон с помощью курсора мышки.
Работа с Tmux
Для работы с ти-миксом используется широкий набор горячих клавиш, состоящих из базового сочетания Ctrl + b и отдельных целевых клавиш (n,p,w,b и т.д.).
Работа с сессиями в Tmux
Для создания рабочей сессии без идентификатора — достаточно ввести tmux в терминале. Будет создана сессия 0:
Идентификатор сессии отображается внизу слева в квадратных скобках. Для создания именной сессии достаточно ввести следующую команду:
tmux new -s название сессииПоскольку ти-макс завершает соединение с сохранением состояния сессии, правильным способом возобновить работу ти-макса будет его запуск командой:
tmux attach || tmux newКоманда запускает проверку уже созданных сессий и если активных подключений нет — создается новое подключение.
Просмотреть список созданных сессий можно командой:
tmux lsКоманда вернёт список следующего вида:
0: 1 windows (created Mon Aug 30 13:02:31 2021) (attached)
Если в списке одна сессия, то командой tmux attach она будет автоматически восстановлена, а если в списке несколько сессий — необходимо ввести следующую команду:
tmux attach -t наименование сессииВ нашем случае сессия называется 0.
Сменить сессию можно также, находясь в другой сессии. Для этого нужно воспользоваться сочетанием клавиш Ctrl + b, s.
Выйти из сессии можно с помощью сочетания клавиш Ctrl + b, d. А завершить сессию командой:
tmux kill-session -t название сессииЗакрыть все сессии можно командой:
tmux kill-server👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2❤1
Команды Linux
ulimit — команда для вывода информации о лимитах ресурсов текущего пользователя
umount — команда для отключения файловой системы заданного устройства
uname — команда для вывода информации о версии ядра операционной системы
uniq — команда для удаления повторяющихся строк из текстового файла
unlink — команда для удаления ссылки на элемент файловой системы
unzip — команда для распаковки архива формата ZIP
uptime — команда для вывода информации о времени, в течение которого ваш компьютер функционирует
useradd — команда для создания новой учетной записи пользователя
userdel — команда для удаления учетной записи пользователя
usermod — команда для изменения параметров учетной записи
пользователя
📲 Мы в MAX
👉 @sysadminof
ulimit — команда для вывода информации о лимитах ресурсов текущего пользователя
umount — команда для отключения файловой системы заданного устройства
uname — команда для вывода информации о версии ядра операционной системы
uniq — команда для удаления повторяющихся строк из текстового файла
unlink — команда для удаления ссылки на элемент файловой системы
unzip — команда для распаковки архива формата ZIP
uptime — команда для вывода информации о времени, в течение которого ваш компьютер функционирует
useradd — команда для создания новой учетной записи пользователя
userdel — команда для удаления учетной записи пользователя
usermod — команда для изменения параметров учетной записи
пользователя
👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤5
🔥 iovisor/bcc - Суперсила для отладки и мониторинга Linux
Если вы когда-нибудь слышали про eBPF, но боялись подступиться к написанию байт-кода вручную, то BCC (BPF Compiler Collection) - это то, с чего стоит начать.
Это набор инструментов для создания эффективных программ трассировки ядра и манипуляции ими. BCC делает использование eBPF доступным, позволяя писать front-end на Python или Lua, а back-end (то, что крутится в ядре) - на C.
Почему это круто?
✅ Готовые инструменты: В папке
✅ Безопасность: В отличие от старых модулей ядра, eBPF-программы проверяются верификатором перед запуском. Они не повесят ваш продакшн.
✅ Низкий оверхед: Трассировка происходит на уровне ядра, данные агрегируются там же, а в user-space передаются только итоги.
🛠 Топ утилит из коробки:
-
-
-
-
Если вы хотите видеть, что на самом деле происходит внутри вашей Linux-системы, этот репозиторий - must have.
🔗 GitHub: https://github.com/iovisor/bcc
📲 Мы в MAX
👉 @sysadminof
Если вы когда-нибудь слышали про eBPF, но боялись подступиться к написанию байт-кода вручную, то BCC (BPF Compiler Collection) - это то, с чего стоит начать.
Это набор инструментов для создания эффективных программ трассировки ядра и манипуляции ими. BCC делает использование eBPF доступным, позволяя писать front-end на Python или Lua, а back-end (то, что крутится в ядре) - на C.
Почему это круто?
✅ Готовые инструменты: В папке
/tools уже лежит клад. Хотите узнать, какие процессы сильно грузят диск? biolatency. Кто открывает файлы? opensnoop. Кто и какие команды выполняет в bash? execsnoop.✅ Безопасность: В отличие от старых модулей ядра, eBPF-программы проверяются верификатором перед запуском. Они не повесят ваш продакшн.
✅ Низкий оверхед: Трассировка происходит на уровне ядра, данные агрегируются там же, а в user-space передаются только итоги.
🛠 Топ утилит из коробки:
-
execsnoop: отслеживание новых процессов в реальном времени.-
biolatency: гистограмма задержек дискового ввода/вывода.-
tcptop: топ TCP-сессий по трафику.-
profile: профилирование CPU с минимальной нагрузкой.Если вы хотите видеть, что на самом деле происходит внутри вашей Linux-системы, этот репозиторий - must have.
🔗 GitHub: https://github.com/iovisor/bcc
👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3
Шпаргалка по ZFS
Информация о пулах / файловых системах (ФС) на пулах
Управление пулами / дисками
Создание и свойства ФС
zfs create zfspool/backups создать ФС backups, обе ФС будут бесконтрольно расти, пока не выставлены квоты
Монтирование
Снапшоты
📲 Мы в MAX
👉 @sysadminof
modinfo zfs | head -n 9 — узнать версию ZFS и другие подробностиИнформация о пулах / файловых системах (ФС) на пулах
zpool list — статус пуловzpool status -v — статус пулов подробныйzfs list — список ФС, так называются монтируемые разделы в пулахzfs get all — вся информация по пуламУправление пулами / дисками
ls -lha /dev/disk/by-id/ — выяснить id дисков чтобы потом на них создать пул (не юзайте имя диска типа sda — они динамически меняются)zpool create zfspool disk-id-1 disk-id-2 — может быть сколько угодно дисковzpool create -m /mnt/backups zfspool disk-id-1 — создать пул с указанием папки zpool destroy zfspool — уничтожить пулmkfile 100m disk1 disk2 — создать файлы дисковzpool create backups /disk1 /disk2- создать пул backups на созданных файлахzpool create zfspool mirror /disk1 /disk2 — создать пул zfspool с зеркалированием на 2 дискаzpool add zfspool /disk3 — добавить диск в пулzpool attach zfspool /disk3 — добавить устройство в пул, если он в зеркале — добавится в зеркало, если простой — пул расширитсяzpool detach zfspool /disk3 — исключить устройство из пулаzpool remove zfspool /disk3 — удаление устройства из пулаzpool add zfspool spare /disk3 — добавление диска горячей замены в пулzpool remove zfspool spare /disk3 — удаление диска горячей замены из пулаzpool offline zfspool /disk1 — отключить устройство, на него не будет чтения/записи, если добавить ключ -t, то после ребута станет онлайнzpool online zfspool /disk1 — включить disk1zpool replace zfspool /disk1 /disk3 — заменить disk 1, на disk3zpool upgrade -v — увидеть версию, и фичи текущего ZFS, -a обновит все пулы до новейшей версииСоздание и свойства ФС
zfs create zfspool/data — создать ФС datazfs create zfspool/backups создать ФС backups, обе ФС будут бесконтрольно расти, пока не выставлены квоты
zfs destroy -fr zfspool/backups/old — уничтожит ФС old, ключ -r — рекурсивно, если внутри ещё несколько ФС, -f — форситьzfs set reservation=1G zfspool/data — зарезервировать 1 Гигабайт, который ФС гарантированно получит, а другие не займутzfs list -o quota zfspool/backups — выяснить квоту в пуле на ФС backupszfs set quota=1G zfspool/backups — установить квоту в 1 Гигабайт на ФС backupszfs list -o compression — проверить включена компрессия или нетzfs set compression=on zfspool/backups — включить компрессию на ФС backups в пуле zfspool
zfs set sharesmb=on zfspool/backups — расшарить по SMB ФС backups средствами ZFSzfs set sharenfs=on zfspool/backups — расшарить по NFS ФС backups средствами ZFSМонтирование
zfs mount — показать все примонтированные ФСzfs mount zfspool/backups — примонтировать backupszfs umount zfspool/backups — размонтировать ФС backupszfs mount -a — смонтировать все ФСzfs umount -a Umount — размонтировать все ФССнапшоты
zfs list -t snapshot — отобразить все снапшотыzfs list -o space — сколько занимают места снапшотыzfs snapshot zfspool/backups@test — создать снапшот ФС backups с названием testzfs rollback zfspool/backups@test — вернуться к снапшоту backups с названием test, с ключом -r рекурсивно уничтожит промежуточные снапшоты, с ключом -f форсит анмаунт и ремаунтzfs destroy zfspool/backups@test — уничтожить снапшот backups с названием testzfs send zfspool/backups@march2021 > /home/backups/march2021.bak — сделать локальный бекап снапшота march2021zfs receive zfspool2/backups2 < /home/backups/march2021.bak — восстановить из локального снапшота ФС на другом пулеzfs send zfspool/backups@march2021 | ssh COMP02 «zfs receive testpool/testfs» — отправить снапшот по SSH на хост COMP02zfs clone zfspool/backups@march2021 /clones/backups — клонировать существующий снапшотzfs destroy zfspool/backups@march2021 — уничтожить клон👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍4
Cisco. Базовая настройка
Заливаем последнюю прошивку(для SSH необходим минимум Advanced Security), избавляемся от преднастроенного мусора и перегружаемся
Включаем шифрование паролей
Используем новую модель ААА и локальную базу пользователей
Заводим пользователя с максимальными правами
Назначаем имя роутеру
Генерируем ключ для SSH
Настраиваем SSH
Разрешаем telnet и ssh на удаленной консоли и делаем доступ сразу в привилегированный режим 15го уровня line vty 0 4
Отключаем доступ по http и https
Настройка временной зоны и ntp
Настраиваем DNS
Блокируем доступ при определённом количестве неправильных попыток
Отключаем ошибку резолва при неправильном наборе чего-либо в консоли
Задаём timeout неактивности telnet сессии
📲 Мы в MAX
👉 @sysadminof
Заливаем последнюю прошивку(для SSH необходим минимум Advanced Security), избавляемся от преднастроенного мусора и перегружаемся
erase startup-configВключаем шифрование паролей
service password-encryptionИспользуем новую модель ААА и локальную базу пользователей
aaa new-model
aaa authentication login default localЗаводим пользователя с максимальными правами
username user privilege 15 secret passwordНазначаем имя роутеру
hostname R1
ip domain-name R1.domainГенерируем ключ для SSH
crypto key generate rsaНастраиваем SSH
ip ssh authentication-retries 5
ip ssh version 2
ip ssh time-out 60Разрешаем telnet и ssh на удаленной консоли и делаем доступ сразу в привилегированный режим 15го уровня line vty 0 4
transport input telnet ssh
privilege level 15Отключаем доступ по http и https
no ip http server
no ip http secure-serverНастройка временной зоны и ntp
clock timezone MSK 3
ntp server 146.0.32.144Настраиваем DNS
ip domain name domain
ip name-server 8.8.8.8Блокируем доступ при определённом количестве неправильных попыток
login block-for 600 attempts 5 within 30Отключаем ошибку резолва при неправильном наборе чего-либо в консоли
no ip domain-lookupЗадаём timeout неактивности telnet сессии
exec-timeout 15 0👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤2🔥2
Утилиты на PowerShell для системных администраторов
Работая на первой линии тех.поддержки, я часто сталкивался с рутиной, особенно очень хотелось минимизировать подключение к рабочему столу пользователей для сбора информации и как-то автоматизировать этот процесс, что привело меня к осваиванию языка PowerShell и написанию скриптов, которые в последствии оформились в самостоятельные программы. Некоторые из них я решил выложить на GitHub, возможно для кого-то они будут полезны.
https://habr.com/ru/articles/799463/
https://github.com/Sync1er/ChernigovEugeniyUtilities
📲 Мы в MAX
👉 @sysadminof
Работая на первой линии тех.поддержки, я часто сталкивался с рутиной, особенно очень хотелось минимизировать подключение к рабочему столу пользователей для сбора информации и как-то автоматизировать этот процесс, что привело меня к осваиванию языка PowerShell и написанию скриптов, которые в последствии оформились в самостоятельные программы. Некоторые из них я решил выложить на GitHub, возможно для кого-то они будут полезны.
https://habr.com/ru/articles/799463/
https://github.com/Sync1er/ChernigovEugeniyUtilities
👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3
Как скопировать структуру директорий в Linux
В этой статье мы расскажем как в две команды скопировать структуру директорий без файлов через командрую строку Linux.
Сначала необходимо перейти в директорию, где находятся нужная структура
Затем выполняем команду, которая находит директории и сохраняет пути к ни в файл
Теперь необходимо перенести этот файл в директорию, где мы хотим воссоздать структуру
Переходим туда
И используя xargs читаем из файла пути и создаем по ним структуру директорий
📲 Мы в MAX
👉 @sysadminof
В этой статье мы расскажем как в две команды скопировать структуру директорий без файлов через командрую строку Linux.
Сначала необходимо перейти в директорию, где находятся нужная структура
# cd /dir1Затем выполняем команду, которая находит директории и сохраняет пути к ни в файл
# find . -type d > dirs.txtТеперь необходимо перенести этот файл в директорию, где мы хотим воссоздать структуру
# mv ./dirs.txt /dir2Переходим туда
# cd /dir2И используя xargs читаем из файла пути и создаем по ним структуру директорий
# xargs mkdir -p < dirs.txt👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤4🔥4
Индикация раскладки клавиатуры подсветкой — решение для GNOME
Несмотря на весь технический прогресс IT, мне за всё время так и не удалось повстречать убедительное решение проблемы ввода «ghbdtn» вместо «привет» или «lf» вместо «да» — путаницы с раскладкой клавиатуры при наборе текста.
Предлагаю свой вариант — менять в зависимости от раскладки цвет всей подсветки клавиатуры. С таким подходом куда бы вы ни смотрели перед компьютером, подсветка будет хорошо заметна периферийным зрением, и вы всегда будете знать какая раскладка выбрана.
Я опишу реализацию решения для среды рабочего стола GNOME, проверенное на дистрибутивах Fedora 43 и Ubuntu 24.04.
https://habr.com/ru/articles/979382/
📲 Мы в MAX
👉 @sysadminof
Несмотря на весь технический прогресс IT, мне за всё время так и не удалось повстречать убедительное решение проблемы ввода «ghbdtn» вместо «привет» или «lf» вместо «да» — путаницы с раскладкой клавиатуры при наборе текста.
Предлагаю свой вариант — менять в зависимости от раскладки цвет всей подсветки клавиатуры. С таким подходом куда бы вы ни смотрели перед компьютером, подсветка будет хорошо заметна периферийным зрением, и вы всегда будете знать какая раскладка выбрана.
Я опишу реализацию решения для среды рабочего стола GNOME, проверенное на дистрибутивах Fedora 43 и Ubuntu 24.04.
https://habr.com/ru/articles/979382/
👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥6❤1😁1
Карта ядра ОС Linux (Linux kernel map)
https://makelinux.github.io/kernel/map/
📲 Мы в MAX
👉 @sysadminof
https://makelinux.github.io/kernel/map/
👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3
Media is too big
VIEW IN TELEGRAM
Подключение удаленных USB устройств. USBIP
В этом видео мы расскажем о том, как получить общий доступ к usb-устройствам через ip-сеть для совместного использования. Расскажем, какие устройства можно подключить таким способом и продемонстрируем подключение в консольном и графическом варианте.
00:00 Вступление
01:14 Настройка на сервере
02:40 Настройка на клиенте
04:37 Графическая утилита
📲 Мы в MAX
👉 @sysadminof
В этом видео мы расскажем о том, как получить общий доступ к usb-устройствам через ip-сеть для совместного использования. Расскажем, какие устройства можно подключить таким способом и продемонстрируем подключение в консольном и графическом варианте.
00:00 Вступление
01:14 Настройка на сервере
02:40 Настройка на клиенте
04:37 Графическая утилита
👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2🔥2
Для ускорения вашей работы с командами
📲 Мы в MAX
👉 @sysadminof
!! — повторяет последнюю команду.!$ — позволяет изменить команду, сохраняя последний аргумент. Например, команда less !$ — используется для повторного открытия файла в меньшем объёме.!* —позволяет изменить команду, сохраняя при этом все аргументы. Например, head states.txt | grep '^Al' — при использовании должен быть хвост.tail !* — избавляет от необходимости вводить остальную часть команды.>x.txt — используется для создания пустого файла или очистки существующего.lsof -P -i -n — определяет, к каким скриптам идёт обращение со стороны веб-сервера.👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Скрипт для мониторинга дискового пространства в Linux
Скрипт ниже предназначен для мониторинга использования дискового пространства на указанном разделе сервера. Настраиваемые параметры включают в себя максимально допустимый процент использования дискового пространства (
Скрипт использует команду df для сбора информации об использовании диска и отправляет предупреждения по электронной почте, если текущее использование превышает заданный порог.
📲 Мы в MAX
👉 @sysadminof
Скрипт ниже предназначен для мониторинга использования дискового пространства на указанном разделе сервера. Настраиваемые параметры включают в себя максимально допустимый процент использования дискового пространства (
MAX), адрес электронной почты для получения оповещений (EMAIL) и целевой раздел (PARTITION).Скрипт использует команду df для сбора информации об использовании диска и отправляет предупреждения по электронной почте, если текущее использование превышает заданный порог.
#!/bin/bash
# Set the maximum allowed disk space usage percentage
MAX=90
# Set the email address to receive alerts
EMAIL=user@example.com
# Set the partition to monitor (change accordingly, e.g., /dev/sda1)
PARTITION=/dev/sda1
# Get the current disk usage percentage and related information
USAGE_INFO=$(df -h "$PARTITION" | awk 'NR==2 {print $5, $1, $2, $3, $4}' | tr '\n' ' ')
USAGE=$(echo "$USAGE_INFO" | awk '{print int($1)}') # Remove the percentage sign
if [ "$USAGE" -gt "$MAX" ]; then
# Send an email alert with detailed disk usage information
echo -e "Warning: Disk space usage on $PARTITION is $USAGE%.\n\nDisk Usage Information:\n$USAGE_INFO" | \
mail -s "Disk Space Alert on $HOSTNAME" "$EMAIL"
fi
📲 Мы в MAX
👉 @sysadminof
👍7❤4👎1
Media is too big
VIEW IN TELEGRAM
Деление IP сети на подсети при помощи маски легко и быстро. Наглядный способ!
Как выделить подсеть нужного размера из большой IP сети? Как быстро и наглядно вычислить все адреса компьютеров в нужной подсети, маску для подсети нужного размера, как найти первые и последние адреса формируемых подсетей? Как выделить несколько подсетей разного размера? В этом видео вы найдете ответы на эти вопросы.
источник
📲 Мы в MAX
👉 @sysadminof
Как выделить подсеть нужного размера из большой IP сети? Как быстро и наглядно вычислить все адреса компьютеров в нужной подсети, маску для подсети нужного размера, как найти первые и последние адреса формируемых подсетей? Как выделить несколько подсетей разного размера? В этом видео вы найдете ответы на эти вопросы.
источник
📲 Мы в MAX
👉 @sysadminof
👍13👎1🔥1
Cамые нужные команд SSH
Запускай команды быстро
Чтобы выполнить всего одну удаленную команду, совсем не обязательно подключаться к SSH, вводить команду, а затем отключаться. Можно сделать это сразу. Например, так можно посмотреть заполненность ФС удаленной машины:
А так — перезагрузить ее:
Составляй списки команд и запускай их разом
Если у тебя есть целый список команд, которые следует выполнить, их можно записать в файл и скормить этот файл SSH:
Редактируй удаленные файлы локальным редактором
Чтобы отредактировать файл на удаленной машине, не требуется заходить на нее и использовать консольный редактор. На самом деле файл можно открыть в твоем любимом текстовом редакторе на локальной машине (gvim заменяем на свой редактор):
Копируй содержимое удаленного файла в буфер обмена
Если необходимо скопировать содержимое удаленного файла или вывод команды в буфер обмена, не обязательно выводить его на экран или открывать в текстовом редакторе и копировать вручную. Можно использовать следующую команду:
А так можно скопировать вывод команды:
Сравнивай удаленный и локальный файл без копирования
Похожий прием можно использовать для сравнения двух файлов:
Работай с удаленными файлами с помощью локального файлового менеджера
Не всегда удобно работать с большим количеством файлов с помощью консольных команд или mc, запущенного на удаленной машине. Но всегда можно подключить любой каталог удаленной машины как сетевой диск. Для этого достаточно установить sshfs:
Создать каталог для подключения «сетевого диска»:
И подключить его:
Теперь все файлы удаленного каталога /home/user будут видны в каталоге ~/remote_files/ и с ними можно работать, как с обычными.
Копируй ключи быстро
Хоть и копирование публичного ключа на удаленный сервер — задача простая, но она требует выполнения нескольких действий вручную. Если тебя это напpягает, скопировать ключ можно в автоматическом режиме:
При этом не обязательно копировать основной ключ, с помощью флага -i можно указать любой другой:
Создай постоянное соединение с машиной
Если в течение дня ты часто подключаешься к одной машине, в том числе на несколько минут или секунд (чтобы просто запустить одну команду, например), есть смысл создать с ней постоянное соединение. Твой комп будет держать соединение открытым и использовать его для каждого подключения к машине. Это намного быстрее и экономичнее с точки зрения трафика и нагрузки на процессор.
Добавь следующие строки в ~/.ssh/config:
А затем создай соединение:
📲 Мы в MAX
👉 @sysadminof
Запускай команды быстро
Чтобы выполнить всего одну удаленную команду, совсем не обязательно подключаться к SSH, вводить команду, а затем отключаться. Можно сделать это сразу. Например, так можно посмотреть заполненность ФС удаленной машины:
$ ssh user@host df -hА так — перезагрузить ее:
$ ssh user@host sudo rebootСоставляй списки команд и запускай их разом
Если у тебя есть целый список команд, которые следует выполнить, их можно записать в файл и скормить этот файл SSH:
$ ssh user@host "`cat file.txt`"Редактируй удаленные файлы локальным редактором
Чтобы отредактировать файл на удаленной машине, не требуется заходить на нее и использовать консольный редактор. На самом деле файл можно открыть в твоем любимом текстовом редакторе на локальной машине (gvim заменяем на свой редактор):
$ gvim scp://user@host//путь/к/файлуКопируй содержимое удаленного файла в буфер обмена
Если необходимо скопировать содержимое удаленного файла или вывод команды в буфер обмена, не обязательно выводить его на экран или открывать в текстовом редакторе и копировать вручную. Можно использовать следующую команду:
$ ssh user@host cat /путь/к/файлу | xclipА так можно скопировать вывод команды:
$ ssh user@host uname -a | xclipСравнивай удаленный и локальный файл без копирования
Похожий прием можно использовать для сравнения двух файлов:
$ ssh user@host cat /путь/к/удаленному/файлу | diff /путь/к/лoкальному/файлу -Работай с удаленными файлами с помощью локального файлового менеджера
Не всегда удобно работать с большим количеством файлов с помощью консольных команд или mc, запущенного на удаленной машине. Но всегда можно подключить любой каталог удаленной машины как сетевой диск. Для этого достаточно установить sshfs:
$ sudo apt-get install sshfsСоздать каталог для подключения «сетевого диска»:
$ mkdir remote_filesИ подключить его:
$ sshfs user@host:/home/user ~/remote_files/Теперь все файлы удаленного каталога /home/user будут видны в каталоге ~/remote_files/ и с ними можно работать, как с обычными.
Копируй ключи быстро
Хоть и копирование публичного ключа на удаленный сервер — задача простая, но она требует выполнения нескольких действий вручную. Если тебя это напpягает, скопировать ключ можно в автоматическом режиме:
$ ssh-copy-id user@hostПри этом не обязательно копировать основной ключ, с помощью флага -i можно указать любой другой:
$ ssh-copy-id -i ~/my_key.pub user@hostСоздай постоянное соединение с машиной
Если в течение дня ты часто подключаешься к одной машине, в том числе на несколько минут или секунд (чтобы просто запустить одну команду, например), есть смысл создать с ней постоянное соединение. Твой комп будет держать соединение открытым и использовать его для каждого подключения к машине. Это намного быстрее и экономичнее с точки зрения трафика и нагрузки на процессор.
Добавь следующие строки в ~/.ssh/config:
Host host
ControlPath ~/.ssh/master-%r@%h:%p
ControlMaster noА затем создай соединение:
$ ssh -MNf user@host📲 Мы в MAX
👉 @sysadminof
100👍12
Media is too big
VIEW IN TELEGRAM
MobaXterm
Это программа, предназначенная для удаленного администрирования компьютеров и серверов, самый универсальный терминал под Windows. SSH-RDP-FTP-SFTP...
https://mobaxterm.mobatek.net/
📲 Мы в MAX
👉 @sysadminof
Это программа, предназначенная для удаленного администрирования компьютеров и серверов, самый универсальный терминал под Windows. SSH-RDP-FTP-SFTP...
https://mobaxterm.mobatek.net/
📲 Мы в MAX
👉 @sysadminof
1👍10🥱1💯1
This media is not supported in your browser
VIEW IN TELEGRAM
TUIFIManager
Кроссплатформенный терминальный termux-ориентированный файловый менеджер, предназначенный для использования с проектом Uni-Curses
Установка
Использование
Запустите tuifi в терминале, или импортируйте его в один из ваших проектов Uni-Curses как компонент, например:
from TUIFIManager import *
https://github.com/GiorgosXou/TUIFIManager
📲 Мы в MAX
👉 @sysadminof
Кроссплатформенный терминальный termux-ориентированный файловый менеджер, предназначенный для использования с проектом Uni-Curses
Установка
sudo pip3 install tuifimanager --upgrade
pip3 install TUIFIManager --upgradeИспользование
Запустите tuifi в терминале, или импортируйте его в один из ваших проектов Uni-Curses как компонент, например:
from TUIFIManager import *
https://github.com/GiorgosXou/TUIFIManager
📲 Мы в MAX
👉 @sysadminof
👍4
Bash
Что такое bash
Команды в bash
Перенаправление в bash
Управление задачами в bash
Понятие о сценариях оболочки bash
Ветвления, циклы, функции в сценариях bash
📲 Мы в MAX
👉 @sysadminof
Что такое bash
Команды в bash
Перенаправление в bash
Управление задачами в bash
Понятие о сценариях оболочки bash
Ветвления, циклы, функции в сценариях bash
📲 Мы в MAX
👉 @sysadminof
❤8👍2👎2🔥2