https://morvanzhou.github.io
背景:搞一些Nginx的扩展啥的都用那个hiredis进行静态编译后,编译进Nginx,这儿先研究一下这个Redis的C连接认证以及取数据先。

代码@/usr/local/src/hiredis:

编译一下:
gcc redisTest.c /home/test/rpmbuild/BUILD/ngx_http_monitor_module-2.2.0/hiredis/libhiredis.a -I/home/test/rpmbuild/BUILD/ngx_http_monitor_module-2.2.0/
关于头文件之 linux下C include搜索的路径:http://blog.csdn.net/chosen0ne/article/details/7210946
编译静态的resis静态链接库make static,别make 会生成动态连接库,如果只指定 -L路径,会弄成了动态编译,有依赖SO的情况,静态文件大点无所谓了:
  cd hiredis
  make clean
  make static
静态编译出来就是这样的:
ldd a.out
        linux-vdso.so.1 =>  (0x00007ffeec95e000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003771400000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003771000000)

执行:
./a.out
Connect to redisServer Success
Authentication success
Succeed to execute command[set stest1 value1]
The length of 'stest1' is 6.
Succeed to execute command[strlen stest1]
The value of 'stest1' is value1
Succeed to execute command[get stest1]
Succeed to execute command[get stest2]


参考:http://blog.csdn.net/mniwc/article/details/12851837
outlook2013怎么配置提醒对方查察回覆邮件?有时候给对方发邮件的时候,但愿能在邮件到期之前查察,这时候我们就可以在发邮件的时候配置邮件提醒,详细的配置进程请看下文具体先容

用outlook给收件人发邮件,有时候但愿到期之前再次提醒对方查察回覆邮件,该怎么配置呢?如何通过outlook2013配置邮件回覆到期提醒。

From:http://m.jb51.net/softjc/412733.html
背景:有的人一台服务搞好几个PHP版本,麻烦,建议用Docker隔离~
由于系统环境变量之前同事安装的laravel是5.1...php默认的环境变量是:

不想破话原有环境变量,因为现在新的项目是laravel5.4.。。所以在用默认composer require安装时提示php版本过低滴问题
问题是这样滴:

默认composer安装会调用原来的php5.5环境变量,所以这里安装会出现兼容问题
新项目使用的是php7.1

那么如何在多个php版本中互不干扰安装composer呢,折腾了半个多小时,
现在说下解决办法吧:
1:下载composer.phar,官网有直接下载的链接,https://getcomposer.org/download/

2:composer.phar 复制到项目根目录,比如我的是:/home/www/web

3:执行 /usr/local/php7/bin/php composer.phar update (这里我的安装路径是/usr/local/php7/bin/php,不一定适合你额,请对号入座即可吧)

4:安装依赖包:/usr/local/php7/bin/php composer.phar require laravel/scout

OK,大功告成!


高效、有效、实效
狗是人类朋友,他为主人看家护院;如陌生人进入它的领地,它会狂吠;如果主人出来叫喊一声,它立马摇头摆尾蹲在一旁。 这里我也提醒养狗的主人,请为了大家安全;请看好你家的看门狗,一但咬伤人;你将负全责。

假如我们遇见狗(不是藏獒、牧羊犬烈犬,这类犬主人应用链子锁好)你千万别跑,你一跑它以为你是贼;狗眼看人它会毫不犹豫追你咬你;

如果你就地一蹲不动,捡一棍子或砖头,狗立马转身躲在一旁叫吠;你这时可以慢慢的离开,一段距离后;就安全了。请牢记:千万别跑!它毕竟是动物;它也怕揍。

