Wie kann ich nur die lokalen Dateien auf einen FTP-Server hochladen, die sich seit dem letzten Upload geändert haben?

Dies ist z.B. praktisch, um auf effiziente Art einen Upload seiner persönlichen Homepage durchzuführen (wenn diese auch statischen HTML-Inhalten besteht die man lokal editiert).

Lösung: man verwendet das folgende Kommando:

find . -newer .lastupload 
  -path './path-to-local-website-copy/*' | 
  xargs -i 
  ncftpput -u username -p password -R example.com 
  /path-on-ftp-server {} 
  && touch .lastupload

Dabei bedeuten:

  • -path './path-to-local-website-copy/*': Pfade, in dem die Dateien auf dem lokalen System liegen dürfen.
  • -newer .lastupload .lastupload ist der Name einer Datei, deren Modifikationszeit die Zeit des letzten Uploads ist. Alle neueren Dateien sind also jetzt upzuloaden.

Um nur einige wenige Dateien per Hand hochzuladen (wobei lokalen Dateien / Verzeichnisse ohne Wildcards angegeben werden können):

ncftpput -u username -p password -R example.com 
  /path-on-ftp-server localfiles-1* localfiles-2*

Posted

in

,

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.