скрипт деплоя pelican по ssh

для отправки по 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'

Если нужно — помогу составить готовый скрипт под твои задачи.

links

social