农村人有这样一句俗话,狗怕摸,狼怕错,意思狗追你的时候,弯腰或者蹲下,它以为你拿地上的东西,要打它,它就跑了,这就是狗的天性。狼追你的时候,你停它停,你走它走,手中有树条的话。手一举起。狼夹着尾巴就跑了。这就是狼和狗的区别。特别主意的,一人进山,有狼的地方。带个鞭子最好。狼最怕举起手中的鞭子。
孩子发热了怎么办?只要孩子发热时精神不是很差,温度没超过39.5℃,家长也可以自己处理。
孩子发烧有个规律:如果发烧时手脚冰冷、面色苍白,则说明孩子的体温还会上升;而如果孩子手脚变暖,出汗了,就说明体温不会再上升。

家长遇到孩子发热时的处理方法有以下几种:
1.一岁半以内的婴幼儿,前囟门还未完全闭合,家长可以在孩子睡着后,用手心捂住孩子的前囟门,一直捂到孩子的头微微出汗,这时再看小婴儿,鼻子通了,呼吸平稳了,温度也降下来了。这时,家长再把宝宝叫醒,多给喂一些温开水或红糖水,宝宝很快就能恢复如初。我儿子一岁前有几次感冒发烧都是用这种方法治好的,最短的一次只用了15分钟,最长的一次捂了一个半小时,我的手都麻了,才见儿子头上冒汗。所以在给宝宝用手心捂前囟门时,家长千万不要着急,最好是由孩子爸爸来操作,男士的热量大,宝宝容易出汗。
2.多数孩子还是受凉感冒引起的发热,发热时手脚发冷、舌苔发白、面色苍白、小便颜色清淡,家长可以用生姜红糖水给孩子祛寒,效果是不错的,如果生姜红糖水里再加上2~3段切成一寸长的葱白,效果会更好。若孩子怕辣,可以在给孩子煮的稀饭里面加上两片生姜、两段葱、几滴醋,煮好后,去掉姜、葱,喂给孩子吃,能祛寒、发汗,退热的效果不错,孩子也愿意吃。家长可以一天给孩子喂2~3次,孩子退热后就不要加葱了,舌苔不再发白时,姜也可以不放。
3.如果孩子发烧时手脚不冷,但面色发红,咽喉肿痛,舌苔黄或红,小便颜色黄、气味重,眼睛发红,则说明孩子身体内热较重,就不能喝生姜红糖水了,家长应该让孩子大量喝温开水,也可以在水中加少量的盐,冲成淡盐开水给孩子喝,能消内热。孩子只有大量喝水,多解几次小便,让身体的内热随着尿液排出,体温才会下降,上火的症状也才会好转。

4.如果孩子白天、晚上都发热,则说明体内有内热或炎症,家长可以用苦瓜切成薄片,取10片,加水煮5~10分钟后给孩子喝,一天2~3次,到孩子白天不发热时,就不要再喝了。同时尽量给孩子多喝水,吃新鲜的水果,饮食要相对清淡,不能吃鱼、虾,只能吃其他肉类及蔬菜。
5.如果孩子白天体温正常,一到傍晚就升高,到早晨又退热,说明孩子发热是身体内寒重及亏虚引起的,这时仍要给孩子喝生姜红糖葱水,最好再配合艾叶水泡脚祛寒,而且可以让孩子喝肉汤和淡淡的鸡汤,固元膏可以一天吃2次,一次小半勺,给孩子及时补充营养,同时让孩子多喝水。


/etc/init.d/rpcbind start
Starting rpcbind:                                          [  OK  ]


From:http://www.huo119.com/post/738.shtm
下面这个没有用:http://jingshengsun888.blog.51cto.com/1767811/1169111

From:http://www.51niux.com/?id=118


背景: 一批老机器出现还没打开Nginx等负载就1了,一看是一个进程点用CPU几乎100%了,于是查了下网上,有这样一个说法。
kipmi0进程CPU占用率的问题

支持 IPMI 的服务器主板上运行 Linux,有的时候经常容易出现 top 命令列表中显示 kipmi0 进程的 CPU 占用接近 100%,禁用开机加载 IPMI 驱动才不会出现。

