• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Problem mit Bash script (newbie!)

SeriousK

Member
Ich habe hier dieses script geschreiben um nen Backup auf einen ftp server zu machen!

Code:
#! /bin/sh
tar cfvz test.tar.gz tmp/ /home/seriousk/Documents/Webpages
ftp -in <<EOF
open cohaso.net
user USERNAME PASSWORT
bin
hash
prompt
cd /backup
dele test.tar.gz
put test.tar.gz

was ja auch fast geht!
nur leider wird die test.tar.gz auf dem Desktop (da wo das script liegt) erstellt und dann erst auf den server kopiert!

Das hier sagt die shell:
seriousk@linux:~/Desktop> ./backup.sh
tar: tmp: Kann stat nicht ausführen.: Datei oder Verzeichnis nicht gefunden
tar: Removing leading `/' from member names
/home/seriousk/Documents/Marc/Webpages/
/home/seriousk/Documents/Marc/Webpages/Imgup/
/home/seriousk/Documents/Marc/Webpages/Imgup/log/
/home/seriousk/Documents/Marc/Webpages/Imgup/links.php~
/home/seriousk/Documents/Marc/Webpages/Imgup/files/
/home/seriousk/Documents/Marc/Webpages/Imgup/kon.php~
/home/seriousk/Documents/Marc/Webpages/Imgup/kon.php
/home/seriousk/Documents/Marc/Webpages/Imgup/faq.php~
/home/seriousk/Documents/Marc/Webpages/Imgup/display.php
/home/seriousk/Documents/Marc/Webpages/Imgup/display.tpl
/home/seriousk/Documents/Marc/Webpages/Imgup/faq.php
/home/seriousk/Documents/Marc/Webpages/Imgup/index.php~
/home/seriousk/Documents/Marc/Webpages/Imgup/thumb_files/
/home/seriousk/Documents/Marc/Webpages/Imgup/tos.php
/home/seriousk/Documents/Marc/Webpages/Imgup/im.php
/home/seriousk/Documents/Marc/Webpages/Imgup/index.php
/home/seriousk/Documents/Marc/Webpages/Imgup/tos.php~
/home/seriousk/Documents/Marc/Webpages/Imgup/im.php~
/home/seriousk/Documents/Marc/Webpages/Imgup/links.php
/home/seriousk/Documents/Marc/Webpages/Imgup/php.tpl
/home/seriousk/Documents/Marc/Webpages/Imgup/img.php
/home/seriousk/Documents/Marc/Webpages/Imgup/display.php~
/home/seriousk/Documents/Marc/Webpages/Imgup/display.tpl~
tar: Fehler beim Beenden, verursacht durch vorhergehende Fehler.
Connected to cohaso.net.
220 ProFTPD 1.2.10 Server ready.
331 Password required for USERNAME.
230 User USERNAME logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
200 Type set to I
Hash mark printing on (1024 bytes/hash mark).
Interactive mode on.
250 CWD command successful
550 test.tar.gz: No such file or directory
local: test.tar.gz remote: test.tar.gz
229 Entering Extended Passive Mode (|||43800|)
150 Opening BINARY mode data connection for test.tar.gz
########
226 Transfer complete.
9131 bytes sent in 00:00 (14.89 KB/s)
221 Goodbye.

nur ich möchte das die test.tar.gz in den tmp ordner kommt und dort am besten gleich gelöcht wird!!

auserdem sind dort irgendwie noch fehler :(

also erstellen >> hochladen >> die local erstellte tar.gz löschen!

sorry bin noch nen newbie in sachen Bash :p
 

TeXpert

Guru
erst mal Sicherheit: willst Du das Dingen nichtlieber per scp verschlüsselt kopieren?

dann
Code:
tar cfvz test.tar.gz tmp/ /home/seriousk/Documents/Webpages
erzeugt die Datei test.tar.gz in dem aktuellen Verzeichnis und will AKTUELLERPFAD/tmp und /home/seriousk/Documents/Webpages hinzufügen.

wenn ich Dich richtig verstehe, willst Du /home/seriousk/Documents/Webpages speichern in /tmp/test.tar.gz dann sag das :) --> man tar

Code:
#! /bin/sh
tar cfvz /tmp/test.tar.gz /home/seriousk/Documents/Webpages
ftp -in <<ENDE
open cohaso.net
user USERNAME PASSWORT
bin
hash
prompt
cd /backup
dele test.tar.gz
put test.tar.gz 
quit
ENDE
rm /tmp/test.tar.gz
(ich hoffe dass der proftpd quit versteht.. sonst entsprechend ändern)
 
OP
SeriousK

SeriousK

Member
irgendwie fungst das ned :(

seriousk@linux:~/Desktop> ./backup.sh
tar: Removing leading `/' from member names
/home/seriousk/Documents/Marc/Webpages/
/home/seriousk/Documents/Marc/Webpages/Imgup/
/home/seriousk/Documents/Marc/Webpages/Imgup/log/
/home/seriousk/Documents/Marc/Webpages/Imgup/links.php~
/home/seriousk/Documents/Marc/Webpages/Imgup/files/
/home/seriousk/Documents/Marc/Webpages/Imgup/kon.php~
/home/seriousk/Documents/Marc/Webpages/Imgup/kon.php
/home/seriousk/Documents/Marc/Webpages/Imgup/faq.php~
/home/seriousk/Documents/Marc/Webpages/Imgup/display.php
/home/seriousk/Documents/Marc/Webpages/Imgup/display.tpl
/home/seriousk/Documents/Marc/Webpages/Imgup/faq.php
/home/seriousk/Documents/Marc/Webpages/Imgup/index.php~
/home/seriousk/Documents/Marc/Webpages/Imgup/thumb_files/
/home/seriousk/Documents/Marc/Webpages/Imgup/tos.php
/home/seriousk/Documents/Marc/Webpages/Imgup/im.php
/home/seriousk/Documents/Marc/Webpages/Imgup/index.php
/home/seriousk/Documents/Marc/Webpages/Imgup/tos.php~
/home/seriousk/Documents/Marc/Webpages/Imgup/im.php~
/home/seriousk/Documents/Marc/Webpages/Imgup/links.php
/home/seriousk/Documents/Marc/Webpages/Imgup/php.tpl
/home/seriousk/Documents/Marc/Webpages/Imgup/img.php
/home/seriousk/Documents/Marc/Webpages/Imgup/display.php~
/home/seriousk/Documents/Marc/Webpages/Imgup/display.tpl~
Connected to cohaso.net.
220 ProFTPD 1.2.10 Server ready.
331 Password required for v154413.
230 User v154413 logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
200 Type set to I
Hash mark printing on (1024 bytes/hash mark).
Interactive mode on.
250 CWD command successful
550 test.tar.gz: No such file or directory
local: test.tar.gz remote: test.tar.gz
ftp: local: test.tar.gz: No such file or directory
221 Goodbye.
 

TeXpert

Guru
gloar:

Code:
put /tmp/test.tar.gz

aber büdde auch versuchen zu verstehen ;) sonst kann ich Dir ja sonst was unterschieben .... (und da fällt mir schon was gemeines ein :p)
 
OP
SeriousK

SeriousK

Member
bin ich doof oder was geht ab?? :shock:

#! /bin/sh
tar cfvz /tmp/test.tar.gz /home/seriousk/Documents/Marc/Bilder <==erstellt das tar.gz in /tmp/
ftp -in <<ENDE <== startet ftp
open cohaso.net <== öffnet adresse
user xxxxxx xxxxx <== Login
bin <== Transfer mode
hash <== fürg irgend ein hash hinzu
prompt <== ??
cd /backup <== wächselt in /backup
dele test.tar.gz <== löscht vorhandenes test.tar.gz
put /tmp/test.tar.gz <== uppt das oben erstellt tar.gz aus /tmp/
quit <== schliest ftp
ENDE <== Ende ;)
rm /tmp/test.tar.gz <== löcht test.tar.gz im /tmp/ ordner

nur leider fungst das einfach nicht.....habe es aber verstanden ;)
 
Oben