鸡鸡哥的聪明伶俐的儿子和如花似玉的老婆

2012年04月16日

shell中的大括号,截取字符串

Filed under: shell脚本 — 鸡哥 @ 10:12

# load LVS IPVS modules
if [ -d /lib/modules/$unamer/kernel/net/ipv4/ipvs ]; then
for module in /lib/modules/$unamer/kernel/net/ipv4/ipvs/* ; do
module=${module##*/}
module=${module%.ko}
modprobe $module >/dev/null 2>&1
done
fi
就把/lib/modules/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/下的所有模块都自动加载了。其中:
if语句检查ipvs模块的目录是否存在
for循环遍历该目录下面的所有文件
module=${module##*/} :其中##表示从前面删除字符,*/表示删除到最后一个/,如果一个#就表示只删除到第一个/。如果变量后面接##,表示在##后面的字符串取最长的(一直到最后面),如果接#,表示取最小的一段。
module=${module%.ko}:表示从后面删除.ko。如果变量后面接%%,表示在%%后面的字符串取最长的(一直到最前面),如果接%,表示取最小的一段。
这样多module的两次修改就得到了模块名,就是文件名不带路径和.ko后缀。

备注:
1、${}是用来进行变量替换的
2、shell十三问中的${file##*/}的说明
為了完整起見,我這裡再用一些例子加以說明 ${ } 的一些特異功能:
假設我們定義了一個變量為:
file=/dir1/dir2/dir3/my.file.txt
我們可以用 ${ } 分別替換獲得不同的值:
${file#*/}:拿掉第一條 / 及其左邊的字串:dir1/dir2/dir3/my.file.txt
${file##*/}:拿掉最後一條 / 及其左邊的字串:my.file.txt
${file#*.}:拿掉第一個 . 及其左邊的字串:file.txt
${file##*.}:拿掉最後一個 . 及其左邊的字串:txt
${file%/*}:拿掉最後條 / 及其右邊的字串:/dir1/dir2/dir3
${file%%/*}:拿掉第一條 / 及其右邊的字串:(空值)
${file%.*}:拿掉最後一個 . 及其右邊的字串:/dir1/dir2/dir3/my.file
${file%%.*}:拿掉第一個 . 及其右邊的字串:/dir1/dir2/dir3/my
記憶的方法為:

# 是去掉左邊(在鑑盤上 # 在 $ 之左邊)
% 是去掉右邊(在鑑盤上 % 在 $ 之右邊)
單一符號是最小匹配﹔兩個符號是最大匹配。

则module=ip_vs.ko,一个#表示从左边删除字符,*/表示删除到最后一个,##*/

2012年03月27日

励志一下,哈哈

Filed under: 其它 — 鸡哥 @ 10:52

  1、成功的人,就是那种能用别人扔向他的石头来铺设路基的人。

  2、批评你的人是你今天的敌人,明天的朋友;吹捧你的人是你今天的朋友,明天的敌人。

  3、Nothing is impossible、只要选择了目标,不要再想太远,每天脚踏实地,风雨兼程。生命不息,战斗不止。

  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、后悔是一种耗费精神的情绪、后悔是比损失更大的损失,比错误更大的错误、所以不要后悔。

  32、你的确要学的有心计,但是记住,永远记住,在社会上要胜利的唯一的方法永远只是一个,那就是实力,永远不用怀疑。

  34、人生百态,不要对新的看不惯的东西生气,无所谓的。

  35、我们确实活得艰难,一要承受种种外部的压力,更要面对自己内心的困惑。在苦苦挣扎中,如果有人向你投以理解的目光,你会感到一种生命的暖意,或许仅有短暂的一瞥,就足以使我感奋不已,所以我们要学会感激。

  36、冷静,有大事时,能安静并能快速想出办法的人,很厉害。

  37、社会充满竞争,赢得竞争靠的是自己的实力。

  38、一种对工作和学习的冲击力及持久力会让你有特殊的魅力和个人实力。

  39、父母给我们生命,生活给我们智慧。智慧产生于社会实践,这是千真万确的真理。因此,不仅要珍惜生命,珍视生活,更要重视社会实践。不经历风雨就无法见到彩虹,没有实践就无法得到智慧。

  40、积水成渊,积土成山。不积跬步无以致千里,做事万不可心急,必须从一点一滴做起,必须从每一件小事做起。现在的人常是小事不做,大事做不来,到头来空活一场,空耗一生。

  41、水涨船高,勿怕他人强于己。水落石出,别羡乌云压枝低。

  42、你可以选择坚持,也可以选择放弃。没有对错。我是说对爱情来说,但是重要的是坚持你的选择。

  43、如果老是去琢磨哪些人你讨厌,哪些人与你志趣相投,那么你就大错了,要想着如何让别人接纳你,而不是你能接受什么样的人。

  44、对陌生人,或者把对方当做一张白纸,或者把对方当你的朋友,总之别当做敌人,即使你听到再多的关于他(她)的不好的传闻。

  45、爱你的人,不管你接不接受,你都应该感谢对方,这是对他们的尊重。

  46、坚持在背后说别人好话,别担心这好话传不到当事人耳朵里,有人在你面前说某人坏话时,你只微笑。

  47、抽时间出来锻炼身体。

  48、不管现在你对未来多困惑,多迷茫,都不要忘了树立一个目标。一个人过去或现在的情况并不重要,将来想要获得什么成就才最重要。除非你对未来有理想,否则做不出什么大事来。

  49、不要把过去的事全让人知道,尊敬不喜欢你的人。

  50、成大事的方法多种多样 ,别不接受你看不惯的方法。

  51、一切以健康为中心,遇事潇洒一点,看世事糊涂一点。

  52、气不鼓不能前进,气太足可能爆胎。

  53、三个忘记:忘记年龄,忘记过去,忘记恩怨。

  54、乐观的人看见问题后面的机会,悲观的人只看见机会后面的问题,机会是从来不会主动敲响你的门,无论你等待多少年。它也只会如一阵风一样拂面而过,需要你的反应能力和追随速度。朝着一个目标前进,尽量使用你的潜能,才华横溢的你会发现机会的存在。风虽然没有颜色,可是拂过之后却是绿意一片。

  55、很多事情当你再回忆时会发现其实没什么。所以,不管当时你多么生气都告诉自己不必这样,你会发现事实真的没啥大不了。

  56、人生唯一不会落空的等待是注定的死亡,世间唯一保持恒久不变的就是变化。

  57、最难战胜的敌人,是自己;最可怕的敌人,是朋友;最防不胜防的敌人,是欲望;最迷惑人的敌人,是感情。

  58、生活是一种经历,也是一种体验;生活是一种感受,也是一种积累。生活没有答案,生活不需要答案。当生活即将不属于你时,你才会发现:生活仅仅是一个过程,而这个过程无论多么复杂,最终结局都是一样的。生活注重的是过程,而不是结局。

  59、奋斗人生的诀窍就是经营自己的长处。经营自己的长处能给你的人生增值。经营自己的短处必然使你的人生贬值。

  60、有所得是低级快乐,无所求是高级快乐。

图片

  61、一个会讲话的人,不是记得别人说过话的人,而是能说些让人记得的话。

  62、是非窝里,人用口,我用耳;热闹场中,人向前,我落后。

  63、还能冲动,表示你还对生活有激情,总是冲动,表示你还不懂生活。

  64、从来没有得罪过人的人,注定也不可能与人深交。太多的平和与从容,反而丧失了做人的激情与率真。

  65、当不幸降临在他人头上时,他们往往都能像智者一样劝慰别人;而当同样的不幸降临自己身上时,人往往很难同样地开导自己。

  66、有些缺陷放在别人身上看起来微不足道,不值得一提;但是,这些缺陷若放在自己身上,则很难轻松看待,甚至一生都不能释怀。

  67、自己说过、做过伤害别人心灵的事,有可能转眼间就忘得一干二净;而别人说过或做过的伤害自己的事往往一辈子都能记得清清楚楚,且无法原谅。

  68、看别人生活时,我们总喜欢放大他们的幸福,忽略他们生活中的不幸,所以别人的生活怎么看都觉得幸福。而在看待自己的生活时,人们总喜欢缩小自己的幸福,扩大自己的烦恼,所以我们对自己的生活总有太多的不满。

  69、当别人在公众场所不小心出丑时,我们往往一笑了之;而当同样的情境在自己身上出现时,我们往往好长时间不能从尴尬中走出来。

  70、看到别人取得成功时,我们会说,他们的运气好;当他们遭遇失败时,我们会说,他们不努力。自己取得成功时,我们会说这是自己努力的结果;若遭遇失败,我们会自我解嘲说都是环境的错。

  71、看别人谈恋爱挑肥拣瘦,我们暗说,不知自己长啥样,还在那儿挑挑拣拣。轮到自己谈恋爱时,总觉得没人能配得上自己。

  72、谁能永远顺利?人生的耻辱不在于输,而在于输不起;人生的光荣不在于永不仆到,而在于能屡仆屡起。

  73、思虑过少,可能失去做人的尊严;思虑过多,就会失去做人的乐趣。

  74、若能得而无愧疚,失而无怨悔,得失的结果,就由它去吧。

  75、光线强的地方,影子也比较黑。

  76、不要说自己有多好,别人一般不会相信;不要说自己有多坏,别人一般会相信的。

  77、不要在意别人对你的尖刻评论,学会超脱。

  78、不急于求回报,把帮助他人而得到的欣慰作为最好的回报。

  79、体贴他人的感情。嘲笑,必得不偿失,还可能造成意料不到的伤害。

  80、为了控制执著,必须观照好感觉的大门。

  81、每个人都有潜在的能量,只是很容易:被习惯所掩盖,被时间所迷离,被惰性所消磨。

  82、爱人就像粗布衣,虽然不美丽,可是能遮挡风寒。情人就像时装,感觉很美好,却不能穿出去。亲人就像老棉衣,就是出痱子,依然要捂着你。友人就像晴雨衣,需要了就穿,用过后放一边。

  83、人最聪明的,并不是捡起了别人还没捡到的东西,而是别人捡到了你不想捡的东西。

  84、创造机会的人是勇者。等待机会的人是愚者。

  85、忍耐是坚忍和能耐的简称。

  86、使人疲惫的不是远方的高山,而是鞋里的一粒沙子。

  87、人最悲哀的,并不是昨天失去得太多,而是沉浸于昨天的悲哀之中。

  88、昨天是一张废弃了的支票,明天是一笔尚未到期的存款,只有今天是你可以支配的现金。

  89、人人都讲理时有理可走遍天下,人人不讲理时有理将寸步难行。

  90、阳光虽然暖和,可照射的时间长了,也会遭到谩骂。

图片

  91、乐观的人只顾著笑,而忘了怨;悲观的人只顾著怨,而忘了笑。

  92、如果成功方向是错误的,坚持到底就会错误到底。

  93、你有权发怒,但不应践踏别人的尊严;你有权失败,但不应自暴自弃;你有权争取成功,但不应以牺牲他人为代价;你有权要求争议,但不应以复仇为手段。你有权要求生活得更美好,但不应以今天的欺骗来捡取明天的快乐。

  94、人要有着眼点;又要有落脚点。前者是战略;后者是战术。

  95、世界上最永恒的幸福就是平凡,人生中最长久的拥有就是珍惜。

  96、不要贪图无所不有,否则你将一无所有;不要试图无所不知,否则你将一无所知;不要企图无所不能,否则你将一无所能。

  97、社会就像鱼塘,虽然泥沙俱下,可要真是清水一潭也有点可怕。家庭就像鱼缸,需要清洗,需要换气,需要精心护理,不然就生存不下去。

  98、面对失败和挫折一笑而过,是一种乐观自信;面对误解和仇恨一笑而过,是一种坦然宽容;面对赞扬和激励一笑而过,是一种谦虚清醒;面对烦恼和忧愁一笑而过,是一种平和释然。

  99、世上只有想不通的人,没有走不通的路。没有走不到顶的山,只有找不到路的人。

100、放弃该放弃的是无奈,放弃不该放弃的是无能;不放弃该放弃的是无知,不放弃不该放弃的是执着。

编后语:在无数个睡不着的晚上,我相信会有很多人,习惯性地抱怨自己的生活怎么如此坎坷,但你是否用心去思考了吗?去规划了吗?去行动了吗?但愿这些话,能让更多人明白,成功不是一步登天,而是慢慢地积累!

2012年03月13日

sort+uniq计算重复行

Filed under: shell脚本,一些经验 — 标签:, — 鸡哥 @ 10:51

1.对于重复行的不同处理:

sort和uniq都可以去除重复行,
sort是去除所有重复行
uniq是去除连续的重复行,中间不能隔和其他信息

2.uniq中的-c选项:打印每一重复行出现的次数,导致我们统计的时候会直接使用这一命令,而不用编写或者使用复杂的命令。
但是它对重复行的定义是连续的,所有我们就用到的sort来排序,使相同的行连续起来。再利用uniq统计数量。

这就是著名的”sort | uniq -c”统计数量了。你也可以”sort | uniq -c | sort -nr”来排序。

当然sort和uniq还有许多不同的选项,选择在不同的时候,使用合适的命令才是我们最后的选择。

2012年02月22日

puppet 删除证书问题

Filed under: puppet — 鸡哥 @ 20:17

puppet证书掉销的问题
2010年10月21日 admin 发表评论 阅读评论
在puppet serser上用puppet -r -c client_hostname后.

接着在client再次申请的时候.出现如下提示:
puppetd –server puppetserver –test
notice: Ignoring –listen on onetime run
err: Could not retrieve catalog from remote server: sslv3 alert certificate revoked
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run

为这个问题.困惑了好久.
绕过GFW后,找到解决方法
mv /var/lib/puppet /tmp
然后再次做证书,请求,我们希望的结构出现了.

在server上签名一下就OK了

如果出现提示如下:
[root@CUC-TY-1-101 lib]# puppetd –server puppet_server –test
err: Could not request certificate: Retrieved certificate does not match private key; please remove certificate from server and regenerate it with the current key
删除 /var/lib/puppet
然后在服务器上注销证书 先revoke 再clean
服务器端操作完成后,要杀掉进程,然后重启puppet master.
脚 本restart 不管用.不知道是不是puppet的bug
目前,还有一个证书校验的问题没有解决:如下

puppetrun -p 10 –host a.com
Triggering a.com
Host a.com failed: certificate verify failed
a.com finished with exit code 2
Failed: a.com

2012年01月26日

perl学习笔记

Filed under: perl — 鸡哥 @ 08:13

2012.01.26
#!/usr/bin/perl -w
use strict;
#语法检查

printf "1234567890" x 7 . "\n";
#重复7次,也就是总共70列,后面的.是字符串连接符
my @lines=;
#从标准输入中读取数组,一般都是键盘,注意和<>的区别

foreach (@lines) {
my $lines=$_;
#定义标量,并把数组中的元素复制给$lines
chomp $lines;
#去掉数组元素的换行符,chomp的返回值是去掉的换行符的数量,一般都是1或者0
printf "%20s\n",$lines;
#打印从键盘输入的内容
}

改进过的:
#!/usr/bin/perl -w
use strict;
print "Please input scale:\n";
chomp(my $scale=);
#chomp,去掉了后面的换行符
printf "1234567890" x ($scale/10) . "\n";
#x后面的重复数字,会自动舍去小数,按整数计算

print "Please type long:\n";
chomp(my $long=);
$long=("%" . $long . "s" . "\n");
#这里的括号不能省略,省略了会产生歧义
my @lines=;
foreach (@lines) {
my $lines=$_;
#这里可以直接使用$_
chomp $lines;
#print $long;
printf $long,$lines;
}

2012年01月13日

zcat grep 提示 Binary file 1.txt matches

Filed under: shell脚本 — 鸡哥 @ 12:21

zcat /home/downfile/test.tar.gz | grep -a ‘key_name’ # -a : grep认为这是二进制文件

2011年11月13日

关于青春,关于人生

Filed under: 其它 — 鸡哥 @ 21:37

青春最重要的不是在那里度过 而是不后悔 每个人选择去哪里发展 怎样发展都是无可厚非的 只要知道自己要什么样的生活 北京是个好的发展平台 是高水准竞技场 在这里立足需要付出比在其他地方高出几倍的努力 但回报也是可观的 生活是平衡的 榨取你多少 就会回报你多少 无论选择什么 不后悔最重要

2011年09月19日

在64位的环境下编译32位的应用程序

Filed under: 环境搭建 — 鸡哥 @ 10:56

在64位的环境下编译32位的应用程序
背景知识: http://www.divms.uiowa.edu/local/linux_help/rh_ws3_amd64_faq.html

我们的 64bit Debain 需要安装以下软件包

apt-get install ia32-libs libc6-dev-i386 linux32

1) 最关键的东西是需要告知gcc编译器编译的平台是 i386,CFLAGS 必须添加 -m32 参数. [关于gcc编译参数的官方文档]

2) 用 linux32 命令在configure改一下CHOST,设置一下编译环境

linux32 命令使用前后区别

staff-1:~/src/lame-3.96.1# ./configure
checking build system type… x86_64-unknown-linux-gnu
checking host system type… x86_64-unknown-linux-gnu

staff-1:~/src/lame-3.96.1# linux32 ./configure
checking build system type… i686-pc-linux-gnu
checking host system type… i686-pc-linux-gnu

3) 如果编译的程序是32位的,所需要的动态链接库也需重新编译,例如mplayer需要用到 mp3lame,jpeg-6b,libpng等,均需要重新编译.

4) 如何知道应用程序是64位还是32位的?可使用file命令查看.

staff-1:~# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.0, dynamically linked (uses shared libs), for GNU/Linux 2.6.0, stripped

staff-1:~# file /usr/bin/mplayer
/usr/bin/mplayer: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.0, dynamically linked (uses shared libs), for GNU/Linux 2.6.0, stripped

5) 一些编译前准备的实例,mplayer

linux32 ./configure –prefix=/usr –cc=”gcc -m32″ –target=”i386-linux”
make
make install

注意:-cc,–target 参数不一定每个 configure 程序都提供,需灵活变通,其本质是设置了一些环境变量,可用手动配置.

export CFLAGS=”-m32 -04 -march=i386 -mtune=i386″

6) 注意和原来的共享库冲突,尽量不要编译到 /usr 目录下,否则影响其它64位的程序正常运作就得不尝失了.

7) 能不能100%编译成功? 不一定,如果 makefile 使用了64位的linker例如ld等,去link你编译出来32位的so的话,那就会报告不兼容. Good luck!!