IPMI 驱动 CPU 占用说明
kipmi 导致的 CPU 使用增长是很常见的,这个硬件设备接口不是中断设备,所以驱动必须轮询设备的状态和消息。这个轮询显示成一个繁忙的CPU。



kipmi内核线程的优先级非常低(一般为 19),所以不会影响系统中的其他进程。甚至当轮询进入死循环(通常是它认为 BMC 有活跃事件需要它处理),它仍然会在任何进程需要CPU资源时放弃占用资源。

CPU通常视 kipmi0 内核线程为 IDLE 时间,kipmi0在没有其他任务运行时运行,并且是系统最低优先级的进程。

降低 CPU 占用的方法
可以通过以下方法使得 kipmi0 内核线程只使用 10% 的 CPU:

echo 100 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us
如果想使此改动永久生效,那可以修改 ipmi_si 内核模块的加载参数,例如增加 /etc/modprobe.d/ipmi.conf 配置文件:

# Prevent kipmi0 from consuming 100% CPU
options ipmi_si kipmid_max_busy_us=100


  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                    
  182 root      39  19     0    0    0 R 100.0  0.0  55364:09 kipmi0

实践是临时修改:
echo 100 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us
一会再看就会发现降下来了:
uptime
14:51:57 up 58 days, 22:50,  1 user,  load average: 0.00, 0.00, 0.12

