2013年12月15日星期日

mongodb数据库从库同步主库维护js脚本 - 李波的博客

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
mongodb数据库从库同步主库维护js脚本 - 李波的博客  阅读原文»

脚本是日常维护使用js脚本。适用于集群数目很多,手工操作很麻烦费时,所以写了自动脚本,在每个集群自动运行即可。
功能描述:检查本机的状态(主,从),确保从机始终从主机同步数据。
适用范围:repli set 副本集模式
运行脚本:mongo路径/mongo 10.0.0.1:30000 syncfrom.js
syncfrom.js 如下
1 /*
2 * check rs.status, replSetSyncFrom to Primary
3 *
4 * 20131216
5 */
6 function sleep(seconds) {
7 this.date = Math.round(new Date().getTime()/1000);
8 while(1) {
9 if(Math.round(new Date().getTime()/1000) - this.date >= seconds) break;
10 }
11 return true;
12 }
13 var status=rs.status();
14 print(status["myState"]);
15 var mystatus=status["myState"];
16 var syncingTo=status["syncingTo"];
17 print('syncto '+syncingTo);
18 members=status["members"];
19 if(mystatus==1)//primary
20 {
21 print('my status is primary... no need to replSetSyncFrom')
22 }
23 else if(mystatus==2)//secondary
24 {
25 print('my status is secondary...will start execute commmand "replSetSyncFrom" ')
26 for(var i=0;i<members.length;i++)
27 {
28 if(members["stateStr"]=="PRIMARY")
29 {
30 priname=members["name"]
31 print("primary: "+priname)
32 if(syncingTo==priname)
33 {
34 print("the host of SyncFrom is already Primary, no need to change")
35 }
36 else
37 {
38 print("start command...replSetSyncFrom")
39 db.adminCommand({replSetSyncFrom:priname})
40 sleep(5);
41 printjson(rs.status())
42 }
43 }
44 }
45 }
46 }


本文链接:http://www.cnblogs.com/mytech/p/3476394.html,转载请注明。

node-webkit入门 - 烟火_  阅读原文»

一、简介

  node-webkit 是一个基于chromium与node.js的应用程序运行器,它允许开发者使用web技术编写桌面程序。通过Node.js和WebKit技术的融合,开发者可以用HTML5技术编写UI,同时又能利用Node.js平台上众多library访问本地OS的能力,最终达到用Web技术就可以编写桌面应用的目的。它提供一个跨Windows、Linux、OS X平台下的客户端应用开发的底层框架,跟移动终端上的PhoneGap等项目的原理类似。node-webkit项目位于Github上。node-webkit特点如下:

  • 使用web技术开发,HTML5、CSS3、JS、WebGL。
  • 在网页中使用Node.js。
  • 跨平台运行,兼容Linux,Mac OSX和Windows。

二、实例

  node-webkit的下载地址如下:https://github.com/rogerwang/node-webkit。我们可以下载Windows、linux或Mac系统的版本。这里使用Windows版本的实例。

  1、下载Windows版本node-webkit,这里采用 的版本号是(v0.8.2 - Dec 6, 2013)。该包解压后有如下8个文件。

  

  其中nw就是我们运行程序的文件,其他的都是些动态链接库或相关文件。

  2、开始编写程序

   a、创建index.html文件,文件内容如下:

1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Hello World!</title>
5 </head>
6 <body>
7 <h1>Hello World!</h1>
8 We are using node.js <script>document.write(process.version)</script>.
9 </body>
10 </html>

    b、创建package.json文件,文件内容如下:

1 {
2 "name": "nw-demo",
3 "main": "index.html"
4 }

   c、将两个文件压缩成zip文件(这两个文件必须在zip文件的根目录下),重命名为app.nw。

   d、将app.nw文件拖到nw.exe,即可运行。运行结果如下图所示:


本文链接:http://www.cnblogs.com/always-online/p/3476308.html,转载请注明。

阅读更多内容

没有评论:

发表评论