Bash Советы
2.46K subscribers
100 photos
8 videos
9 links
🚀 Секреты и советы по Bash

🔹 Полезные трюки, хитрые однострочники и лайфхаки для работы в терминале.
🔹 Автоматизация, скрипты и оптимизация работы в Linux.
🔹 Стать мастером Bash легко – просто подпишись!

По всем вопросам @evgenycarter
Download Telegram
🛡 Проверка SSL-сертификатов с помощью Bash

Иногда нужно быстро проверить срок действия SSL-сертификата удалённого сайта. Вот удобный однострочник на Bash, который покажет дату окончания действия сертификата:


echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null \
| openssl x509 -noout -dates | grep notAfter


📆 Чтобы получить только оставшиеся дни до окончания:


end_date=$(echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null \
| openssl x509 -noout -enddate | cut -d= -f2)

end_ts=$(date -d "$end_date" +%s)
now_ts=$(date +%s)
echo "Осталось дней: $(( (end_ts - now_ts) / 86400 ))"


🔒 Полезно для автоматического мониторинга или проверки перед продлением сертификатов!

👉@bash_srv
👍9
🚀 Утилита timeout: автоматическое завершение зависших команд

Когда ты запускаешь какую-то команду, и она может зависнуть - это беда. Особенно в скриптах. На помощь приходит утилита timeout из пакета coreutils.

Пример использования:


timeout 30s ./backup.sh

Эта команда завершит ./backup.sh, если она не завершится за 30 секунд.

Можно задать время в секундах (s), минутах (m), часах (h) и даже днях (d).

Что произойдёт при превышении тайм-аута?

По умолчанию timeout отправляет сигнал SIGTERM, а через 5 секунд - SIGKILL, если процесс всё ещё жив.


Изменение сигнала:


timeout -s SIGINT 10s ./script.sh



Проверка кода возврата:


if timeout 5s ./some_command; then
echo "Успешно"
else
echo "Команда завершена по таймауту или с ошибкой"
fi


👉@bash_srv
👍7