5 полезных инструментов для работы с регулярными выражениями
Регулярки могут быть сложными, но с правильными инструментами работа с ними становится намного проще. Составил список пяти сервисов, которые помогут вам быстро разобраться и использовать их в своих задачах:
1️⃣ regex101 — Проверка и отладка регулярных выражений с подсказками. Удобный интерфейс и поддержка нескольких синтаксисов.
2️⃣ grex — Генератор регулярок на основе ваших данных. Отличный выбор, если не хотите составлять выражение вручную.
3️⃣ regexper — Визуализация регулярных выражений. Помогает понять, как работает даже сложный паттерн.
4️⃣ ihateregex — Готовые примеры популярных регулярок с объяснениями. Идеально для новичков.
5️⃣ Stepik — Бесплатный курс, который научит вас писать регулярки с нуля.
Сохраните эти ссылки — они точно пригодятся!👍
#РегулярныеВыражения
🧑💻 NetworkAdmin | ⚙️ EasyTools
Регулярки могут быть сложными, но с правильными инструментами работа с ними становится намного проще. Составил список пяти сервисов, которые помогут вам быстро разобраться и использовать их в своих задачах:
Сохраните эти ссылки — они точно пригодятся!
#РегулярныеВыражения
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤1🙏1
Извлечение имени файла с basename
Если вы пишете скрипты в Linux, утилита basename — ваш надёжный помощник. Её задача проста: извлекать имя файла из полного пути.
Также можно сразу убрать расширение файла:
Где это полезно? Например, нужно передать через
Сначала на удалённом сервере формируется список файлов через
Другой пример: смена расширений у всех
Это лишь один из множества способов.
#linux #bash
🧑💻 NetworkAdmin | ⚙️ EasyTools
Если вы пишете скрипты в Linux, утилита basename — ваш надёжный помощник. Её задача проста: извлекать имя файла из полного пути.
# basename /var/log/auth.log
auth.log
Также можно сразу убрать расширение файла:
# basename /var/log/auth.log .log
auth
Где это полезно? Например, нужно передать через
rsync только новые бэкапы:# rsync -av --files-from=<(ssh root@10.10.1.10 \
'/usr/bin/find /var/lib/pgpro/backup -type f -mtime -1 \
-exec basename {} \; | egrep -v timestamp') \
root@10.10.1.15:/var/lib/pgpro/backup/ /data/backup/
Сначала на удалённом сервере формируется список файлов через
find, имена очищаются basename, лишнее отсекается через egrep. Всё передаётся в rsync.Другой пример: смена расширений у всех
.txt файлов на .log:# for file in *.txt; do mv "$file" "$(basename "$file" .txt).log"; done
Это лишь один из множества способов.
Альтернативы:rename,findсxargs.
#linux #bash
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3
Этот набор шагов пригодится для настройки Linux-сервера сразу после установки системы.
Список:
1️⃣ Обновление системы.
Необходимо обновить репозитории и установить все актуальные пакеты, так как стандартные образы часто устаревшие.2️⃣ Сетевые параметры.
Рекомендуется проверить настройки сети, включая управление подключением и DNS-серверы. При необходимости стоит заменить DNS, например, на Яндекс для России, и изменить hostname.3️⃣ Установка утилит.
Для удобства работы добавляются утилиты:htop,iftop,mc,screen,net-tools,bind9-dnsutils.4️⃣ Настройка времени.
Нужно убедиться в правильной настройке часового пояса и работе синхронизации времени, так как некоторые провайдеры блокируют NTP-порты.5️⃣ Конфигурация SSH.
Изменяется порт (например, вместо 22), настраиваются параметры доступа: запрет root-авторизации и/или паролей в зависимости от требований безопасности.6️⃣ История команд.
Настраивается увеличение глубины хранения, мгновенное сохранение команд и отображение времени их выполнения.7️⃣ Обновления и swap.
Устанавливаются автоматические обновления безопасности, подключается swap, если он отсутствует.8️⃣ Системная почта.
Добавляется алиас для root или настраивается отправка через внешний SMTP-сервер.9️⃣ Настройка Firewall.
Производится конфигурация межсетевого экрана или его отключение, если он не требуется.1️⃣ 0️⃣ Финальная проверка.
Перезагружается сервер и проверяется работа всех служб, включая сеть, SSH, swap и синхронизацию времени.
#linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥6🤡3
Если вам нужен простой и легкий мониторинг для одиночного сервера, который быстро настраивается и показывает данные в удобном веб-интерфейсе, вот подборка подходящих инструментов:
#мониторинг
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3🤔1
Новая статья на сайте посвящена редистрибуции маршрутов между OSPF и EIGRP. Рассказал, как настроить правильный обмен маршрутной информацией, учитывая особенности метрик и избегая распространённых ошибок.
Прочитать статью можно по ссылке:
https://networkadmin.ru/route-redistricting-in-ospf-and-eigrp/
#ospf #eigrp
🧑💻 NetworkAdmin | ⚙️ EasyTools
Прочитать статью можно по ссылке:
https://networkadmin.ru/route-redistricting-in-ospf-and-eigrp/
#ospf #eigrp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥4
Роскомнадзор выполнил частичное отключение нескольких российских регионов от глобального интернета.
Не получается зайти в зарубежные сервисы даже через VPN.
Please open Telegram to view this post
VIEW IN TELEGRAM
😢14💩8👍4😡4👌2🫡2🤡1
Ищете лучший FTP-клиент для Linux? В новом обзоре рассмотрел топовые программы для работы с FTP-серверами, их особенности, плюсы и минусы.
Узнайте, какой инструмент идеально подойдёт для ваших задач, и как легко установить его на Linux.
#ftp #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2
Утилита touch в Linux: больше, чем просто создание файлов
Многие знают, что с помощью команды
Или даже
Но это лишь часть возможностей. Первоначально
⏳ Обновление времени доступа и изменения
Посмотреть текущее время доступа можно так:
Обновить время
Посмотреть
Точно так же можно обновить время изменения файла:
Зачем❓
1️⃣ Контроль синхронизации. Например, перед резервным копированием можно обновить метку времени файла. Это поможет убедиться, что синхронизация прошла, даже если файлы не изменились.
2️⃣ Подмена даты изменения.
Теперь дата файла — 01 декабря 2024 года, 10:05. Этот приём активно используют злоумышленники, чтобы замаскировать вредоносные файлы среди старых.
Как проверить подмену?🤔
Здесь можно увидеть не только время доступа и изменения, но и время изменения атрибутов (
Итог:
#linux
🧑💻 NetworkAdmin | ⚙️ EasyTools
Многие знают, что с помощью команды
touch можно создать пустой файл:touch file01.txt
Или даже
touch file01.txt file02.txt file03.txt
touch file0{1,2,3}.txt
Но это лишь часть возможностей. Первоначально
touch создавали для обновления времени доступа и изменения файлов.Посмотреть текущее время доступа можно так:
ls -l file01.txt --time=atime
Обновить время
touch -a file01.txt
Посмотреть
ls -l file01.txt --time=atime
Точно так же можно обновить время изменения файла:
touch -m file01.txt
Зачем
touch позволяет указать конкретную дату изменения:touch -t 202412011005 file01.txt
ls -l file01.txt
Теперь дата файла — 01 декабря 2024 года, 10:05. Этот приём активно используют злоумышленники, чтобы замаскировать вредоносные файлы среди старых.
Как проверить подмену?
stat file01.txt
Здесь можно увидеть не только время доступа и изменения, но и время изменения атрибутов (
Change) и время создания файла (Birth). Эти метки злоумышленнику подделать сложнее.Итог:
touch — это не только создание файлов. Она полезна для работы с метками времени, управления синхронизацией и даже для анализа изменений файловой системы.#linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥6
free -m— показывает объём доступной и используемой оперативной памяти.ps -e -o pid,args --forest— отображает дерево процессов.ps -eafw— список всех процессов с подробной информацией.top— интерактивный мониторинг процессов и ресурсов системы.kill -9 PID— принудительно завершает процесс с PID без ожидания завершения операций.kill -1 PID— перезапуск процесса с PID с перечитыванием конфигурации.
lsof /home/user1— список открытых файлов в директории
/home/user1.
lsof -p PID— показывает файлы, открытые конкретным процессом (PID).
tail /var/log/messages— последние 10 строк системного журнала.
tail /var/log/dmesg— последние 10 строк журнала загрузки ядра.
3️⃣
Информация о загрузке и устройствах
last reboot— история перезагрузок системы.
lsmod— список загруженных модулей ядра.
smartctl -i /dev/hda— проверка поддержки SMART на диске.
smartctl -A /dev/hda— статус жёсткого диска через SMART.
strace -c ls >/dev/null— список системных вызовов, выполненных командой
ls.
strace -f -e open ls >/dev/null— вызовы системных библиотек при выполнении
ls.
pstree— дерево запущенных процессов.
watch -n1 'cat /proc/interrupts'— вывод аппаратных прерываний в реальном времени.
Эти команды помогают анализировать производительность, исправлять ошибки и отслеживать процессы в реальном времени.
#linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥8
Sigcheck — утилита от Microsoft Sysinternals для выявления сторонних сертификатов в хранилище Windows. Она сравнивает установленные сертификаты с официальным списком доверенных корневых сертификатов Microsoft и выделяет только те, которые отсутствуют в этом списке.
Зачем это нужно?
Сторонние сертификаты могут использоваться хакеры для перехвата трафика или внедрения вредоносного кода. Чтобы предотвратить это, рекомендуется периодически проверять хранилище сертификатов.
Проверка сертификатов компьютера:
sigcheck64.exe -tv *
Проверка сертификатов пользователя:
sigcheck64.exe -tuv *
Для удаления сертификата по отпечатку используйте команду:
certutil –delstore Root <отпечаток_сертификата>
#windows #microsoft
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤1
Если никто не помнит, когда у меня день рождения, почему это считается плохим паролем?
#юмор
🧑💻 NetworkAdmin | ⚙️ EasyTools
#юмор
Please open Telegram to view this post
VIEW IN TELEGRAM
😁19👍8🔥1
с помощью PowerShell
Чтобы быстро установить обновления на Windows серверах, можно использовать PowerShell-модуль PSWindowsUpdate.
Из AD:
$Srvs = Get-ADComputer -SearchBase "OU=Servers,DC=test,DC=loc" -Filter {OperatingSystem -like "*Windows Server*"} | Select -ExpandProperty nameИли из текстового файла:
$Srvs = Get-Content C:\servers.txt
Invoke-WUJob -ComputerName $Srvs -Script {ipmo PSWindowsUpdate; Install-WindowsUpdate -AcceptAll -AutoReboot | Out-File "C:\update.log"} -RunNow -Confirm:$false -Verbose -ErrorAction IgnoreЭта команда создаст задачу планировщика с правами SYSTEM на каждом сервере. Задача скачает и установит обновления, а затем автоматически перезагрузит сервер.
Get-WUJob -ComputerName $Srvs
Этот подход позволяет централизованно управлять обновлениями и экономит время при обновлении большого числа серверов.
#windows #windowsserver #powershell
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3❤1
По умолчанию современные версии Windows отображают список локальных пользователей в левом нижнем углу экрана входа.
Это актуально только для компьютеров, не подключённых к домену Active Directory.
Как скрыть пользователей из списка?
Для этого нужно отредактировать реестр Windows:
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList" /t REG_DWORD /f /d 0 /v ИмяПользователя
Здесь ИмяПользователя — это имя локального пользователя, которого нужно скрыть.
Как снова показать пользователей?
Win + R → regedit).HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList
#windows #microsoft
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥5
🗑️ Как добавить корзину для удалённых файлов в Linux
В Linux по умолчанию нет корзины для удалённых файлов, как в Windows. Но эту функцию можно легко добавить с помощью простого скрипта.
Шаги по настройке:
1️⃣ Создаём скрипт для удаления
В домашней директории создаём файл
2️⃣ Создаём директорию для корзины
3️⃣ Добавляем алиас для rm
Откройте файл
4️⃣ Перечитываем .bashrc
Теперь при удалении файла командой:
Файл будет перемещён в
Такой подход позволяет легко восстанавливать случайно удалённые файлы. Формат даты можно изменить по своему вкусу с помощью команды
#Linux #Bash
🧑💻 NetworkAdmin | ⚙️ EasyTools
В Linux по умолчанию нет корзины для удалённых файлов, как в Windows. Но эту функцию можно легко добавить с помощью простого скрипта.
Шаги по настройке:
В домашней директории создаём файл
trash.sh со следующим содержанием:#!/bin/sh
TRASH_DIR="/tmp/trash"
TIMESTAMP=$(date +'%d-%b-%Y-%H:%M:%S')
for i in "$@"; do
FILE=$(basename "$i")
mv "$i" "${TRASH_DIR}/${FILE}.${TIMESTAMP}"
done
mkdir /tmp/trash
Откройте файл
~/.bashrc и добавьте строку:alias rm='sh ~/trash.sh'
source ~/.bashrc
Теперь при удалении файла командой:
rm filename.txt
Файл будет перемещён в
/tmp/trash с добавлением даты и времени к имени, например:filename.txt.20-Jan-2024-15:25:05
Такой подход позволяет легко восстанавливать случайно удалённые файлы. Формат даты можно изменить по своему вкусу с помощью команды
date.#Linux #Bash
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥8👎5
🗑️ Автоочистка устаревших DNS-записей
Для поддержания актуальности DNS-зон в Active Directory рекомендуется настроить автоматическую очистку устаревших динамических записей с помощью функций Aging и Scavenging.
Настройка Aging:
1️⃣ Откройте консоль DNS (
2️⃣ Включите отображение расширенных свойств через меню "Вид" > "Дополнительно".
3️⃣ В зоне прямого просмотра выберите нужную зону, откройте ее свойства и нажмите "Aging" на вкладке "Общие".
4️⃣ Активируйте опцию "Scavenge stale resource records".
5️⃣ Установите интервалы:
— No-refresh interval: период, в течение которого обновление временной метки записи запрещено (рекомендуется половина срока аренды IP-адреса на DHCP-сервере).
— Refresh interval: период, в течение которого разрешено обновление временной метки.
Настройка Scavenging:
1️⃣ В свойствах DNS-сервера на вкладке "Дополнительно" включите "Enable automatic scavenging of stale records".
2️⃣ Укажите период, через который устаревшие записи будут удаляться после признания их таковыми.
Рекомендации:
— Проверьте, чтобы критически важные записи (серверы, сетевое оборудование) были статическими и не подлежали автоматическому удалению.
— Перед первым запуском очистки рекомендуется экспортировать текущие записи в CSV-файл с помощью PowerShell для резервного копирования:
#dns #ad #windows
🧑💻 NetworkAdmin | ⚙️ EasyTools
Для поддержания актуальности DNS-зон в Active Directory рекомендуется настроить автоматическую очистку устаревших динамических записей с помощью функций Aging и Scavenging.
Настройка Aging:
dnsmgmt.msc) на контроллере домена.— No-refresh interval: период, в течение которого обновление временной метки записи запрещено (рекомендуется половина срока аренды IP-адреса на DHCP-сервере).
— Refresh interval: период, в течение которого разрешено обновление временной метки.
Настройка Scavenging:
Рекомендации:
— Проверьте, чтобы критически важные записи (серверы, сетевое оборудование) были статическими и не подлежали автоматическому удалению.
— Перед первым запуском очистки рекомендуется экспортировать текущие записи в CSV-файл с помощью PowerShell для резервного копирования:
Get-DnsServerResourceRecord -ZoneName 'yourdomain.com' |
Select-Object HostName, Timestamp, RecordType, @{Name='RecordData';Expression={$_.RecordData.IPv4Address}} |
Export-Csv -Path "C:\Backup\DNSRecords.csv" -NoTypeInformation
#dns #ad #windows
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥5
Начинающие пользователи Linux часто указывают
#!/bin/sh в начале скриптов, не задумываясь о значении этой строки. Но есть ещё #!/bin/bash и даже #!/bin/dash.Разберёмся, что это за оболочки и когда их использовать.
— Первая стандартная оболочка Unix.
— Минимальный набор возможностей, поддержка POSIX.
— В большинстве современных систем
/bin/sh — это символическая ссылка на BASH или DASH.— Самая популярная оболочка в Linux.
— Поддерживает все возможности SH + дополнительные функции (массовое присваивание переменных, массивы, циклы
for с расширенной синтаксической поддержкой и т.д.).— POSIX-совместимость опциональна (включается флагом
--posix).— Минимальная и быстрая оболочка.
— Совместима с POSIX.
— По умолчанию
/bin/sh в Debian и Ubuntu указывает на DASH, что делает системы более быстрыми и экономными по ресурсам.Что выбрать?
▪️ SH — если нужен переносимый скрипт, который будет работать на любом POSIX-совместимом Unix-системе.
▪️ BASH — когда важен расширенный функционал и удобство, т.к. BASH есть почти во всех Linux-системах.
▪️ DASH — для лёгких скриптов, где важна скорость и минимальное использование системных ресурсов.
Если нет жёстких требований к совместимости или скорости, используйте BASH — это универсально и удобно. Но для массовых операций или запуска скриптов с частым вызовом функций быстрее будет DASH из-за его меньшего потребления ресурсов и более высокой скорости выполнения.
#linux #bash #dash
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥4
Как передавать большие файлы по нестабильным каналам с минимальной нагрузкой?
Для копирования больших файлов между Windows-хостами по медленному, нестабильному или критически загруженному каналу идеально подходит протокол BITS.
Преимущества:
▪️ Автоматическая регулировка скорости передачи, чтобы не мешать другим приложениям.
▪️ Поддержка докачки даже после разрыва соединения или перезагрузки ПК.
▪️ Совместимость с SMB и HTTP.
Пример команды PowerShell:
1️⃣ Создание асинхронного задания:
2️⃣ Проверка прогресса:
3️⃣ Завершение копирования:
Используйте BITS для эффективной передачи данных без лишней нагрузки на сеть.
#bits #powershell
🧑💻 NetworkAdmin | ⚙️ EasyTools
Для копирования больших файлов между Windows-хостами по медленному, нестабильному или критически загруженному каналу идеально подходит протокол BITS.
Преимущества:
Пример команды PowerShell:
Start-BitsTransfer -Source C:\win11.vhdx -Destination \\srv\c$\image -Asynchronous -Priority low -DisplayName CopyVHDX
Get-BitsTransfer -Name CopyVHDX
Get-BitsTransfer -Name CopyVHDX | Complete-BitsTransfer
Используйте BITS для эффективной передачи данных без лишней нагрузки на сеть.
#bits #powershell
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥3
Если ищете эффективное и экономичное решение для резервного копирования, обратите внимание на bup.
Эта программа использует алгоритмы rsync для фрагментации данных и проверки контрольных сумм, а также хранит данные в формате git-репозитория.Это позволяет легко создавать инкрементные копии, экономя место, особенно если данные повторяются между разными хостами.
git clone https://github.com/bup/bup
cd bup
git checkout 0.33
apt-get build-dep bup
apt install python3-pip
pip install tornado
make && make install
export BUP_DIR=/mnt/backup
source ~/.bashrc
bup init
bup index /etc
bup save -n local-etc /etc
bup restore -C ./dest local-etc/latest/etc
#bup #backup #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3
🔔 Как отправить уведомление пользователю на удалённый Windows-компьютер?
Для оповещения пользователей на удалённых компьютерах можно использовать стандартные инструменты Windows.
▪️ Команда MSG
Отправка сообщения конкретному пользователю:
Здесь username — имя пользователя, а hostname — имя удалённого сервера.
Отправка сообщения всем пользователям сервера:
Ставьте 🔥, и следующий пост будет про PowerShell скрипт.
#msg #windows #microsoft
🧑💻 NetworkAdmin | ⚙️ EasyTools
Для оповещения пользователей на удалённых компьютерах можно использовать стандартные инструменты Windows.
Команду MSG или PowerShell-скрипты.
Отправка сообщения конкретному пользователю:
MSG username /server:hostname "Сервер будет перезагружен через 10 минут. Закройте документы."
Здесь username — имя пользователя, а hostname — имя удалённого сервера.
Отправка сообщения всем пользователям сервера:
MSG * /server:hostname "Срочное сообщение всем!"
* указывает, что сообщение получат все активные пользователи сервера.Ставьте 🔥, и следующий пост будет про PowerShell скрипт.
#msg #windows #microsoft
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥68👍3👎1
🔔 Как отправить красивые уведомления через PowerShell
Для отправки уведомлений пользователям удалённых Windows-компьютеров можно использовать скрипт PowerShell RemoteSendToastNotification.ps1.
▪️ Основные функции скрипта:
• Создание уведомлений с заголовком, текстом, иконками.
• Поддержка кнопок действий (например, открыть ссылку).
• Отправка на удалённые компьютеры через PowerShell Remoting.
▪️ Пример использования:
Уведомление о перезагрузке сервера:
Интерактивное уведомление с кнопкой:
#powershell #windows #microsoft
🧑💻 NetworkAdmin | ⚙️ EasyTools
Для отправки уведомлений пользователям удалённых Windows-компьютеров можно использовать скрипт PowerShell RemoteSendToastNotification.ps1.
• Создание уведомлений с заголовком, текстом, иконками.
• Поддержка кнопок действий (например, открыть ссылку).
• Отправка на удалённые компьютеры через PowerShell Remoting.
Уведомление о перезагрузке сервера:
.\RemoteSendToastNotification.ps1 -ComputerName "hostname" `
-Title "Внимание!" `
-Message "Сервер будет перезагружен через 10 минут. Сохраните данные." `
-IconPath "C:\Images\warning.png"
Интерактивное уведомление с кнопкой:
.\RemoteSendToastNotification.ps1 -ComputerName "hostname" `
-Title "Обновление системы" `
-Message "Нажмите для подробностей." `
-ActionButton @{ "Подробнее" = "https://example.com" }
#powershell #windows #microsoft
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27🔥5