Ich verstehe nicht, wie ein Befehl zu strukturieren, dass mein IP-Ausgänge + Datum und einen Zeilenumbruch, so etwas wie diesSchreib IP + Datum in eine Textdatei + eine Linie
wget -qO- http://ipecho.net/plain ; echo ; date >> ip_log
Ich verstehe nicht, wie ein Befehl zu strukturieren, dass mein IP-Ausgänge + Datum und einen Zeilenumbruch, so etwas wie diesSchreib IP + Datum in eine Textdatei + eine Linie
wget -qO- http://ipecho.net/plain ; echo ; date >> ip_log
Vielleicht so mit zwei Linien:
wget -qO- http://ipecho.net/plain >> ip_log
date >> ip_log
Oder so Datei zu öffnen, nur einmal:
{
wget -qO- http://ipecho.net/plain
date
} >> ip_log
Hoffe, es hilft
Ok, also das ist es: Protokolliert die IP + Datum & lädt sie auf einen FTP-Server
#!/bin/bash
now=$(date)
ip=$(wget -qO- http://ipecho.net/plain;echo)
printf "$ip AT $now \n" >> ip_log
### declare variables for the server
HOST='hostname.com'
USER="ftpuser"
PASSWD="ftppwd"
FILE="ip_log"
REMOTEPATH='/'
### upload it to server
ftp -p -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
cd $REMOTEPATH
put $FILE
quit
END_SCRIPT
exit 0
definetly, das hilft, aber ich frage mich, wie es in 1 Zeile nur zu setzen, von einem der Parameter übergeben Befehl an einen anderen. Ihr Weg funktioniert zwar, aber es öffnet die Datei zweimal zu schreiben. ist es nötig ? :) –