如果你正在使用elasticsearch服务,同时你又有而且仅有一台elasticsearch服务器的话,那么你会发现你的服务健康状态一直是yellow的,这很有可能是你elasticsearch中的index设置了复制,但你又没有多余的节点可以进行复制。

你可以通过elasticsearch-head插件来确认是否真的是复制的问题。在Overview页能看到很多index shards被标记为“Unassigned”,所以,对于只用一台elasticsearch做服务的话(想必也没人只用一台elasticsearch服务器做production的业务),我们完全可以把index的复制功能关掉。 继续阅读→

阅读全文

这两天遇到个需求,要在aws ec2服务器启动的时候自动挂载volume,同时把挂载的磁盘mount到指定的目录,这里就会遇到个问题,如果volume是新创建的,那么再挂载磁盘的时候就会报错,因为磁盘还没有被格式化过。那如果每次挂载前先对磁盘进行格式化,那么如果磁盘上本来有数据,那就都丢了。

这个时候,就需要对磁盘进行一个判断,如果磁盘已经有了分区类型,比如ext3或ext4,说明这块磁盘可以直接被mount而不用格式化,如果查不到分区类型,那就说明是块新盘,需要先格式化再挂载。 继续阅读→

阅读全文

今天蚊子遇上个小需求,要使用aws ec2的user-data让机器在启动的时候挂载一个已经存在的ebs volume,这样就需要在机器启动的时候知道自己当前机器的instance-id,其实办法也很简单,只需要安装一个包,运行一条命令就可以实现了

sudo apt-get install cloud-utils

然后运行如下命令

继续阅读→

阅读全文

screen命令想必linuxer都知道并用过,对于那些想要放在前台跑又不想在terminal关掉的时候退出的应用很有用,最近wenzi就遇到一个新需求,我在用aws的cloud-config配置服务器自启动执行脚本的时候,希望在机器初始化之后,紧接着就跑一个脚本。

而且这个脚本我又不想使用nohup的方式跑,于是乎我就想到了screen,经过查看manpage,果然找到了好办法,既能使用screen多次连接的功能,又可以用screen命令直接运行命令并自动退出会话 继续阅读→

阅读全文

MMDrawerController是一个iOS抽屉式导航控件,支持自定义的过渡动画(滑动,滑动和缩放等)来展示或者隐藏“抽屉”。官方网站:https://github.com/mutualmobile/MMDrawerController

看过MMDrawerController源码和demo的人应该都知道,通篇都是找不到一个storyboard文件或者xib文件的,所有功能实现都是代码。按讨论组里作者的意思,这样更容易在大型项目中使用,可是对于我们个人初中级的开发者来说就有些许的不方便了,大神级的人物完全可以忽略。 继续阅读→

阅读全文

sinatra,一个轻量级的ruby web框架。如果要写一个不怎么复杂的web小应用,使用这个就在适合不过了。

最近蚊子就自己尝试着写一个小应用,结果在使用mysql这块犯了愁,正常情况下,ruby程序调用mysql还是很容易的,只需要这样做就行了

继续阅读→

阅读全文

这两天用python写了一个删除指定目录下过期时间的脚本。也可能是我初学python,对python还不够熟习,总觉得这个脚本用shell写应该更简单也更容易些。

就功能上来说,该脚本已经实现了我想要的效果,不过该脚本还不够通用性,还有更多可以完善的地方。目前该脚本在python2.4下运行良好。同时,蚊子在脚本中加入了对python版本的判断,理论上2.7下也应该可以正常使用。有环境的朋友可以帮忙测试一下。

继续阅读→

阅读全文

linux at命令,用户使用linux at命令在指定时刻执行指定的命令序列。

在这里,蚊子不做具体详细的介绍。只是来说明一下,如何可以快速的添加一个at任务。

传统方式中,我看到的有3中

1,at 5pm /bin/ls -l /root >/tmp/ls.log

在当天下午5点执行ls命令。(注)此方法我一次没有实现过。

2,将/bin/ls -l /root >/tmp/ls.log语句写入/tmp/tmpjob,语句为:

at -f /tmp/tmpjob 5pm

继续阅读→

阅读全文