
для отправки по ssh
Для отправки (деплоя) сгенерированного сайта Pelican на удалённый сервер по SSH используется обычно команда rsync — она эффективно копирует только изменённые файлы, поддерживает сжатие и работает поверх SSH.
Вот минимальный пример команды для копирования локального каталога output/ (результат генерации Pelican) на удалённый сервер:
rsync -avz --delete output/ youruser@your.server.ip:/путь/к/директории/сайта/
Пояснения:
-a— архивный режим (сохраняет права, симлинки, даты)-v— подробный вывод прогресса-z— сжатие данных по сети--delete— удалять на сервере файлы, которых больше нет локальноyouruser@your.server.ip— SSH-пользователь и адрес сервера/путь/к/директории/сайта/— куда на сервере размещать файлы (например,/var/www/pelican-site/)
Для упрощения можно создать скрипт deploy.sh:
#!/bin/bash
pelican content -s pelicanconf.py
rsync -avz --delete output/ youruser@your.server.ip:/var/www/pelican-site/
ssh youruser@your.server.ip 'sudo systemctl reload nginx'
Запустив этот скрипт, ты сгенерируешь сайт, отправишь его на сервер и перезапустишь nginx для обновления (если нужен).
Если SSH настроен с ключами и прописан в ~/.ssh/config, то можно упростить:
rsync -avz --delete output/ pelican-server:/var/www/pelican-site/
ssh pelican-server 'sudo systemctl reload nginx'
Если нужно — помогу составить готовый скрипт под твои задачи.