Macro mit Variablen in .netrc

Apache, Lighttpd, nginx, Cherokee
mussprogen
Posts: 17
Joined: 2007-09-11 21:32

Macro mit Variablen in .netrc

Post by mussprogen » 2007-09-25 15:37

Also mein Problem!

Es geht hier um diese Zeile.

echo "$ backup ${BACKUP} ${BACKUP_FILE}" | lftp ${BACKUP_SERVER} >/dev/null

Es soll unter Suse 10.1 eine Backup gemacht werden. Dazu wird eine FTP-Verbindung zum BACKUP-Server hergestellt. des weiteren habe ich bei .netrc ein Macro namens backup definiert wo 2 Variablen bei put eingetragen sind. Diese Teile ich damit mit: echo "$ backup ${BACKUP} ${BACKUP_FILE}". Jedoch meint der Server beim Ausführen den Scriptes: Unknown command `$'. Das $ bezieht sich wohl auf das $ vor backup (Macro)
Ich hab aber keine Ahnung, warum das nicht geht. Muss das bei Suse 10.1 anders gemacht werden, oder wie?

mussprogen
Posts: 17
Joined: 2007-09-11 21:32

Re: Macro mit Variablen in .netrc

Post by mussprogen » 2007-09-25 15:50

matzewe01 wrote:Wer oder was sollte das Makro ausführen?


backup soll das macro ausführen, aber er soll die Variablen ${BACKUP} und ${BACKUP_FILE} mitnehmen, weil im Macro 2 Variablen drin sind.

mussprogen
Posts: 17
Joined: 2007-09-11 21:32

Re: Macro mit Variablen in .netrc

Post by mussprogen » 2007-09-25 15:53

matzewe01 wrote:Ok, anders gefragt: wer oder was soll das Macro interpretieren?


Das ist mein Macro:
macdef backup
put $1 $2

Es wird durch lftp ausgeführt.

mussprogen
Posts: 17
Joined: 2007-09-11 21:32

Re: Macro mit Variablen in .netrc

Post by mussprogen » 2007-09-25 16:06

Alles klar versuchen wir es anders. Wenn ich versuche das Macro auszuführen, dann kriege ich folgende Fehlermeldung: Unknown command `$'.

Ich will aber das Macro:
macdef backup
put $1 $2
ausführen, wenn ich lftp ausführe.

Wie schaffe ich das unter Suse 10.1?

Somit muss ich nicht rumspekulieren, was das Problem ist. So kennt jeder mein Ziel:)

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Macro mit Variablen in .netrc

Post by Joe User » 2007-09-25 16:24

Was soll das $ bewirken? Was passiert ohne $?

mussprogen
Posts: 17
Joined: 2007-09-11 21:32

Re: Macro mit Variablen in .netrc

Post by mussprogen » 2007-09-25 16:33

Joe User wrote:Was soll das $ bewirken? Was passiert ohne $?


also ohne $ bekomme ich die Fehlermeldung:
Unknown command `backup'.

mussprogen
Posts: 17
Joined: 2007-09-11 21:32

Re: Macro mit Variablen in .netrc

Post by mussprogen » 2007-09-25 17:26

matzewe01 wrote:Hier eine Anleitung, wie es richtig geht.
http://www.mavetju.org/unix/netrc.php
Gruss Matthias


Hmm also ich weiß nicht bei der Anleitung ist es genauso erklärt, wie ich es gemacht habe, aber scheint nicht zu funktionieren bei mir....

Ich denke das Problem ist, dass es bei SUSE 10.1 nicht so funktioniet:(

mussprogen
Posts: 17
Joined: 2007-09-11 21:32

Re: Macro mit Variablen in .netrc

Post by mussprogen » 2007-09-25 18:08

matzewe01 wrote:Doch, klappt wunderbar:

Code: Select all

echo "$ backup" | lftp ${BACKUP_SERVER} >/dev/null


Zudem muss das ./.netrc mit den Rechten 600 im Homedir des jeweiligen Benutzers liegen.

wie sieht denn die .netrc aus? und ist eine Leerzeile nach der Macrodefinition vorhanden?


also es liegt im home und die Rechte sind auch richtig gesetzt.

So sieht .netrc vollständig aus:
machine
login
password

macdef backup
put $1 $2
put $1.md5 $2.md5
quit
[leere Zeile]

Auch eine FTP-Verbindung klappt dadurch. Ich denke es liegt nicht an dieser Datei, sonder nur an der einen Zeile.

Welche Suse Version benutzt du denn?

mussprogen
Posts: 17
Joined: 2007-09-11 21:32

Re: Macro mit Variablen in .netrc

Post by mussprogen » 2007-09-26 01:28

matzewe01 wrote:

Code: Select all

machine backup.serverkompetenz.de
login Benutzername
password Password

macdef daily
 dir $1
 quit


Das script Dazu:

Code: Select all

#!/bin/bash
echo "$ daily 2007-09-19" | ftp backup.serverkompetenz.de


Da haben wir das Problem gefunden.
Deine Makro Datei ist nicht vollständig.
Servername Benutzername und passwort müssen vorhanden sein.

Ich verwende eine suse 10.1


Also wenn ich es so wie du machen, bekomme ich folgende Meldung:

Wrapper for lftp to simulate compatibility with lukemftp


bei mir muss auf jeden Fall lftp bin, aber wieso ich immer diese Fehlermeldung bekommen:(

Die FTP-Zugriffsdaten habe ich schon angegeben. Hab sie nur einfach ausgelassen;)

mussprogen
Posts: 17
Joined: 2007-09-11 21:32

Re: Macro mit Variablen in .netrc

Post by mussprogen » 2007-09-26 12:53

Also ich hab wieder bischen rumprobiert.

Ich hab jetzt sogar alle Variablen rausgelassen und fest definierte Dateien verwendet.

Somit sieht mein Upload befehl so aus:

Code: Select all

echo "$ backup" | lftp server.com


Jedoch bekomme ich immer noch die Fehlermeldung:

Code: Select all

Unknown command `$'.


Kann es sein, dass es an luke ftp liegt :?:

mussprogen
Posts: 17
Joined: 2007-09-11 21:32

Re: Macro mit Variablen in .netrc

Post by mussprogen » 2007-09-27 00:08

matzewe01 wrote:Ja, sieht ganz danach aus.
Soweit ich es noch erlesen konnte,


Hat jemand einen Tipp was ich machen kann, damit es trotzdem geht?
Vielleicht muss ich es nur umformulieren...