Быстрый старт
$ ssh vds
скопировать
Одна команда: подключение по ключу (без пароля) → автоматически попадаешь в tmux-сессию
artvision на сервере. Если связь оборвётся — ssh vds снова, tmux подхватит с того же места.
Архитектура
Mac (локально)
Claude Code разработка
cloud-backup launchctl
net-watchdog launchctl
backup launchctl
Работает только когда мак включён
ssh vds
по ключу
без пароля
без пароля
VDS 24/7
avportal-bot 97 MB
stammit-bot 59 MB
stammit-api 20 MB
travel-bot 59 MB
smm-publish-api 29 MB
claude-dispatcher 23 MB
symmetron-worker 182 MB
+ 25 cron задач • nginx 7 сайтов
Как выглядит tmux
После ssh vds ты видишь примерно это:
root@vds:~# pm2 list
┌────┬──────────────────┬────────┬──────┐
│ id │ name │ status │ mem │
├────┼──────────────────┼────────┼──────┤
│ 3 │ avportal-bot │ online │ 97M │
│ 7 │ stammit-bot │ online │ 59M │
│ 6 │ travel-bot │ online │ 59M │
└────┴──────────────────┴────────┴──────┘
root@vds:~# _
┌────┬──────────────────┬────────┬──────┐
│ id │ name │ status │ mem │
├────┼──────────────────┼────────┼──────┤
│ 3 │ avportal-bot │ online │ 97M │
│ 7 │ stammit-bot │ online │ 59M │
│ 6 │ travel-bot │ online │ 59M │
└────┴──────────────────┴────────┴──────┘
root@vds:~# _
tmux = "вечный терминал". Всё что запущено внутри продолжает работать даже если Wi-Fi отвалится, ноутбук закроется или ты отключишься. Подключаешься снова — видишь всё как было.
SSH-алиасы
| Команда | Что делает | Когда использовать |
|---|---|---|
ssh vds |
Подключение + tmux-сессия | Основная работа на сервере |
ssh cmd |
Одноразовая команда без tmux | ssh cmd "pm2 list" — быстрая проверка |
Управление процессами (PM2)
| Команда | Что делает |
|---|---|
pm2 list | Список всех процессов и их статус |
pm2 logs avportal-bot | Логи конкретного процесса в реальном времени |
pm2 logs --lines 50 | Последние 50 строк всех логов |
pm2 restart avportal-bot | Перезапустить процесс |
pm2 stop travel-bot | Остановить процесс |
pm2 start travel-bot | Запустить остановленный |
pm2 restart all | Перезапустить все процессы |
pm2 monit | Мониторинг CPU/RAM в реальном времени |
pm2 save — после добавления/удаления процессов обязательно выполни
pm2 save, иначе при перезагрузке сервера список не восстановится.
tmux: горячие клавиши
Все комбинации начинаются с Ctrl+B (prefix), затем отпускаешь и жмёшь следующую клавишу.
| Клавиши | Действие |
|---|---|
Ctrl+B, D | Отключиться (сессия живёт на сервере) |
Ctrl+B, C | Новое окно (вкладка) |
Ctrl+B, 0-9 | Переключиться на окно по номеру |
Ctrl+B, " | Разделить окно горизонтально |
Ctrl+B, % | Разделить окно вертикально |
Ctrl+B, стрелки | Перемещение между панелями |
Ctrl+B, [ | Режим прокрутки (выход: Q) |
Ctrl+B, D vs exit:
Ctrl+B, D отключает тебя, но сессия живёт. exit закрывает сессию насовсем. Почти всегда нужен Ctrl+B, D.
Характеристики сервера
| Параметр | Значение |
|---|---|
| IP | 80.90.181.152 |
| Локация | Amsterdam, NL (Timeweb nl-1) |
| CPU | 4 ядра |
| RAM | 7.8 GB (использ. ~2.1 GB) |
| Диск | 80 GB NVMe (использ. ~24 GB) |
| Канал | 100 Mbit |
| Цена | 1 210 ₽/мес |
| OS | Ubuntu |
Сайты (nginx)
| Домен | Назначение |
|---|---|
kb.artvision.pro | База знаний (эта страница) |
reports.artvision.pro | Отчёты для клиентов |
ai.artvision.pro | AI-сервисы |
symmetron.artvision.pro | Symmetron проект |
dev.ant.partners | Dev-версия ANT Partners |
esenina.artvision.pro | Проект Есенина |
artvision.pro | Основной сайт |
Расписание (cron)
| Время | Что | Частота |
|---|---|---|
*/5 мин | PM2 resurrect (автовосстановление) | постоянно |
*/30 мин | Health monitoring | постоянно |
каждый час | Git pull (5 репо) | постоянно |
06:00 | Token monitor + SMM digest + dashboard | ежедневно |
07:00 | Client scheduler + SEO weekly (пн) | ежедневно |
07:30 | Asana digest (утро) | ежедневно |
08:00 | Webmaster traffic monitor | ежедневно |
09, 13, 17 | SMM digest (3x) | ежедневно |
15:30 | Asana digest (вечер) | ежедневно |
16:00 | Daily learnings | ежедневно |
00:00 | Backup controller | ежедневно |
вс 01:00 | Cleanup old backups (30d) | еженедельно |
вс 03:00 | Log rotation (>10MB) | еженедельно |
5-е числа | Payment reminder | ежемесячно |
25-е числа | Direct autotarget optimizer | ежемесячно |
Проблемы и решения
| Проблема | Решение |
|---|---|
| Бот не отвечает | pm2 restart avportal-bot, потом pm2 logs avportal-bot --lines 20 |
| Процесс крашится в цикле | pm2 logs имя --lines 100 — найти ошибку в логах |
| SSH не подключается | ssh -vvv root@80.90.181.152 — debug-режим |
| tmux: сессия зависла | ssh cmd "tmux kill-session -t artvision", потом ssh vds |
| Диск забит | df -h, потом du -sh /root/logs/* — обычно логи |
| RAM забита | free -h + pm2 monit — найти прожорливый процесс |