Chinaunix首页 | 论坛 | 博客
  • 博客访问: 41123
  • 博文数量: 23
  • 博客积分: 855
  • 博客等级: 准尉
  • 技术积分: 209
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-04 15:52
个人简介

一个吊儿郎当的IT老菜鸟。

文章分类

全部博文(23)

文章存档

2020年(1)

2019年(1)

2011年(9)

2009年(12)

我的朋友

分类:

2011-04-23 23:14:55

对ubuntu server实现远程开机的方法

作者:小岗    2010-9-1

操作环境:ubuntu 10.04 server edtion
首先,你的网卡支持网络唤醒功能,当然,现在大部分网卡都是支持网络唤醒的功能。检查你的网卡是否支持网络唤醒功能,只要在被远程开机的机器上执行 ethtool 命令,查看该机器网卡是否支持网络唤醒功能的命令如下(以下操作在远程主机上进行):
$ sudo ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: g [ 提示: g 表示已启动. d 表示禁用 ]
Current message level: 0×00000001 (1)
Link detected: yes

如果网络唤醒功能被禁用,则需要用下面的命令激活网络唤醒功能:

$ sudo ethtool -s eth0 wol g


获取远程机器网卡的物理地址:

$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:16:k5:64:A9:68 [ Mac地址 ]
inet addr:192.168.6.56 Bcast:192.168.6.255 Mask:255.255.255.0
54com.cn
inet6 addr: fe80::216:17ff:fe6b:289/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3179855 errors:0 dropped:0 overruns:0 frame:0
TX packets:2170162 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3832534893 (3.5 GB) TX bytes:390304845 (372.2 MB)
Interrupt:17

记下网卡MAC地址。

本地主机安装网络唤醒软件:

$sudo apt-get install wakeonlan

通过以下命令,实现远程开机:
$ wakeonlan 00:16:k5:64:A9:68

注:通过实验发现,每次需要被远程开机的主机一旦关闭,网卡的wol设置就会被还原为d,那么怎么样才能让主机关机的时候激活网卡的wol设置呢?在网上查的资料都是在redhat系列下的方法,那些方法在ubuntu下不起作用。因些通过探索,在ubuntu下我是通过以下方法来实现在的:

首先,写一个小的脚本,输入命令:

$vi sd                  /*这一步是需要在远程主机上操作的。*/

接下来在文本文件中输入以下内容(如果你不知道怎么用VI编辑器,那么当你输入以上命令之后,直接按键盘上的 a 键既可)

/usr/sbin/ethtool -s eth0 wol g

shutdown -h now

接下来按ESC,再连续输入:wq 进行保存。

通过以下命令进行文件可执行化操作:

$chmod 755 sd

然后,将其复制到/sbin文件夹。

$sudo mv sd /sbin

这样每次就可以在命令行下直接输入 sudo sd 来进行关机了。如果你像我一样是追求完美的,你可以通过以下命令将sd文件改为root名下的:

$sudo shown root:root /sbin/sd

在本地主机上要想远程启动远程服务器,必须输入:wakeonlan 00:16:k5:64:A9:68 命令,那么你可以通过以下方法来减化操作:(以下操作都是在本地主机上进行

在桌面环境下新建一个文本文件,命名为 wakeupcomputer

在文本里输入以下内容:

wakeonlan 00:16:k5:64:A9:68

保存,退出。

进行文件可执行化操作:

$chmod 755 wakeupcomputer

然后将其移到到 /usr/local/bin文件夹

$sudo mv wakeupcomputer /usr/local/bin

(如果你高兴,也可以通过以下命令将wakeupcomputer文件改为root名下的:

$sudo shown root:root /usr/local/bin/wakeupcomputer

)

现在,你可以在远程主机未启动的情况下,在本地主机命令行下输入以下命令

$wakeupcomputer

来实现自动远程启动远程主机了。

参考来源: IT知道网()                                  《》
阅读全文
类别:Linux 查看评论
阅读(281) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~