来自:https://wiki.zohead.com/%E6%8A%80%E6%9C%AF/Linux/kipmi0%E8%BF%9B%E7%A8%8BCPU%E5%8D%A0%E7%94%A8%E7%8E%87%E7%9A%84%E9%97%AE%E9%A2%98.md
http://blog.chinaunix.net/uid-29179844-id-5173247.html
背景:做同步有Rsyncd,有配置版本的sersync,使用过,这儿介绍了一个新的东西:lsyncd,值得尝试。
参考:http://www.datura.me/2017/09/22/lsyncd%E5%AE%9E%E7%8E%B0%E6%96%87%E4%BB%B6%E7%9B%AE%E5%BD%95%E5%90%8C%E6%AD%A5%E7%AE%80%E8%A6%81%E8%AF%B4%E6%98%8E/
Sync里面是定义同步参数,指定默认以直接模式direct运行。Lsyncd支持rsync、rsyncssh、direct三种模式。
default.rsync,
sync{
    default.rsync, --default.rsyncssh,or default.direct,
    source ="/usr/local/src/aa",

实践如下:
mkdir -p /usr/local/lsyncd-2.1.5/etc/
mkdir -p /usr/local/lsyncd-2.1.5/var/
touch /usr/local/lsyncd-2.1.5/var/lsyncd.log      
chmod -R 777 /usr/local/lsyncd-2.1.5/var/lsyncd.log
chmod -R 777 /usr/local/lsyncd-2.1.5/var
tail -f /usr/local/lsyncd-2.1.5/var/lsyncd.log
Thu Oct 26 16:36:04 2017 Normal: recursive startup rsync: /backup/yum.qr.cntv.net/ -> /data/www/
Thu Oct 26 16:36:04 2017 Exec: /usr/local/rsync/bin/rsync [--delete] [--ignore-errors] [-gpzsoltD] [--bwlimit=2000] [-r] [/backup/yum.qr.cntv.net/] [/data/www/]


2.1 安装lsyncd
安装lsyncd极为简单,已经收录在ubuntu的官方镜像源里,直接通过apt-get install lsyncd就可以。
在Redhat系(我的环境是CentOS 6.2 x86_64 ),可以手动去下载 lsyncd-2.1.5-6.fc21.x86_64.rpm,但首先你得安装两个依赖yum install lua lua-devel。也可以通过在线安装,需要epel-release扩展包:

# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# yum install lsyncd
源码编译安装
从源码编译安装可以使用最新版的lsyncd程序,但必须要相应的依赖库文件和编译工具:yum install lua lua-devel asciidoc cmake。

从 googlecode lsyncd 上下载的lsyncd-2.1.5.tar.gz,直接./configure、make && make install就可以了。

从github上下载lsyncd-master.zip 的2.1.5版本使用的是 cmake 编译工具,无法./configure:

# uzip lsyncd-master.zip
# cd lsyncd-master
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lsyncd-2.1.5
# make && make install
我这个版本编译时有个小bug,如果按照INSTALL在build目录中make,会提示:

[100%] Generating doc/lsyncd.1
Updating the manpage
a2x: failed: source file not found: doc/lsyncd.1.txt
make[2]: *** [doc/lsyncd.1] Error 1
make[1]: *** [CMakeFiles/manpage.dir/all] Error 2
make: *** [all] Error 2
解决办法是要么直接在解压目录下cmake,不要mkdir build,要么在CMakeList.txt中搜索doc字符串,在前面加上${PROJECT_SOURCE_DIR}。

2.2 lsyncd.conf
下面都是在编译安装的情况下操作。

2.2.1 lsyncd同步配置
# cd /usr/local/lsyncd-2.1.5
# mkdir etc var
# vi etc/lsyncd.conf
settings {
    logfile      ="/usr/local/lsyncd-2.1.5/var/lsyncd.log",
    statusFile   ="/usr/local/lsyncd-2.1.5/var/lsyncd.status",
    inotifyMode  = "CloseWrite",
    maxProcesses = 7,
    -- nodaemon =true,
    }

sync {
    default.rsync,
    source    = "/tmp/src",
    target    = "/tmp/dest",
    -- excludeFrom = "/etc/rsyncd.d/rsync_exclude.lst",
    rsync     = {
        binary    = "/usr/bin/rsync",
        archive   = true,
        compress  = true,
        verbose   = true
        }
    }
到这启动 lsycnd 就可以完成实时同步了,默认的许多参数可以满足绝大部分需求,非常简单。

2.2.2 lsyncd.conf配置选项说明
settings
里面是全局设置,--开头表示注释,下面是几个常用选项说明:

logfile 定义日志文件
stausFile 定义状态文件
nodaemon=true 表示不启用守护模式,默认
statusInterval 将lsyncd的状态写入上面的statusFile的间隔,默认10秒
inotifyMode 指定inotify监控的事件,默认是CloseWrite,还可以是Modify或CloseWrite or Modify
maxProcesses 同步进程的最大个数。假如同时有20个文件需要同步,而maxProcesses = 8,则最大能看到有8个rysnc进程
maxDelays 累计到多少所监控的事件激活一次同步,即使后面的delay延迟时间还未到
sync
里面是定义同步参数,可以继续使用maxDelays来重写settings的全局变量。一般第一个参数指定lsyncd以什么模式运行:rsync、rsyncssh、direct三种模式:

default.rsync :本地目录间同步,使用rsync,也可以达到使用ssh形式的远程rsync效果,或daemon方式连接远程rsyncd进程;
default.direct :本地目录间同步,使用cp、rm等命令完成差异文件备份;
default.rsyncssh :同步到远程主机目录,rsync的ssh模式,需要使用key来认证
source 同步的源目录,使用绝对路径。
target 定义目的地址.对应不同的模式有几种写法:
/tmp/dest :本地目录同步,可用于direct和rsync模式
172.29.88.223:/tmp/dest :同步到远程服务器目录,可用于rsync和rsyncssh模式,拼接的命令类似于/usr/bin/rsync -ltsd --delete --include-from=- --exclude=* SOURCE TARGET,剩下的就是rsync的内容了,比如指定username,免密码同步
172.29.88.223::module :同步到远程服务器目录,用于rsync模式
三种模式的示例会在后面给出。
init 这是一个优化选项,当init = false,只同步进程启动以后发生改动事件的文件,原有的目录即使有差异也不会同步。默认是true
delay 累计事件,等待rsync同步延时时间,默认15秒(最大累计到1000个不可合并的事件)。也就是15s内监控目录下发生的改动,会累积到一次rsync同步,避免过于频繁的同步。(可合并的意思是,15s内两次修改了同一文件,最后只同步最新的文件)
excludeFrom 排除选项,后面指定排除的列表文件,如excludeFrom = "/etc/lsyncd.exclude",如果是简单的排除,可以使用exclude = LIST。
这里的排除规则写法与原生rsync有点不同,更为简单:
监控路径里的任何部分匹配到一个文本,都会被排除,例如/bin/foo/bar可以匹配规则foo
如果规则以斜线/开头,则从头开始要匹配全部
如果规则以/结尾,则要匹配监控路径的末尾
?匹配任何字符,但不包括/
*匹配0或多个字符,但不包括/
**匹配0或多个字符,可以是/
delete 为了保持target与souce完全同步,Lsyncd默认会delete = true来允许同步删除。它除了false,还有startup、running值,请参考 Lsyncd 2.1.x ‖ Layer 4 Config ‖ Default Behavior。
rsync
(提示一下,delete和exclude本来都是rsync的选项,上面是配置在sync中的,我想这样做的原因是为了减少rsync的开销)

bwlimit 限速,单位kb/s,与rsync相同(这么重要的选项在文档里竟然没有标出)
compress 压缩传输默认为true。在带宽与cpu负载之间权衡,本地目录同步可以考虑把它设为false
perms 默认保留文件权限。
其它rsync的选项
其它还有rsyncssh模式独有的配置项,如host、targetdir、rsync_path、password_file,见后文示例。rsyncOps={"-avz","--delete"}这样的写法在2.1.*版本已经不支持。

lsyncd.conf可以有多个sync,各自的source,各自的target,各自的模式,互不影响。

2.3 启动lsyncd
使用命令加载配置文件,启动守护进程,自动同步目录操作。

lsyncd -log Exec /usr/local/lsyncd-2.1.5/etc/lsyncd.conf

摘自:https://segmentfault.com/a/1190000002737213
如何使用zsh

如果是linux 系统,首先你需要安装 zsh

sudo yum install zsh
或者
sudo apt-get install zsh

来自:http://yijiebuyi.com/blog/b9b5e1ebb719f22475c38c4819ab8151.html
1、Linux 服务器因 CPU 温度过高自动重启
http://www.s2.cn/news.php?id=33

2、Linux服务器不明原因重启了,怎么查找原因
http://bbs.51cto.com/archiver/tid-861470.html

3、重启的信息可以通过
dmesg来看
系统的log一般都是记录在/var/log/messages里
命令:
cat /var/log/messages | grep 'reboot'

4、linux启动日志: /var/log/boot.log


实践如下:

[root@xiyou-vedio_encode_bj_sjs_10_71_11_22 ~]#  last reboot
reboot   system boot  2.6.32-696.6.3.e Mon Aug 14 10:37 - 10:41  (00:03)    
reboot   system boot  2.6.32-696.6.3.e Mon Aug 14 09:57 - 10:41  (00:43)    
reboot   system boot  2.6.32-696.6.3.e Mon Aug 14 08:58 - 10:41  (01:43)    
reboot   system boot  2.6.32-696.6.3.e Mon Aug 14 08:52 - 10:41  (01:48)    
reboot   system boot  2.6.32-696.6.3.e Mon Aug 14 08:36 - 10:41  (02:04)    
reboot   system boot  2.6.32-696.6.3.e Mon Aug 14 08:07 - 10:41  (02:34)


[root@xiyou-vedio_encode_bj_sjs_10_71_11_22 ~]# cal
     August 2017    
Su Mo Tu We Th Fr Sa
       1  2  3  4  5
6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31


linux启动日志: /var/log/boot.log
mount.nfs: rpc.statd is not running but is required for remote locking.
mount.nfs: Either use '-o nolock' to keep locks local, or start statd.
mount.nfs: an incorrect mount option was specified

来自:http://blog.sina.com.cn/s/blog_56d8ea900101cytr.html
问题:请编写一个JavaScript函数parseQueryString,它的用途是把URL参数解析为一个对象。

运行结果:
a c
eg:var obj=parseQueryString(url);

创建对象的三种形式:

一:
var Person=new Object();
Person.name="Sun";
Person.age=24;

二:
var Person=new Object();
Person["name"]="Sun";
Person["age"]=24;

三:
对象字面量表达式
var Person={
name: "Sun",
age: 24
}

PS:
1、在这个例子中,比较适合使用第二种形式,向obj中添加元素
2、split("&") , 如果url只有一个参数的时候,没有“&”的时候,也不会报错,只会返回array[0]
function parseQueryString(url) {
    var obj = {};
    var keyvalue = [];
    var key = "",
        value = "";
    var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&");
    for (var i in paraString) {
        keyvalue = paraString[i].split("=");
        key = keyvalue[0];
        value = keyvalue[1];
        obj[key] = value;
    }
    return obj;
}

以下介绍了JS根据key值获取URL中的参数值及把URL的参数转换成json对象,js通过两种方式获取url传递参数,代码
示例一:
//把url的参数部分转化成json对象
parseQueryString: function(url) {
     var reg_url = /^[^/?]+/ ? ([/w/W] + ) $ / ,
         reg_para = /([^&=]+)=([/w/W]*?)(&|$|#)/g,
         arr_url = reg_url.exec(url),
         ret = {};
     if (arr_url && arr_url[1]) {
         var str_para = arr_url[1],
             result;
         while ((result = reg_para.exec(str_para)) != null) {
             ret[result[1]] = result[2];
         }
     }
     return ret;
}
// 通过key获取url中的参数值
getQueryString: function(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) return unescape(r[2]);
    return null;
}
示例二:
js通过两种方法获取url传递参数:
js获取url传递参数方法一:
这里是一个获取URL带QUESTRING参数的JAVASCRIPT客户端解决方案,相当于asp的request.querystring,PHP的$_GET
函数:
function GetRequest() {
    var url = location.search; //获取url中"?"符后的字串
    var theRequest = new Object();
    if (url.indexOf("?") != -1) {
        var str = url.substr(1);
        strs = str.split("&");
        for (var i = 0; i < strs.length; i++) {
            theRequest[strs[i].split("=")[0]] = (strs[i].split("=")[1]);
        }
    }
    return theRequest;
}

然后我们通过调用此函数获取对应参数值:
var Request = new Object();
Request = GetRequest();
var 参数1,参数2,参数3,参数N;
参数1 = Request[''参数1''];
参数2 = Request[''参数2''];
参数3 = Request[''参数3''];
参数N = Request[''参数N''];
以此获取url串中所带的同名参数
js获取url传递参数方法二 正则分析法:
function GetQueryString(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) return (r[2]);
    return null;
}
alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));
其他参数获取介绍:
//设置或获取对象指定的文件名或路径。
alert(window.location.pathname);
//设置或获取整个 URL 为字符串。
alert(window.location.href);
//设置或获取与 URL 关联的端口号码。
alert(window.location.port);
//设置或获取 URL 的协议部分。
alert(window.location.protocol);
//设置或获取 href 属性中在井号“#”后面的分段。
alert(window.location.hash);
//设置或获取 location 或 URL 的 hostname 和 port 号码。
alert(window.location.host);
//设置或获取 href 属性中跟在问号后面的部分。
alert(window.location.search);

