Отже, випиляв я всі ці додатки і написав наступний скрипт:
#!/bin/bash
SRC="public"
ZIP="ps.zip"
echo "snap $SRC > $ZIP ..."
cd $SRC
rm $ZIP
zip -r -9 $ZIP ./
cd ../
echo "update repository ..."
git add .
git commit -m "$(date +%s)"
git push
echo "update remote host (localnet) ..."
rclone sync $SRC localnet:/path --update -v
echo "update remote host (yesterweb) ..."
rclone sync $SRC yesterweb:/path --update --no-check-certificate -v
- тобто він вимагає встановлення комбайну
rclone
, бо rsync
не вміє WebDAV без sudo mount
- на прикладі вище в мене створення архіву, а за ним публікація в репозиторій + два хости (SFTP + WebDAV)
- скрипт вимагає додаткової конфігурації підключень, наприклад через менеджер
rclone config
- в репозиторії в мене архів загітігнорений, коли треба ручний коміт, я роблю його до виконання
./push
Таким чином, все зручно: нічого не автовивантажується на сайві, не конфліктує а також не треба руками ходити видаляти перейменовані файли, зокрема й для вже бувшого додатка FTP. Може це не зручно у веб розробці, але я це рішення використовую для свого блогу в Geminispace, де правки бувають рідко і важливо актуалізувати його копії на всіх дзеркалах без сюрпризів.
Згаданий вище додаток vscode-webdav
в мене якось непередбачувано перетирає сторінки файлом що не є активним, може це в комбінації з додатком FTP плутаються сесії, копирсатись в JS бажання немає, тому так.