我一直在尝试使用 cron 作业将日期和本地 IP 写入 ubuntu 中的文件。这是我尝试过的:
echo date >> /home/ccpadmin/dls/ip.txt | echo ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}' >> /home/ccpadmin/dls/ip.txt | echo "\r\n" >> /home/ccpadmin/dls/ip.txt
但是换行符不起作用,并且文件中没有日期。请帮忙。
答案1
echo "$(date) $(ip addr list eth0 | \
awk -F'[ /]+' '$2=="inet"{print $3}')" >> your_file
ip
输出比 更容易解析ifconfig
。如果你想记录更多的东西,这种方式很快就会变得非常混乱。考虑将数据放入变量中,然后格式化输出:
log_file=...
log_date="$(date '+%Y/%m/%d %H:%M:%S')"
log_ip="$(ip addr list eth0 | awk -F'[ /]+' '$2=="inet"{print $3}')"
log_...=...
echo "$log_date $log_ip $log..." >> "$log_file"
答案2
echo -n $(date) >> /home/ccpadmin/dls/ip.txt ; echo -n " " >> /home/ccpadmin/dls/ip.txt ; echo `ifconfig eth0 2>/dev/null|awk '/inet addr:/ {print $2}'|sed 's/addr://'` >> /home/ccpadmin/dls/ip.txt