From:https://www.w3cschool.cn/json/1koy1piy.html
背景:用Linux的信号Signal实现发信号给进程,是一种进程间通讯的办法,主要用来重新加载配置、重启服务、杀死进程、进程间通讯等。
下面就是一个通过向进程发送Signal信号以该进程退出,重新起了一新的子进程,用到了kill -HUP PID,主要是学习HUP信号的C语言编码方法。


gcc 编译:
gcc nohup.c -o b.out

运行:
./a.out


ps aux|grep b.out
root      4919  0.0  0.1   4296  1328 pts/6    S+   20:22   0:00 ./b.out

kill -HUP 4919

#ps aux|grep b.out
root      4958  0.0  0.1   4296  1324 pts/6    S    20:23   0:00 ./b.out

From:http://www.jb51.net/article/37422.htm
用Win+R 打开运行界面,输入mmc:
点击在新窗口中浏览此图片
在打开的控制台界面,从菜单中选择“文件”-“添加或删除管理单元”,然后从“可用的管理单元”添加“远程桌面”到“所选的管理单元”中,点击“确定”:
点击在新窗口中浏览此图片
最后,右键点击“远程桌面”-“添加新连接”,输入需管理的客户端IP地址即可访问。
=======================================================================================

背景:10台Windows Server 2012上面装上盗版的Loadrunner,想假装很专业的做一下接口测试。要根据自己的32位还是64位下载安装后,那个控制面板里的打开和关闭Windows功能才有角色管理工具->远程桌面服务工具。

