Ich habe zum Beispiel Datenbank-Backups auf meinem Linux-Server und möchte ein Skript schreiben, um es auf Remote-FTP hochzuladen. Ich habe es versucht put
Befehl, aber es kann nur eine Datei gleichzeitig übertragen. Dann habe ich den Befehl mput ausprobiert, aber er zeigt mir nur Fragezeichen für Dateien an, die ich übertragen möchte (vielleicht verwende ich ihn falsch? ..)
Ich habe es versucht:
#!/bin/bash
ftp -n <<EOF
open ftp.server.com
user name password
cd backup
mput /backup/*
EOF
Aber es wird nicht funktionieren. Es gibt Namen von Dateien aus, die ich übertragen möchte, mit Fragezeichen am Ende der Namen. Vermisse ich etwas oder gibt es vielleicht einen einfacheren Weg?
-bash: ncftp: command not found
. Im Installationsprotokoll heißt es, dass es erfolgreich installiert wurde, aber ich sah auch Warnungen wie diese - "insserv: warning: script 'NcFTPd' fehlende LSB-Tags und überschreibt insserv: Es gibt eine Schleife zwischen service redmine und NcFTPd, wenn insserv: loop gestoppt wurde, die den Dienst NcFTPd betrifft at depth 2 insserv: Schleife mit Service Redmine at depth 1 insserv: Das Stoppen von NcFTPd hängt von Redmine und damit von der Systemeinrichtung "$ all" ab, was nicht wahr sein kann! "Eine andere Alternative könnte sein, zu verwenden CurlFtpFS , ein FUSE-Dateisystemtreiber, der einen FTP-Host als bereitgestelltes Verzeichnis bereitstellt (mit dem Sie mit normalen Tools auf diese Dateien zugreifen können, einschließlich
cp
). Ich weiß nicht, wie gut es funktioniert, aber von einem schnellen googeln sieht es sehr vielversprechend aus. CurlFtpFS geht weiter zurück als FUSE, sollte also stabil sein.Um es zu verwenden, installieren Sie das entsprechende Paket für Ihre Distribution (zum Beispiel verwenden Arch und Debian den Paketnamen
curlftpfs
), laden Sie diefuse
Modul undsudo curlftpfs ftp.example.com /mnt/ftp/ -o user=username:password,allow_other
Ersetzen Sie die entsprechenden Werte für Servername, Einhängepunkt, Benutzername und Kennwort.Es gibt weitere Details auf der verlinkten Seite, aber das sollte Ihnen den Einstieg erleichtern.
quelle
Du könntest lftp benutzen
quelle