Системный администратор
Открыть в Telegram
Канал для системных администраторов. Linux, Windows, Active Directory, GPO, PowerShell. Виртуализация Hyper-V, VMWare. Облака Azure, AWS. По всем вопросам @evgenycarter
Больше2 062
Подписчики
Нет данных24 часа
-277 дней
-11230 день
Архив постов
Netdata - это высокоточный мониторинг инфраструктуры и производительности в режиме реального времени.
200+ предварительно созданных интеграций
Интеграция со все большим количеством операционных систем, коллекторов, платформ уведомлений и цепочек инструментов мониторинга/наблюдения.
Если метрика может быть собрана, она будет собрана: с 2 000+ автоопределяемых метрик и 100+ предварительно настроенных предупреждений на каждый узел.
https://github.com/netdata/netdata
👉 @i_linux
Запуск команд в фоновом режиме
Синтаксис
Задачу (например, команду или скрипт) можно перевести в фоновый режим, добавив символ «&» в конец командной строки. Этот оператор переводит команду в фоновый режим и освобождает место в терминале. Команда, выполняемая в фоновом режиме, называется заданием. Во время работы фоновой команды можно выполнять любые другие команды. Синтаксис выглядит следующим образом:
command & script-name & /path/to/command arg1 arg2 & command-1 | command-2 arg1 & command-1 | command-2 -arg1 -arg2 >/path/to/output &
Примеры
Чтобы перевести команду ls в фоновый режим, введите:
$ ls *.py > output.txt &
Чтобы перевести следующую команду поиска в фоновый режим, добавьте символ «&» в конец командной строки:
find . -iname "*.mp3" > myplaylist.txt &
Как найти задания, работающие в фоновом режиме?
Выполните следующую команду:
jobs
Пример вывода данных:
[1]- Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &
Где
[1] и [2] идентификаторы заданий.
Чтобы отобразить идентификаторы процессов для идентификаторов заданий помимо стандартных сведений, передайте параметр -l:
jobs –l
Пример вывода данных:
[1]- 7307 Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ 7324 Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &
Чтобы отобразить только идентификаторы процессов, введите:
jobs -p
Пример вывода данных:
7307
7324
Как прекратить выполнение заданий, работающих в фоновом режиме?
Для принудительного или постепенного завершения процесса следует использовать команду kill. Синтаксис выглядит следующим образом:
kill PID
kill -15 PID
kill -9 PID
killall process-Name-Here
killall -15 process-Name-Here
killall -9 process-Name-Here
Как переместить процесс из фонового режима в приоритетный?
Синтаксис:
%JOB-ID
ИЛИ
fg JOB-ID
Сначала следует вывести список текущих заданий с помощью команды jobs. Для этого введите:
jobs -l
Пример вывода данных:
[1]- 7307 Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ 7324 Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &
Чтобы перевести задание job id #2 в приоритетный режим, введите:
%2
ИЛИ используйте команду:
fg 2
Пример вывода данных:
grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt
Чтобы перевести это задание обратно в фоновый режим, нажмите клавишу Z, удерживая клавишу CTRL. При этом выполнение текущего приоритетного задания будет приостановлено. Введите следующую команду, чтобы перевести задание в фоновый режим:
%2 &
ИЛИ используйте команду:
bg
Теперь командное задание grep будет работать в фоновом режиме.
👉 @i_linuxСоветы по настройке 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'
👉 @i_linuxГорячие клавиши терминала Linux
Общие:
Ctrl+Alt+T - в дистрибутивах, основанных на Ubuntu это сочетание клавиш используется для открытия терминала.
Tab - эта клавиша используется для автодополнения в терминале. Вам достаточно набрать начало какой-нибудь команды, затем нажать её и команда предложит доступные варианты или завершит её если она одна.
Ctrl+L - очистить весь вывод терминала.
Ctrl+S - приостановить вывод терминала.
Ctrl+Q - возобновить вывод если он был приостановлен.
Ctrl+C - отправить команде сигнал SigInt для её завершения.
Ctrl+Z - свернуть текущую команду в фоновый режим.
История команд:
Стрелки вверх и вниз - используются для перемещения вперед и назад по истории команд.
Ctrl+r - можно использовать для поиска по истории команд.
Ctrl+p - предыдущая команда в истории команд.
Ctrl+n - следующая команда в истории команд.
Ctrl+g - если вы находитесь в режиме поиска, завершает поиск.
Ctrl+o - выполнить найденную поиском команду.
Alt+. - использовать последнее слово предыдущей команды.
Перемещение курсора:
Ctrl+a - перейти в начало строки.
Ctrl+e - перейти в конец строки.
Alt+b - перейти влево на одно слово.
Alt+f - перейти в право на одно слово.
Ctrl+b - перейти влево на один символ.
Ctrl+f - перейти вправо на один символ.
Ctrl+xx - перейти в конец или в начало строки.
Редактирование:
Ctrl+u - вырезать строку до позиции курсора.
Alt+Del - удалить слово перед курсором.
Alt+d - удалить слово после курсора.
Ctrl+d - удалить символ под курсором.
Ctrl+h - удалить символ под курсором.
Ctrl+w - вырезать слово под курсором.
Ctrl+k - вырезать строку от позиции курсора до конца строки
Alt+t - поменять текущее слово с предыдущим.
Ctrl+t - поменять местами два символа перед курсором.
Esc+t - поменять местами два слова перед курсором.
Ctrl+y - вставить то, что было вырезано.
Alt+u - сделать верхний регистр символов от позиции курсора до конца текущего слова.
Alt+l - сделать нижний регистр символов от позиции курсора до конца слова.
Alt+c - перевести символ под курсором в верхний регистр и перейти к концу слова.
Alt+r - вернуть строку в исходное состояние.
Ctrl+_ - отменить последнее действие со строкой.
👉 @i_linux🛠️ Автоматическое удаление старых файлов в Linux
#!/bin/bash
DIR="/var/log" # Директория, в которой очищаем файлы
DAYS=30 # Количество дней, после которых файлы считаются устаревшими
LOGFILE="/var/log/cleanup.log"
# Поиск и удаление файлов старше N дней
find "$DIR" -type f -mtime +"$DAYS" -exec rm -f {} \;
# Запись информации о выполнении в лог
echo "$(date '+%Y-%m-%d %H:%M:%S') - Удалены файлы старше $DAYS дней из $DIR" >> "$LOGFILE"
📌 Разбор скрипта:
- find "$DIR" -type f -mtime +"$DAYS" — ищет файлы (-type f), изменённые более $DAYS дней назад.
- -exec rm -f {} \; — удаляет найденные файлы.
- echo "$(date ...)" >> "$LOGFILE" — записывает в лог дату и время очистки.
🔥 Добавьте этот скрипт в cron, чтобы автоматизировать процесс:
0 3 * * * /path/to/cleanup.sh
Этот cron-запуск удалит старые файлы каждую ночь в 3:00.
👉 @i_linuxО UEFI
Вообще, представленный в статье материл не относятся исключительно к Ubuntu. В статье освящены и вопросы на прямую не зависящие от ОС.
Статья сфокусирована на объяснении понятий и принципов, а также важных и интересных возможностях UEFI. Более детально сам процесс установки и настройки загрузки Ubuntu в UEFI режиме описан в этой статье или в этой.
Практически все современные компьютеры оснащены системной прошивкой позволяющей загрузиться через UEFI. На более старых компьютерах за загрузку отвечал BIOS. В чем разница и как с этим всем жить - давайте разберемся.
https://help.ubuntu.ru/wiki/uefi
👉 @i_linux
Будни техпода. Подготовка сервера с Linux для работы по RDP
В этой статье мы поговорим о терминальном Linux, попробуем поднять на нём графическую оболочку, настроить RDP-соединение и установить базовое ПО, необходимое для комфортного взаимодействия с VDS. Не будем больше тянуть и передаём слово нашему специалисту поддержки.
https://habr.com/ru/company/ruvds/blog/707708/
👉 @i_linux
📌 Полезный совет: Как найти и удалить старые файлы в Linux?
🔍 Поиск старых файлов
Допустим, нам нужно найти файлы, которые не изменялись больше 30 дней:
find /path/to/directory -type f -mtime +30
- -type f — ищем только файлы
- -mtime +30 — файлы старше 30 дней
🗑 Удаление найденных файлов
Если уверены, что всё можно удалить, используем:
find /path/to/directory -type f -mtime +30 -delete
⚠️ Внимание: команда -delete удаляет файлы без подтверждения!
🛠 Альтернативный вариант с xargs
Можно удалить файлы по одному с подтверждением:
find /path/to/directory -type f -mtime +30 | xargs -d '\n' rm -i
Флаг -i запросит подтверждение перед удалением каждого файла.
❗ Совет: перед удалением всегда проверяйте файлы, используя ls:
find /path/to/directory -type f -mtime +30 -exec ls -lh {} +
👉 @i_linuxАдминистрирование Линукс (Linux)
Вводный урок
Урок 1 - Разворачиваем стенды с Linux
Урок 2 - Навигация в системе с использованием командной строки
Урок 3 - Потоки ввода-вывода данных
Урок 4 - Работа с файлами и каталогами (часть 1)
Урок 5 - Работа с файлами и каталогами (часть 2)
Урок 6 - Символические и жесткие ссылки в Linux
Урок 7 - Монтирование файловых систем
Урок 8 - Работа с пакетами средствами dpkg
Урок 9 - Управление пакетами с использованием APT
👉 @i_linux
Краткий справочник по «всем-всем» командам Linux
Периодически меня на начальном курсе (в Сетевой Академии ЛАНИТ) просят дать "список всех-всех команд с кратким описанием, что каждая из них делает". Ну прямо "всех-всех". И ведь если искать в интернете "такие" справочники существуют: либо про "20, 30, 40 команд, но самых важных", либо с неточностями и устаревшей информацией. Так что предлагаю вашему вниманию свою версию такого справочника на 300, 396, 455, 515, 612 команд.
https://habr.com/ru/company/lanit/blog/683638/
👉 @i_linux
Командная строка
Команда chmod в Linux
Sudo - таймаут запроса пароля. Командная строка Linux
Уничтожаем Linux одной командой!
Трюки командной строки Linux #1
Трюки командной строки Linux #2
Запуск команд Linux в фоновом режиме. Командная строка Linux
Командная строка Linux для новичков
Команды и утилиты Linux, которые могут пригодиться каждому. От новичка до системного администратора
Секреты и трюки Командной строки Linux. Стань гуру. Впервые конкурс
Сетевой гуру Linux. Пакеты под микроскопом. Порты, фильтрация пакетов, настройка интерфейсов
источник
👉 @i_linux
"Режим бога" в Windows 😀
GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}
👉 @i_linuxУроки Linux
1. Терминал и ввод команд.
2. Перемещение по папкам.
3. Создание, переименование, перемещение, копирование и удаление папок.
👉 @i_linux
С чего всё начиналось... Сервер компании Google. США. 1996 г.
👉 @i_linux
AWX/Tower. Ansible.
01-Установка Ansible AWX/Tower за 5 минут
02-Ansible AWX. Подключение проекта. Настройка и запуск.e
03-Survey Опросы в AWX. Формы.e
04-WorkFlow Ansible AWX
01-Ansible. Начало. Что это и для чего?
01-Ansible. Начало. Что это и для чего?
01-Ansible. Начало. Что это и для чего?
02 Ansible Установка и Настройка
02 Ansible Установка и Настройка
03-Ansible. Inventory. Hosts. Groups. Подключаем Ansible к клиентамer
👉 @i_linux
Cisco Packet Tracer
Урок 1 "Настройка ip адресации компьютеров и подключение к коммутатору"
Урок №2 "Настройка динамической ip-адресации, DHCP, DNS, WEB серверов"
Урок №3 "Настройка протокола доступа SSH на коммутаторе Cisco"
Урок 4 "Настройка VLAN на коммутаторах Cisco"
Урок №5 "Настройка ip-адресации vlan на коммутаторах и маршрутизаторах Cisco"
Урок №6 "Настройка pool (диапазона ip-адресов) на DHCP сервере для VLAN"
Урок №7 "Настройка ACL (Access Control List) на маршрутизаторе Cisco"
Урок №8 - "Настройка ip-телефонии"
Урок №9 "Настройка почтового сервера"
Урок №10 "Настройка беспроводной сети, WiFi роутер"
👉 @i_linux
Шпаргалка по MDRAID
Создание массива:
mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
После чего нужно создать конфигурационный файл mdadm.conf
mdadm --detail --scan > /etc/mdadm/mdadm.conf
И записать изменения в загрузочный образ:
update-initramfs -u
Работа с массивом
Пометка диска как сбойного
Диск в массиве можно условно сделать сбойным, ключ --fail (-f):
mdadm /dev/md0 --fail /dev/hde1
mdadm /dev/md0 -f /dev/hde1
Удаление сбойного диска
Сбойный диск можно удалить с помощью ключа --remove (-r):
mdadm /dev/md0 --remove /dev/hde1
mdadm /dev/md0 -r /dev/hde1
Добавление нового диска
Добавить новый диск в массив можно с помощью ключей --add (-a) и --re-add:
mdadm /dev/md0 --add /dev/hde1
mdadm /dev/md0 -a /dev/hde1
Сборка существующего массива
Собрать существующий массив можно с помощью mdadm --assemble. Как дополнительный аргумент указывается, нужно ли выполнять сканирование устройств, и если нет, то какие устройства нужно собирать.
mdadm --assemble /dev/md0 /dev/hde1 /dev/hdf2 /dev/hdg1
mdadm --assemble --scan
Проверить состояние массива и получить информацию и массиве
Состояние массива:
cat /proc/mdstat
Информация о массиве:
mdadm --detail /dev/md0
Информация об элементе массива:
mdadm --examine /dev/sda1
Проверка целостности.
зарускаем проверку
echo check > /sys/block/md1/md/sync_action
смотрим результат
~# cat /proc/mdstat
Personalities : [raid10] [raid1]
md0 : active raid1 sdb1[1] sda1[0] sdc1[2] sdd1[3]
128384 blocks [4/4] [UUUU]
md1 : active raid10 sdd2[3] sdc2[2] sda2[0] sdb2[1]
134222848 blocks 256K chunks 2 near-copies [4/4] [UUUU]
[>....................] check = 0.5% (787072/134222848) finish=19.7min speed=112438K/sec
Убить массив
mdadm --stop /dev/md0
mdadm --zero-superblock /dev/sda..
👉 @i_linux