IT-шпаргалка

Команды и проверки для ежедневной работы.

!Перед опасными действиями

Перед изменением конфигов, сервисов, DNS, firewall или дисков сначала фиксируем исходное состояние. Это занимает минуту, но сильно упрощает откат.

  • Где работаешь: hostname, IP и назначение сервера.
  • Что меняешь: файл, сервис, контейнер или правило.
  • Есть копия: конфиг или дамп до правки.
  • Есть место: диск не забит, сервисы живы.
  • План отката: понятно, как вернуть назад.
Подробнее про безопасность

🐧Linux: быстрая диагностика

date
hostnamectl
uname -a
uptime
free -h
df -h
lsblk
ip -br a
ip route
ss -ltnup
systemctl list-units --failed --no-pager
Подробнее про Linux и systemd

Место на диске

du -h --max-depth=1 /var | sort -h
du -h --max-depth=1 /var/cache | sort -h
du -h --max-depth=1 /var/log | sort -h
journalctl --disk-usage
journalctl --vacuum-time=14d
Подробнее про место на диске

systemd и логи

systemctl status SERVICE_NAME --no-pager
journalctl -u SERVICE_NAME -n 100 --no-pager
journalctl -p err -xb --no-pager
systemctl reload SERVICE_NAME
systemctl restart SERVICE_NAME
Подробнее про сервисы и логи

Файлы и поиск

pwd
ls -lah
tree -L 2
find /etc -name "*.conf" -type f
find . -type f -size +100M
rsync -avh --dry-run source/ target/
Подробнее про файлы и поиск

Права и пользователи

stat /opt/project/config.yml
namei -l /opt/project/config.yml
chmod 644 file.conf
chown USER_NAME:GROUP_NAME file.conf
usermod -aG sudo USER_NAME
sudo -l
Подробнее про права и пользователей

Процессы и ресурсы

htop
ps aux --sort=-%cpu | head
ps aux --sort=-%mem | head
pgrep -a PROCESS_NAME
kill -TERM PID
lsof -i :PORT
Подробнее про процессы

pkgПакеты и обновления

apt update
apt list --upgradable
apt install PACKAGE_NAME
apt-cache policy PACKAGE_NAME
dnf history
pacman -Qdt
Подробнее про пакеты

Диски и LVM

lsblk -f
findmnt
cat /etc/fstab
mount -a
fdisk -l
lvs
Подробнее про диски

txtТекст и потоки

grep -n "error" /var/log/syslog
rg "server_name" /etc/nginx
awk '{print $1}' access.log
cut -d: -f1 /etc/passwd
sort access.log | uniq -c | sort -nr | head
jq '.clients[] | .clientName' amnezia-status.json
Подробнее про текстовые фильтры

shАвтоматизация и shell

crontab -l
systemctl list-timers --all
journalctl -u TIMER_NAME.service -n 80 --no-pager
env
alias ll='ls -lah'
bash -n script.sh
Подробнее про автоматизацию

Docker

docker ps
docker ps -a
docker images
docker system df
docker logs --tail 100 CONTAINER_NAME
docker inspect CONTAINER_NAME
Подробнее про Docker

Docker Compose

docker compose ps
docker compose pull
docker compose up -d
docker compose logs --tail 100
docker compose restart SERVICE_NAME
Подробнее про Compose

vmВиртуализация

podman ps
virsh list --all
virsh dominfo VM_NAME
qemu-img info disk.qcow2
virsh snapshot-list VM_NAME
lsmod | grep kvm
Подробнее про VM и Podman

Сайт и HTTPS

nginx -t
systemctl status nginx --no-pager
systemctl reload nginx
journalctl -u nginx -n 100 --no-pager
ss -ltnup | grep nginx
curl -I https://dadiz-server.ru
Подробнее про сайт и HTTPS

HTTPS и Certbot

Перед выпуском сертификата проверить DNS.

certbot certificates
certbot renew --dry-run
curl -I http://dadiz-server.ru
curl -I https://dadiz-server.ru
nginx -t
systemctl reload nginx
Подробнее про HTTPS

Бэкапы и образы

mount | grep /mnt/nas_backup
df -h /mnt/nas_backup
ls -lh /mnt/nas_backup/backups
dd if=/dev/sdX of=/mnt/nas_backup/image.img bs=64M status=progress
xz -dc image.img.xz | dd of=/dev/sdX bs=64M status=progress
zstd -dc image.img.zst | dd of=/dev/sdX bs=64M status=progress
Подробнее про бэкапы

DBPostgreSQL

systemctl status postgresql --no-pager
sudo -u postgres psql -c '\l'
psql -d DB_NAME -c '\dt'
psql -d DB_NAME -c 'select now();'
pg_dump -d DB_NAME > /home/USER/db_backup.sql
Подробнее про PostgreSQL

Сеть, DNS, доступность

ping -c 3 1.1.1.1
ping -c 3 ya.ru
dig +short dadiz-server.ru @1.1.1.1
curl -I https://dadiz-server.ru
traceroute dadiz-server.ru
ip route get 1.1.1.1
Подробнее про сеть и DNS

Windows: терминал

ipconfig /all
nslookup dadiz-server.ru
nslookup dadiz-server.ru 1.1.1.1
route print
netstat -ano
Test-NetConnection dadiz-server.ru -Port 443
Clear-DnsClientCache
Подробнее про Windows

Home Assistant

Критичный путь: /opt/homeassistant/config. Не запускать с неправильным volume.

docker exec homeassistant python -m homeassistant --version
docker logs homeassistant --tail 100
curl -s -o /dev/null -w "%{http_code}\n" http://127.0.0.1:8123
ls -la /opt/homeassistant/config | head -n 50
Подробнее про Home Assistant

Zigbee2MQTT

Сначала анализ, потом перепривязка. Не менять канал без причины.

docker logs zigbee2mqtt --tail 120
docker exec zigbee2mqtt node -e "console.log(require('./package.json').version)"
curl -s -o /dev/null -w "%{http_code}\n" http://127.0.0.1:8080
ls -la /opt/zigbee2mqtt/data
Подробнее про Zigbee2MQTT