Я, если честно, к серверу без консоли не прикасаюсь. Нет, правда. Панельки — ну может быть, если очень лень. Но чаще — ssh, и пошли: htop, ncdu, и всё как по нотам. Хотя нот я не знаю.
Вот прямо сейчас зашла на свой рабочий VPS — uptime показывает 39 дней. Ни одного ребута. И да, всё держится не потому, что «облако надёжное» — а потому что я знаю, кто и что там делает. CLI — не романтика, просто привычка.
Что я ставлю первой? Вот прям по пункта
Я не делаю чеклистов, но вот то, что есть у меня в баше почти на каждом сервере.
htop — чтобы не всматриваться в top, который вообще не для людей.
Он цветной. Простой. А главное — видно, кто жрёт. Часто вижу, что php-fpm ведёт себя как кабачковая икра в магазине: жрёт, но не спрашивает.
apt install htop -y
ncdu — была история: сайт лёг, место на диске — ноль. А оказалось, кто-то включил логирование дебаг-режима на весь Laravel. 6 ГБ логов за сутки.
apt install ncdu -y
Запускаешь — и ходишь по папкам. Как раньше по винде в Total Commander.
screen — ну не знаю, как без него вообще можно что-то долгое запускать. У меня раз был rsync в кафе через мобильный интернет. Я отлетела, а он продолжил.
screen- запускаешь что угодно
Ctrl+A,D- позже:
screen -r
fail2ban-client — да, у всех стоит, но мало кто смотрит. А надо.
fail2ban-client status sshd
Периодически захожу — вижу китайские айпишники. Иногда и коллега попадает — тогда:
fail2ban-client set sshd unbanip ...
nmap — проверить, что видно снаружи. Хотя бы иногда.
nmap my-vps.by
Один раз так нашла открытый порт от старого Minio. Забыла, что ставила. Хорошо, что никто не нашёл до меня.
curl — отправляла вебхуки в Telegram руками, просто потому что через Postman лень.
curl -X POST https://api.telegram.org/...
Ну и curl -I — это уже как рефлекс: проверить, жив ли сайт.
rsync — не люблю scp, он шумит. А rsync — работает тихо. По делу. Папка в папку, только изменения. Что ещё надо?
rsync -avz /var/www user@backup:/mnt/
ss — покажи мне, кто занял 80-й порт. И сделай это быстро.
ss -tulpn | grep :80
Всё. Лаконично. Без графиков.
uptime и journalctl — «что случилось и когда».
Первое — просто:
uptime
Второе — спасение при любом «у нас ничего не работает»:
journalctl -xe
Где я это всё держу?
На CloudVPS.by. Уже года два, наверное. Один проект личный, второй — подработки для знакомых. Там всё без лишнего — дали VPS, дали доступ — работай. Поддержка иногда тупит, но зато быстро реагирует. Ставлю туда весь этот свой набор, как накатанный скрипт.
Если страшно — попробуй по чуть-чуть
Серьёзно. Не надо сразу писать пайплайны и деплой через bash. Просто открой htop. Посмотри, как живёт сервер. Пощёлкай F6, F10. Потом ncdu А дальше оно как-то само.
Финал
CLI — это не про «быть крутым», а про «знать, что происходит». Это как выключить музыку и услышать, где скрипит.