Sponsor-Board.de

Normale Version: Suche Bash Script.
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Community,

Ich bin auf der Suche nach einem Bash Script. Allerdings konnte ich im Web nichts finden was auf meine Anforderungen zutrifft, evtl. gibt es hier den ein oder anderen der so etwas hat oder es für ihn nicht viel aufwand ist.

Was ich benötige, ich benötige ein Script was in einem Ordner alle darin enthaltene Ordner packt. Auf einen Externen FTP hochlädt und die dort befindlichen alten Ordner wieder löscht damit nur die neusten Dateien dort sind.

Ich hoffe es ist verständlich erklärt.

Grüße
Als aller erstes empfehle ich dir curlftpfs. Damit kannst du den FTP-Server bzw. Ordner mounten. Das macht schon mal vieles leichter. Hier gibt's dazu ein HowTo: [Link: Registrierung erforderlich]

(ich hab meinen FTP-Server immer als /backup gemounted).

Das Bashscript selbst ist super simpel, da du ja den FTP-Server/Ordner gemounted hast.

Du benötigst lediglich ein "rm -rf /path/to/ftp/folders/*" und anschließend ein "cp -R /path/to/local/folders/* /path/to/ftp/folders/"

Könnte dann so aussehen:

Code:
rm -rf /path/to/ftp/folders/* && cp -R /path/to/local/folders/* /path/to/ftp/folders/


Ich hoffe, dass ich dir hiermit weiterhelfen konnte. Wenn nicht, meld dich einfach per PN.

Falls du den FTP Server nicht mounten möchtest, verwende so etwas in der Art:

Code:
#!/bin/sh
HOST='ftp.example.com'
USER='yourid'
PASSWD='yourpw'
FILE='file.txt'

ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
binary
put $FILE
quit
END_SCRIPT
exit 0


Falls du Unterstützung brauchst, gib Bescheid.

Grüße

Habe nun Folgendes Script:

#!/bin/sh
HOST='******'
USER='****'
PASSWD='*********'
FILE='/****/****/****/******/'

ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
binary
mput $FILE
quit
END_SCRIPT
exit 0

Leider gibt er mir das als error aus kann mir jemand sagen an was das liegen könnte?

SSL/TLS required on the control channel
SSL/TLS required on the control channel
SSL/TLS required on the control channel
mput /****/****/****/****/? /****/***/*****/****/: not a plain file.

Grüße
Dein Ziel-FTP-Server möchte die Verbindung über einen gesicherten Kanal herstellen so wie es aussieht. Entweder das Zertifikate des Ziel-Servers im Client verifizieren oder am Ziel-Server TLS abschalten wäre eine Lösung.

webcraft schrieb:
Dein Ziel-FTP-Server möchte die Verbindung über einen gesicherten Kanal herstellen so wie es aussieht. Entweder das Zertifikate des Ziel-Servers im Client verifizieren oder am Ziel-Server TLS abschalten wäre eine Lösung.


Danke für deine Antwort das Problem habe ich nun Gelöst mit der Verschlüsselung nur was bedeutet das?

mput /****/****/****/****/? /****/***/*****/****/: not a plain file.

Ordner struktur habe ich ausgeblendet.

Grüße

quiet!? schrieb:

webcraft schrieb:
Dein Ziel-FTP-Server möchte die Verbindung über einen gesicherten Kanal herstellen so wie es aussieht. Entweder das Zertifikate des Ziel-Servers im Client verifizieren oder am Ziel-Server TLS abschalten wäre eine Lösung.


Danke für deine Antwort das Problem habe ich nun Gelöst mit der Verschlüsselung nur was bedeutet das?

mput /****/****/****/****/? /****/***/*****/****/: not a plain file.

Ordner struktur habe ich ausgeblendet.

Grüße


Handelt es sich um einen Ordner? Falls ja, wenn er Unterordner hat, müssen diese manuell erstellt werden (rekursiv unterstützt der Befehl mput nicht). Ansonsten sind es wahrscheinlich Berechtigungsfehler, aber das ist nicht genau zu sagen, weil es eine generic error message ist.

Habe es nun doch über mount gemacht. Danke an alle!
Referenz-URLs