对于远程管理Windows 机器来说,远程连接可能是用得最频繁的。过去,我总是把远程连接保存为.rdp 文件,以方便双击后自动连接。如果有多台机器需要管理,可以放在某个目录中,但总觉得这样的方式很笨。直到今天,在客户现场,无意中发现MMC 中是可以加入“远程管理”功能的。回来找资料看了一下,觉得还不错,特适用于同时连接多台机器的情况。

一、界面
描述前,先给个使用界面看看吧:
点击在新窗口中浏览此图片
对于【附件】中的【远程桌面连接】(即mstsc.exe)来说,主要是管理更方便了,只需一个.msc 文件即能轻松打开管理窗口,并在多个连接窗口之间切换。屏幕分辨率可设定,但似乎没有提供全屏的功能。

二、安装及配置
该MMC 使用的远程桌面组件,实际上是服务器平台提供的功能,所以,在默认的桌面系统中是没有提供的,需要独立安装。以Windows 7为例,步骤有:
1、下载组件
从下面的连接中下载“Windows 7 远程服务器管理工具”:
点击:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=7d2f6ad7-656b-4313-a005-4e344e43997d#filelist

下载前,请留意页面中的说明,包括:
引用
a、仅可以安装在运行企业版、专业版或旗舰版 Windows 7 的计算机上;
b、安装管理工具包的计算机上 Administrators 组的成员;
c、根据运行版本不同,下载适用于x86或x86_64 平台的程;
d、下载后的包,后缀名为.msu,双击即可安装(若使用第三方工具下载,后缀名可能会被修改)。

