Hilfe bei "lftp mirror" zum Kopieren von Dateien auf FTP Speicher

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

wassermine

Benutzer
Registriert
02. Jan. 2013
Beiträge
24
Reaktionspunkte
0
Punkte
1
UPDATE: ups, jetzt bin ich schon selber drauf gekommen - eventuell hilft es jemanden:)
1) Richtungswechsel (also von Lokal auf Remote): --reverse als Parameter hinzufügen
2) Die "exclude" Bedingungen müssen folgendermaßen lauten:
Bash:
excludes="--exclude-glob *"
excludes+=" --exclude-glob */"

------------------------

Hallo,

Ich komme leider nicht weiter beim Anpassen des folgenden bash Skripts, da ich mich nicht gut mit Linux auskenne. (ich habe es irgendwo in einem Forum gefunden und möchte es für meine Zwecke anpassen):

Ziel: von meinem Synology aus dem Ordner "/volume1/backup" bestimmte Ordner & Dateien auf einen FTP Speicher kopieren.
Dazu möchte ich im Skript:
- zunächst alles (Dateien & Ordner) ausschließen
- dann angeben, welche Unterordner (komplett inkl. deren Unterordner und Dateien) kopiert werden sollen)

Beispiel:
-- /volume1/backup
|--- /desktop-backup
|--- /dokumente
|--- /webserver-backup

hier nur den Unterordner "dokumente" inkl. aller .docx Dateien und aller Unterordner.

Problem: Nun ist es allerdings so, dass 1. die falsche Richtung synchronisiert wird, nämlich vom FTP-Server auf das NAS. Und außerdem auch alle Dateien & Ordner vom FTP-Server auf das NAS kopiert werden. Wie korrigiere ich das? Bisherige Versuche haben nicht funktioniert.


Skript:
Bash:
#!/bin/bash

# Credentials
protocol="ftp" # ftp or sftp
host="192.168.178.1"# target FTP server
user="user_name"
pass="password_phrase"
localcd="/volume1/backup"
remotecd="/backup-nas"

# Set up FTP URL
ftpurl="$protocol://$user:$pass@$host"

# Default includes - helps only include core files in root in case there are other random files
includes=" --include-glob dokumente/*"
includes+=" --include ^.*\.docx$"

# Exclude all other folders/files
excludes="--exclude-glob *."
excludes+=" --exclude-glob *./"

# LFTP sets
lftp_sets="set cmd:fail-exit yes;"
if [ "$protocol" == "ftp" ]
then
    lftp_sets+=" set ftp:ssl-allow no;"
fi

# Run the LFTP
lftp -e "$lftp_sets
open '$ftpurl';
lcd $localcd;
cd $remotecd;
mirror --continue --delete --parallel=1 $excludes $includes"

(Skript als Vorlage: https://unix.stackexchange.com/ques...directories-other-than-what-ive-included?rq=1)
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat