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
Место на диске
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
Пакеты и обновления
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
Текст и потоки
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Автоматизация и 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 Compose
docker compose ps docker compose pull docker compose up -d docker compose logs --tail 100 docker compose restart SERVICE_NAME
Виртуализация
podman ps virsh list --all virsh dominfo VM_NAME qemu-img info disk.qcow2 virsh snapshot-list VM_NAME lsmod | grep kvm
Сайт и 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 и 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
Бэкапы и образы
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
PostgreSQL
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
Сеть, 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
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
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 50Zigbee2MQTT
Сначала анализ, потом перепривязка. Не менять канал без причины.
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