这是一个不是问题的问题。因为我的测试机不能设置固定IP,每次长时间不开电,下次DHCP获得的IP就和上次不一样,此时又不能连上显示器去看,如何能让linux启动后自动告诉我们它的IP信息呢?想到几个方法:一是通过共享文件的方式,传递信息;二是通过邮件发送信息;三就是自己开发一个守护进程,通过客户端请求获取当前IP信息。前两个方式应该比较简单,试了试没有问题,第三种方式应该也不难,但是APUE的知识已经忘的差不多了,需要花些时间重温一下,印象中有一个timer示例,应该可以参考。今天先把前两种方式总结一下:
方法其实很简单,在系统启动时候执行自己的脚本,完成上述两工作,因为用的ubuntu,所以简单的修改一下/etc/rc.local,加上这一句
/bin/sh /etc/startup.sh
startup.sh是自己的启动脚本,内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#!/bin/sh ifconfig > /dev/null 2>&1 #echo $? if [ $? != 0 ] then sleep 100 else sleep 100 fi ifconfig > /tmp/ma_ip.txt #方法一,通过挂载windows的共享目录来拷贝IP信息 mount -t cifs -o username=yake,password=12345678,uid=1000,gid=1000 //192.168.1.109/h /media cp /tmp/ma_ip.txt /media/ma_ip.txt umount /media #方法二,通过邮件发送本地的IP信息 mail -s "IP|`date`" 2403055113@qq.com < /tmp/ma_ip.txt |
if判断可以不要,只是为了测试用的,根据自己的情况sleep一段时间就好。mail配置可以参考前一篇文章ubuntu配置smtp。