Ich brauche ein Shellskript, welches ein Verzeichnis (/home/c++) auf einen ftp server lädt (ftp://geekorama.org/httpdocs/c++).
Wie kann ich so etwas realisieren? Für Tipps wäre ich sehr dankbar.
Lokales Verzeichniss auf FTP Server mirroren
Anmeldungsdatum: Beiträge: 13 |
|
Ehemalige
![]() Anmeldungsdatum: Beiträge: 2169 |
In die Datei $HOME/.netrc (des Benutzers, der das FTP-Skript dann regelmäßig ausführen wird) folgendes eintragen: machine <host.domain.top-level-domain> login <benutzername> password <passwort> Die Datei darf nur für den Benutzer selbst lesbar und schreibbar sein (600). Dann brauchst du das Passwort nicht in das Skript zu schreiben. #!/bin/bash cd /home/ ftp host.domain.top-level-domain ... # und nun deine commands, je nachdem, was du erreichen willst, dazu kannst du die ftp-manpage lesen
#!/bin/bash cd /home tar -cvzf c++.tar.gz c++/ ftp host.domain.top-level-domain << EOF put c++.tar.gz EOF Auf der Gegenseite dann entpacken. Oder wenn alle Dateien im Verzeichnis c++ sind, dann geht auch etwas in dieser Art #!/bin/bash cd /home/c++/ ftp host.domain.top-level-domain << EOF mput * EOF
Dejan |
(Themenstarter)
Anmeldungsdatum: Beiträge: 13 |
Danke! Das Skript funktioniert in folgender Form: #!/bin/bash cd /home/digifreax/c++/ ftp -i domain << EOF cd httpdocs cd c++ mput * EOF |
Ehemalige
![]() Anmeldungsdatum: Beiträge: 2169 |
Bitte schön! Jetzt solltest du nur noch den Thread als gelöst markieren 😉 |
Anmeldungsdatum: Beiträge: 556 |
Hi, habe auch das gleiche Anliegen, nur möchte ich das Script portabel haben. Habe es jetzt mit Ruby gelöst, weil nur das im WIKI steht, wie kann ich das aber so mit Bash machen, das Username und Passwort in der gleichen Datei stehen? Wenn ich Bilder hochladen muss ich den Modus auch noch auf "binary" stellen oder? |
Ehemalige
![]() Anmeldungsdatum: Beiträge: 2169 |
gummibaerchen hat geschrieben:
|
Anmeldungsdatum: Beiträge: 556 |
dehru hat geschrieben:
Darauf bin ich auch schon gekommen\^^ Habe auch 2 Dinge, die theoretisch laufen sollten, es aber aus irgendeinem Grund nicht tun. Naja ich werd mal weiter gucken. |
Ehemalige
![]() Anmeldungsdatum: Beiträge: 2169 |
gummibaerchen hat geschrieben:
Was läuft denn nicht? Fehlermeldung? |
Anmeldungsdatum: Beiträge: 556 |
Hmm so connect schein zu gehen. Fehlermeldung lautet: |
Ehemalige
![]() Anmeldungsdatum: Beiträge: 2169 |
gummibaerchen hat geschrieben:
Schreibrechte auf dem Zielrechner bzw. Quell-Rechner, kein freier Platz mehr, ... je nachdem ob du get oder put machst! |