2、远程桌面功能
安装完毕后,依次打开:“控制面板”-“程序和功能”-“打开或关闭Windows功能”-“远程服务器管理工具”-“角色管理工具”,勾选下面的“远程桌面服务工具”:
点击在新窗口中浏览此图片

3、在MMC中添加远程管理组件
用Win+R 打开运行界面,输入mmc:
点击在新窗口中浏览此图片
在打开的控制台界面,从菜单中选择“文件”-“添加或删除管理单元”,然后从“可用的管理单元”添加“远程桌面”到“所选的管理单元”中,点击“确定”:
点击在新窗口中浏览此图片
最后,右键点击“远程桌面”-“添加新连接”,输入需管理的客户端IP地址即可访问。

4、分辨率问题
创建连接后,右键点击该连接,选择“属性”,在“屏幕选项”中可设置分别率:
点击在新窗口中浏览此图片
建议使用“填充MMC 结果窗格”,确定后,通过工具栏上的图标,关闭多余的显示窗口:
点击在新窗口中浏览此图片
关闭MMC (保存为.msc 文件)。重新打开,即可满屏显示远程终端窗口。


摘自 :http://www.linuxfly.org/read.php?561
分页: 26/339 第一页 上页 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 下页 最后页 [ 显示模式: 摘要 | 列表 ]