相关参考:
•How to build 32-bit Wine on a 64-bit (x86-64) system

以下是其它人的讨论

1) 最关键的东西是需要告知gcc编译器编译的平台是 i386,CFLAGS 必须添加 -m32 参数. [关于gcc编译参数的官方文档]

2) 用 linux32 命令在configure改一下CHOST,设置一下编译环境

linux32 命令使用前后区别

staff-1:~/src/lame-3.96.1# ./configure
checking build system type… x86_64-unknown-linux-gnu
checking host system type… x86_64-unknown-linux-gnu

staff-1:~/src/lame-3.96.1# linux32 ./configure
checking build system type… i686-pc-linux-gnu
checking host system type… i686-pc-linux-gnu

这段没看懂,
第2点怎么设置的能说具体点吗??谢谢。

答复:
linux32 是一个设置环境变量 CHOST 的命令.可用 export CHOST=”i686-pc-linux-gnu” 代替

我自己尝试编译libmm在64位服务器上通过,参数如下
./configure CC=”gcc -m32″

2011年09月15日

nagios,本地发送报警邮件超时问题

Filed under: 监控系统 — 鸡哥 @ 17:04

最近在外网新搭了一套nagios系统,开始几天系统出了问题nagios还能发邮件通知,可最近出了问题老收不到邮件,手工在服务器上发邮件又可以,后来一查sendmail的日志和nagios的日志,发现sendmail的邮件只有邮件信息,没有进邮件队列.nagios那边的日志又报下面的警告:

[1292174436] Warning: Contact ‘wahaha’ service notification command ‘/usr/bin/printf “%b” “***** Nagios *****\n\nNotification Type: PROBLEM\n\nService: /boot\nHost: hostname\nAddress: 192.168.3.11\nState: CRITICAL\n\nDate/Time: Mon Dec 13 01:20:05 CST 2010\n\nAdditional Info:\n\nDISK CRITICAL – free space: /boot
8 MB (8% inode=99%):” | /bin/mail -s “** PROBLEM Service Alert: hostname//boot is CRITICAL **” wahaha@163.com’ timed out after 30 seconds

从上面的日志看,应该是发送超时了,也就是说设置的通知时间还不够能让sendmail发出邮件的时间,到这就好办了.通过修改nagios的配置文件nagios.cfg,将notification_timeout=30改为notification_timeout=120后重起nagios.发现已经能收到报警邮件了,到此问题解决!

2011年08月28日

sshd超时断开问题

Filed under: 一些经验 — 鸡哥 @ 20:23

1、echo $TMOUT
如果显示空白,表示没有设置, 等于使用默认值0, 一般情况下应该是不超时. 如果大于0, 可以在如/etc/profile之类文件中设置它为0.
Definition: TMOUT: If set to a value greater than zero, the value is interpreted as the number of seconds to wait for input after issuing the primary prompt. Bash terminates after waiting for that number of seconds if input does not arrive

2、修改/etc/ssh/sshd_config文件,将ClientAliveInterval 0和ClientAliveCountMax 3的注释符号去掉,将ClientAliveInterval对应的0改成60,ClientAliveInterval指定了服务器端向客户端请求消息的时间间隔, 默认是0, 不发送.而ClientAliveInterval 60表示每分钟发送一次, 然后客户端响应, 这样就保持长连接了.ClientAliveCountMax, 使用默认值3即可.ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值, 就自动断开. 正常情况下, 客户端不会不响应.

想参考更多,请输入man sshd_config了解更多信息

Older Posts »

Powered by WordPress