用于记录 IP 的单行命令

all*_*ory 0 logs shell-script timestamps ip-address

有没有办法用日期和时间写一些东西(在这种情况下是外部IP)并将其附加到文件中?是否可以在一行中完成?

我可以做这个:

curl ipinfo.io/ip >> ip.log
Run Code Online (Sandbox Code Playgroud)

这给了我这个:

$ cat ip.log
X.X.X.X
Run Code Online (Sandbox Code Playgroud)

但是,我希望日志阅读:

IP: X.X.X.X - 09/28/2017
IP: X.X.X.X - 09/29/2017
Run Code Online (Sandbox Code Playgroud)

αғs*_*нιη 5

printf "IP: %s - %s\n" $(curl --silent ipinfo.io/ip) $(date +"%m/%d/%Y")
Run Code Online (Sandbox Code Playgroud)

要在结果中包含时间,只需添加%T缩短的%H:%M:%S.

printf "IP: %s - %s\n" $(curl --silent ipinfo.io/ip) $(date +"%m/%d/%Y-%T")
Run Code Online (Sandbox Code Playgroud)

只需将其添加到 crontab 中即可获得所需的输出。

0 0 * * * printf "IP: %s - %s\n" $(curl -s ipinfo.io/ip) $(date +'\%m/\%d/\%Y') >>to-file
Run Code Online (Sandbox Code Playgroud)