Dateinamen in ftp - automatisch einsetzen ?
Dateinamen in ftp - automatisch einsetzen ?
Mein Problem :
Ich bin der Nutzer 123 auf meinem System.
Jetzt habe ich ein shell-Skript, welches mir eine Datei versenden soll.
...
put /root/test/123.txt 123.txt
...
Dateiname und user sollen gleich sein.
Wenn ich jetzt ein andere User bin bsp 456, dann soll die Datei 456.txt heissen.
wie bekomme ich das hin ?
Ich bin der Nutzer 123 auf meinem System.
Jetzt habe ich ein shell-Skript, welches mir eine Datei versenden soll.
...
put /root/test/123.txt 123.txt
...
Dateiname und user sollen gleich sein.
Wenn ich jetzt ein andere User bin bsp 456, dann soll die Datei 456.txt heissen.
wie bekomme ich das hin ?
Zuletzt geändert von Tobiax am 10.08.2004 10:32:32, insgesamt 1-mal geändert.
Du musst in deinem Skript die Umgebungsvariable $USER auswerten.
eagle
Code: Alles auswählen
echo $USER "ist doof"
"I love deadlines. I love the whooshing sound they make as they fly by." -- Douglas Adams
Das Beispiel war nur ein Scherz . Deine Zeile mit dem put sollte dann so lauten:Tobiax hat geschrieben:wie lauten denn die Zeilen ? Besonder die mit dem put
Code: Alles auswählen
put /root/test/$USER.txt $USER.txt
"I love deadlines. I love the whooshing sound they make as they fly by." -- Douglas Adams
- rotwein
- Beiträge: 619
- Registriert: 03.06.2003 12:22:51
- Wohnort: Altdorf (bei Nürtingen -> bei Stuttgart)
An Datum + Zeit kommst Du mit dem Befehl
Gruß rotwein
Code: Alles auswählen
date
Code: Alles auswählen
#!/bin/sh
DATE=`date -I'
cp myfile $USER\_$DATE.txt
eagle
"I love deadlines. I love the whooshing sound they make as they fly by." -- Douglas Adams
- rotwein
- Beiträge: 619
- Registriert: 03.06.2003 12:22:51
- Wohnort: Altdorf (bei Nürtingen -> bei Stuttgart)
Vielleicht script so ändern, dass zuerst in einem temp-Verzeichniss eine Datei $USER.txt angelegt wird (lokal). Hier müsste die Ersetzung funktionieren.
Danach diese Datei nehmen und übertragen.
Temp-Datei löschen.
bzw:
-zuerst leere Datei anlegen
-danach diese Datei füllen
-gefüllte Datei verschicken
-leeren Dummy löschen
Beim lokalen anlegen sollte $USER eigentlcih auf jeden fall ersetzt werden.
Was man auch noch probieren könnte (im Script) oder so ähnlich und dann mit dieser Scriptinternen Variablen 'MyUser' weiterarbeiten...
Naja, maybe, kenn mich beim Scripten nicht so aus
Gruß rotwein
Danach diese Datei nehmen und übertragen.
Temp-Datei löschen.
bzw:
-zuerst leere Datei anlegen
-danach diese Datei füllen
-gefüllte Datei verschicken
-leeren Dummy löschen
Beim lokalen anlegen sollte $USER eigentlcih auf jeden fall ersetzt werden.
Was man auch noch probieren könnte (im Script)
Code: Alles auswählen
MyUser=$USER
Naja, maybe, kenn mich beim Scripten nicht so aus
Gruß rotwein
- pdreker
- Beiträge: 8298
- Registriert: 29.07.2002 21:53:30
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Nürnberg
Du wirst die Sache ja aus einem Shell Skript heraus lösen müssen...
Also: "apt-get install ncftp". Da drin befindet sich ein Programm ncftpput, mit dem Du aus dem Shell Skript direkt Dateien per FTP versenden kannst. Dann kannst Du in dem Skript z.B. folgendes machen:
Da das ganze dann in der Shell abläuft gehen auch die Variablensubstitutionen.
Patrick
Also: "apt-get install ncftp". Da drin befindet sich ein Programm ncftpput, mit dem Du aus dem Shell Skript direkt Dateien per FTP versenden kannst. Dann kannst Du in dem Skript z.B. folgendes machen:
Code: Alles auswählen
ncftpput -u $USER -p PASSWORT remote.ftp.server.tld /pfad/zum/zielverzeichnis $USER.txt
Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de
Jabber: pdreker@debianforum.de