Diese Seite ist statisches HTML und am besten betrachtet mit Java-Script eingeschaltet!

Filezilla wird durch lftp ersetzt für die Übertragung des lokalen Blogs auf den Webserver per ftp

 ·  ☕ 2 Min. Lesen  ·  🤖 SWU

Mein Blog schreibe ich lokal mit Hilfe von hugo und wenn ich einen Upload auf meinen Webserver durchführen will, hatte ich bisher Filezilla dafür verwendet.

Man kann Filezilla dazu bringen, nur Änderungen zu übertragen, er zeigt dann auch die Unterschiede an. Hugo jedoch ist CLI-orientiert und dann würde ich den Upload auch gerne im Terminal durchführen.

Da bei einem neuen Post nach der Neugenerierung von public ja wohl eine ganze Reihe von neuen Dateien erzeugt werden, müssen aber längst nicht alle Dateien neu übertragen werden. Das wäre ein Job für ein dafür geeignetes Werkzeug. So bin ich mal auf die Suche gegangen. curlftpfs wäre ja mit rsync zusammen ein super Kandidat gewesen, aber leider gibt es einen Speicherzugriffsfehler und ich kann es nicht gebrauchen. Dann habe ich lftp gefunden und nach kurzer Suche wie der tickt, habe ich mir ein Script zusammengestellt und ich muss sagen, arbeitet dieses Werkezeug wie Rsync. Wenn man z. B. lokal keine Änderungen hat, prüft es die Situation auf dem ftp-Server und beendet sich dann.

Das shell-Script hugosync.sh

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/sh
# Requires: lftp

# Configuration:
LOCAL="/home/user/hugo/blog/public/"
LOGDIR="/home/user/hugo"
LOGFILE="lftp.`date +'%Y-%m-%d-%H-%M'`"
ftp_HOST="ftp.youserver.de"
ftp_USER="yourserveruser"
ftp_PASS="yourserverpass"
ftp_SUBFOLDER="/"

# Execution:
lftp -f "
set ssl-allow true
set passive-mode yes
set ssl:verify-certificate false
open $ftp_HOST
user $ftp_USER $ftp_PASS
mirror --reverse --parallel=4 --log=$LOGDIR/$LOGFILE.log $LOCAL $ftp_SUBFOLDER
bye
"

Wenn du das auch verwenden willst, passe die Konfiguration-Sektion auf deine Daten an. Die Variable LOGDIR hat keinen Slash am Ende, weil sie mit Variable LOGFILE zusammengesetzt wird. Schaue auch in die Manpage, es gibt viel mehr Optionen, die man einstellen kann.


wüsti
Author
SWU
human