在这个大家都很忙,什么都讲究速度的时代,甚至判断别人,给别人下定义的时间都很短。前几天写了债券的科普贴,刚发出来了没2分钟,就有人蹦出来时候“这是陷阱。”咱们先不说一发行了这么多年,年交易几百亿,在协议上明确些着保本的债券,被众多机构参与的债券到底是不是陷阱。就说你花2分钟就能分析出这是一陷阱也说明你是挺天才的人。这让我想起了元悟空说的“不懂就算了,装懂;装懂就算了,还引申;引申就算了,还分析;分析就算了,还判断;判断就算了,还结论。”
我就特纳闷,这世界怎么了,你知道的你说,你不知道你瞎定义什么呀?!现实中,我们常犯这样的错误,断章取义的看一段话,完全不在意他的语境、背景,只要是看了就引以为准则,按照自己的想法揣测。之前有个大哥开了租车公司,有33辆车。马上就有人提出疑问“他也会开车,也会修车,比大哥还大两岁,他都没有30多辆车,大哥也不可能有!”可能这就是人,随便找个什么事,就觉得自己得出的结论至高无上,肯定是对的。今天看潘婷的菲律宾版广告:“别让别人对你的看法,遮挡你的光芒。”当那个穿雪纺裙的美女自信的迎着阳光离去,后面的看着那句“坚定让你更闪耀。”我愣了半天,英国哲学家亚伦•瓦兹(Alan Watts)说:快乐的秘密在于一句古语:“成为你自己。” 其实很多时候,我们只要坚持成为自己,就没什么能难倒我们。每次遇到选择,我都会想到这句话,然后毅然做出选择。
我们从出生开始就被别人误解,被别人帖标签,各种各样,或者好,或者坏的标签。这些别人给的标签会影响我们的生活,会干扰我们的思考,影响我们的决定。千万不要在意这些标签,如果真的相信这些标签是非常的可怕的事,当我们背负这些标签生活,会非常的辛苦。一定要顺应心意,看清自己,找到自己想要的生活。每个人与生俱来都有自己独特的才能,这是我们在这个世界的立足之本,我们需要做的就是发现自己的才能。大多数时候,我们的选择比努力更重要,我们在选择的时候,不必想着走那条路更需要智慧,不必想那条路能够让我们出人头地,只要想着,那条路能让我们快乐,让我们热血沸腾就好,只有在努力的过程中有快乐,我们才能不知疲倦的实现目标。做你自己渴望的事,你才会有激情。
之前看一段广告文案:“如果你渴望前行,就不会停下脚步。如果你拥有梦想,就会坚持到底。如果你感受到它,就会无所畏惧。不管在哪里,不管做什么,激情驱动你的力量,创造真的奇迹。”优秀的人都精神强大,是因为他们都将精力集中于自己清晰的目标上,这使他们能够掌控自己的生活,而不是被生活推着走,被生活所累。 面对自己时诚实点儿,面对世界时客观些。很多时候,“别人给你贴的标签”,遮盖住了我们的光芒,而我们总是纠结于过去,不停的找各种理由,给自己很多借口,证明自己的糟糕状态不是自己的问题,而不愿意鼓起勇气改变自己。其实只要我们坚定的选择自己的路,我们都会活得充实而快乐。
揭示人类无法抗拒的十种心理效应(转自:家庭医生在线)
1、鸟笼逻辑
挂一个漂亮的鸟笼在房间里最显眼的地方,过不了几天,主人一定会做出下面两个选择之一:把鸟笼扔掉,或者买一只鸟回来放在鸟笼里。这就是鸟笼逻辑。过程很简单,设想你是这房间的主人,只要有人走进房间,看到鸟笼,就会忍不住问你:“鸟呢?是不是死了?”当你回答:“我从来都没有养过鸟。”人们会问:“那么,你要一个鸟笼干什么?”最后你不得不在两个选择中二选一,因为这比无休止的解释要容易得多。鸟笼逻辑的原因很简单:人们绝大部分的时候是采取惯性思维。所以可见在生活和工作中培养逻辑思维是多么重要。
鸟笼逻辑告诉我们,大多数时候人们都受制于强大的惯性思维:鸟笼必定用于养鸟,结婚必先置办新房,社会必然分三六九等。这种惯性思维的益处是,能够帮助我们迅速快捷地认知和适应周围世界。然而,过犹不及,如果把惯性思维扩展到生活的每一个角落,就会成为一种刻板思维。鸟笼如果设计精巧,其实可以作为观赏品;号称“裸婚”的先结婚后置房,已逐渐为80后所接受;在北欧诸国,由于贫富差距较小,社会公平观念深入人心。所以,不妨偶尔尝试突破鸟笼逻辑,进行发散思维,也许鸟笼之外还有另外一片新天地。
2、破窗效应(Broken windows theory)
心理学的研究上有个现象叫做“破窗效应”,就是说,一个房子如果窗户破了,没有人去修补,隔不久,其它的窗户也会莫名其妙的被人打破;一面墙,如果出现一些涂鸦没有清洗掉,很快的,墙上就布满了乱七八糟,不堪入目的东西。一个很干净的地方,人会不好意思丢垃圾,但是一旦地上有垃圾出现之后,人就会毫不犹疑的拋,丝毫不觉羞愧。这真是很奇怪的现象。
心理学家研究的就是这个“引爆点”,地上究竟要有多脏,人们才会觉得反正这么脏,再脏一点无所谓,情况究竟要坏到什么程度,人们才会自暴自弃,让它烂到底。任何坏事,如果在开始时没有阻拦掉,形成风气,改也改不掉,就好象河堤,一个小缺口没有及时修补,可以崩坝,造成千百万倍的损失。下面举一个真实的事例。
犯罪其实就是失序的结果,纽约市在80年代的时候,真是无处不抢,无日不杀,大白天走在马路上也会害怕。地铁更不用说了,车厢脏乱,到处涂满了秽句,坐在地铁里,人人自危。我虽然没有被抢过,但是有位教授被人在光天化日之下,敲了一记闷棍,眼睛失明,从此结束他的研究生涯,使我多少年来谈虎变色,不敢只身去纽约开会。最近纽约的市容和市誉提升了不少,令我颇为吃惊,一个已经向下沉沦的城市,竟能死而复生,向上提升。
因此,当我出去开会,碰到一位犯罪学家时,立刻向他讨教,原来纽约市用的就是过去书本上讲的破窗效应的理论,先改善犯罪的环境,使人们不易犯罪,再慢慢缉凶捕盗,回归秩序。
当时这个做法虽然被人骂为缓不济急,“船都要沉了还在洗甲板”,但是纽约市还是从维护地铁车厢干净着手,并将不买车票白搭车的人用手铐铐住排成一列站在月台上,公开向民众宣示政府整顿的决心,结果发现非常有效。
警察发现人们果然比较不会在干净的场合犯罪,又发现抓逃票很有收获,因为每七名逃票的人中就有一名是通缉犯,二十名中就有一名携带武器,因此警察愿意很认真地去抓逃票,这使得歹徒不敢逃票,出门不敢带武器,以免得不偿失、因小失大。这样纽约市就从最小、最容易的地方着手,打破了犯罪环结,使这个恶性循环无法继续下去。
3、责任分散效应(Diffusion of responsibility)
1964年3月13日夜3时20分,在美国纽约郊外某公寓前,一位叫朱诺比白的年轻女子在结束酒巴间工作回家的路上遇刺。当她绝望地喊叫:“有人要杀人啦!救命!救命!”听到喊叫声,附近住户亮起了灯,打开了窗户,凶手吓跑了。当一切恢复平静后,凶手又返回作案。当她又叫喊时,附近的住户又打开了电灯,凶手又逃跑了。当她认为已经无事,回到自己家上楼时,凶手又一次出现在她面前,将她杀死在楼梯上。在这个过程中,尽管她大声呼救,她的邻居中至少有38位到窗前观看,但无一人来救她,甚至无一人打电话报警。这件事引起纽约社会的轰动,也引起了社会心理学工作者的重视和思考。人们把这种众多的旁观者见死不救的现象称为责任分散效应(旁观者效应)。
对于责任分散效应形成的原因,心理学家进行了大量的实验和调查,结果发现:这种现象不能仅仅说是众人的冷酷无情,或道德日益沦丧的表现。因为在不同的场合,人们的援助行为确实是不同的。当一个人遇到紧急情境时,如果只有他一个人能提供帮助,他会清醒地意识到自己的责任,对受难者给予帮助。如果他见死不救会产生罪恶感、内疚感,这需要付出很高的心理代价。而如果有许多人在场的话,帮助求助者的责任就由大家来分担,造成责任分散,每个人分担的责任很少,旁观者甚至可能连他自己的那一份责任也意识不到,从而产生一种“我不去救,由别人去救”的心理,造成“集体冷漠”的局面。如何打破这种局面,这是心理学家正在研究的一个重要课题。
4、帕金森定律(Parkinson’s Law)
英国著名历史学家诺斯古德·帕金森通过长期调查研究,写出一本名叫《帕金森定律》的书。他在书中阐述了机构人员膨胀的原因及后果:一个不称职的官员,可能有三条出路,第一是申请退职,把位子让给能干的人;第二是让一位能干的人来协助自己工作;第三是任用两个水平比自己更低的人当助手。这第一条路是万万走不得的,因为那样会丧失许多权利;第二条路也不能走,因为那个能干的人会成为自己的对手;看来只有第三条路最适宜。于是,两个平庸的助手分担了他的工作,他自己则高高在上发号施令,他们不会对自己的权利构成威胁。两个助手既然无能,他们就上行下效,再为自己找两个更加无能的助手。如此类推,就形成了一个机构臃肿,人浮于事,相互扯皮,效率低下的领导体系。
5、晕轮效应(The Halo Effect)
俄国著名的大文豪普希金曾因晕轮效应的作用吃了大苦头。他狂热地爱上了被称为“莫斯科第一美人”的娜坦丽,并且和她结了婚。娜坦丽容貌惊人,但与普希金志不同道不合。当普希金每次把写好的诗读给她听时。她总是捂着耳朵说:“不要听!不要听!”相反,她总是要普希金陪她游乐,出席一些豪华的晚会、舞会,普希金为此丢下创作,弄得债台高筑,最后还为她决斗而死,使一颗文学巨星过早地陨落。在普希金看来,一个漂亮的女人也必然有非凡的智慧和高贵的品格,然而事实并非如此,这种现象被称为晕轮效应。
所谓晕轮效应,就是在人际交往中,人身上表现出的某一方面的特征,掩盖了其他特征,从而造成人际认知的障碍。在日常生活中,“晕轮效应”往往在悄悄地影响着我们对别人的认知和评价。比如有的老年人对青年人的个别缺点,或衣着打扮、生活习惯看不顺眼,就认为他们一定没出息;有的青年人由于倾慕朋友的某一可爱之处,就会把他看得处处可爱,真所谓“一俊遮百丑”。晕轮效应是一种以偏概全的主观心理臆测,其错误在于:第一,它容易抓住事物的个别特征,习惯以个别推及一般,就像盲人摸象一样,以点代面;第二,它把并无内在联系的一些个性或外貌特征联系在一起,断言有这种特征必然会有另一种特征;第三,它说好就全都肯定,说坏就全部否定,这是一种受主观偏见支配的绝对化倾向。总之,晕轮效应是人际交往中对人的心理影响很大的认知障碍,我们在交往中要尽量地避免和克服晕轮效应的副作用。
6、霍桑效应(Hawthorne effect)
心理学上的一种实验者效应。20世纪20-30年代,美国研究人员在芝加哥西方电力公司霍桑工厂进行的工作条件、社会因素和生产效益关系实验中发现了实验者效应,称霍桑效应。
实验的第一阶段是从1924年11月开始的工作条件和生产效益的关系,设为实验组和控制组。结果不管增加或控制照明度,实验组产量都上升,而且照明度不变的控制组产量也增加。另外,有试验了工资报酬、工间休息时间、每日工作长度和每周工作天数等因素,也看不出这些工作条件对生产效益有何直接影响。第二阶段的试验是由美国哈佛大学教授梅奥领导的,着重研究社会因素与生产效率的关系,结果发现生产效率的提高主要是由于被实验者在精神方面发生了巨大的变化。参加试验的工人被置于专门的实验室并由研究人员领导,其社会状况发生了变化,受到各方面的关注,从而形成了参与试验的感觉,觉得自己是公司中重要的一部分,从而使工人从社会角度方面被激励,促进产量上升。
这个效应告诉我们,当同学或自己受到公众的关注或注视时,学习和交往的效率就会大大增加。因此,我们在日常生活中要学会与他人友好相处,明白什么样的行为才是同学和老师所接受和赞赏的,我们只有在生活和学习中不断地增加自己的良好行为,才可能受到更多人的关注和赞赏,也才可能让我们的学习不断进步,充满自信!
7、习得性无助实验(Learned helplessness Experiment)
习得性无助效应最早有奥弗米尔和西里格曼发现,后来在动物和人类研究中被广泛探讨。简单地说,很多实验表明,经过训练,狗可以越过屏障或从事其他的行为来逃避实验者加于它的电击。但是,如果狗以前受到不可预期(不知道什么时候到来)且不可控制的电击(如电击的中断与否不依赖于狗的行为),当狗后来有机会逃离电击时,他们也变得无力逃离。而且,狗还表现出其他方面的缺陷,如感到沮丧和压抑,主动性降低等等。
狗之所以表现出这种状况,是由于在实验的早期学到了一种无助感。也就是说,它们认识到自己无论做什么都不能控制电击的终止。在每次实验中,电击终止都是在实验者掌控之下的,而狗会认识到自己没有能力改变这种外界的控制,从而学到了一种无助感。
人如果产生了习得性无助,就成为了一种深深的绝望和悲哀。因此,我们在学习和生活中应把自己的眼光在开阔一点,看到事件背后的真正的决定因素,不要使我们自己陷入绝望。
8、证人的记忆效应
证人,在我们的认识里,通常都是提供一些客观的证据的人,就是把自己亲眼看到、亲耳听到的东西如实地讲出来的人。然而,心理学研究证明,很多证人提供的证词都不太准确,或者说是具有个人倾向性,带着个人的观点和意识。
证人对他们的证词的信心并不能决定他们证词的准确性,这一研究结果令人感到惊讶。心理学家珀费可特和豪林斯决定对这一结论进行更深入的研究。为了考察证人的证词是否有特别的东西,他们将证人的记忆与对一般知识的记忆进行了比较。
他们让被试看一个简短的录象,是关于一个女孩被绑架的案件。第二天,让被试回答一些有关录象里内容的问题,并要求他们说出对自己回答的信心程度,然后做再认记忆测验。接下来,使用同样的方法,内容是从百科全书和通俗读物中选出的一般知识问题。
和以前发生的一样,珀费可特和豪林斯也发现,在证人回忆的精确性上,那些对自己的回答信心十足的人实际上并不比那些没信心的人更高明,但对于一般知识来说,情况就不是这样,信心高的人回忆成绩比信心不足的人好得多。
人们对于自己在一般知识上的优势与弱势有自知之明。因此,倾向于修改他们对于信心量表的测验结果。一般知识是一个数据库,在个体之间是共享的,它有公认的正确答案,被试可以自己去衡量。例如,人们会知道自己在体育问题上是否比别人更好或更差一点。但是,目击的事件不受这种自知之明的影响。例如,从总体上讲,他们不大可能知道自己比别人在记忆事件中的参与者头发颜色方面更好或更差。
9、皮格马利翁效应(Pygmalion Effect)
美国心理学家罗森塔尔等人于1968年做过一个著名实验。他们到一所小学,在一至六年级各选三个班的儿童进行煞有介事的“预测未来发展的测验”,然后实验者将认为有“优异发展可能”的学生名单通知教师。其实,这个名单并不是根据测验结果确定的,而是随机抽取的。它是以“权威性的谎言”暗示教师,从而调动了教师对名单上的学生的某种期待心理。8个月后,再次智能测验的结果发现,名单上的学生的成绩普遍提高,教师也给了他们良好的品行评语。这个实验取得了奇迹般的效果,人们把这种通过教师对学生心理的潜移默化的影响,从而使学生取得教师所期望的进步的现象,称为“罗森塔尔效应”,习惯上也称为皮格马利翁效应(皮格马利翁是古希腊神话中塞浦路斯国王,他对一尊少女塑像产生爱慕之情,他的热望最终使这尊雕像变为一个真人,两人相爱结合)。
教育实践也表明:如果教师喜爱某些学生,对他们会抱有较高期望,经过一段时间,学生感受到教师的关怀、爱护和鼓励;常常以积极态度对待老师、对待学习以及对待自己的行为,学生更加自尊、自信、自爱、自强,诱发出一种积极向上的激情,这些学生常常会取得老师所期望的进步。相反,那些受到老师忽视、歧视的学生,久而久之会从教师的言谈、举止、表情中感受到教师的“偏心”,也会以消极的态度对待老师、对待自己的学习,不理会或拒绝听从老师的要求;这些学生常常会一天天变坏,最后沦为社会的不良分子。尽管有些例外,但大趋势却是如此,同时这也给教师敲响了警钟。
10、虚假同感偏差(false consensus bias)
我们通常都会相信,我们的爱好与大多数人是一样的。如果你喜欢玩电脑游戏,那么就有可能高估喜欢电脑游戏的人数。你也通常会高估给自己喜欢的同学投票的人数,高估自己在群体中的威信与领导能力等等。你的这种高估与你的行为及态度有相同特点的人数的倾向性就叫做“虚假同感偏差”。有些因素会影响你的这种虚假同感偏差强度:
(1)当外部的归因强于内部归因时;
(2)当前的行为或事件对某人非常重要时;
(3)当你对自己的观点非常确定或坚信时;
(4)当你的地位或正常生活和学习受到某种威胁时;
(5)当涉及到某种积极的品质或个性时;
(6)当你将其他人看成与自己是相似时。
修正 SyntaxHighlighter 的工具栏宽度高度值的 bug
话不多说。。先上对比图
相信许多博客和本站一样,使用了 SyntaxHighlighter Evolved 这款代码高亮插件,但是,开了工具栏以后,会发现工具栏的下半部分有很多的留白,效果很不好。修改的方法很简单,相信看了上面两张图就能知道,给 div 一个固定的高度与宽度就行了。
打开 你的博客的根目录/plugins/syntaxhighlighter/syntaxhighlighter2/styles/shCore.css ,定位到第 165 行,插入下面的两句代码1
2height: 16px !important;
width: 96px !important;
保存以后上传覆盖源文件即可
表示我也是看到 http://www.oschina.net/code/snippet_59831_15056 的效果以后才想起来改这个的。。。不改的话太难看了。。。
放过别人,饶了你自己
生活中,我们身边的人和我们自己都会出现偶尔较劲的状态,有位前辈把这种情况叫做“少智慧”。这种“少智慧”的状态,有点像走进死胡同,我们执着于自己的认知,不肯妥协。而人生在世,无非“读书、历事、见人、行路”当你把经历过于执着一件事,占用大量精力,其他事必然受到影响,而当你集中精力的又是跟你没关系的事,那就更没什么用了。
我从不参与网络上所谓的爆黑幕、红人间的辩论、骂战。首先我不知道真相。其次没有调查研究就没有发言权。而我把时间花在这种,说跟我一分钱关系没有,又不太准确,真的找,又实在找不到那一分钱的事情上,真的是种浪费。最后这世界真的就只有黑白两种吗?真的只有对错吗?无非是大家的饭后谈资。狗仔队关注是因为人家指着这个挣工资,营销公司关注是因为指着这个炒作拉业务。我跟着瞎掺和,觉得自己好像是正义使者,其实让人家当枪使。尤其有这功夫关心别人的事,豆瓣不说每天有上千编辑约书评,也得有成百的编辑约稿吧!都不如想点自己的事,写稿攒点钱做点儿自己喜欢的事。
杨绛有句话说:“你的问题主要在于读书不多而想得太多。”很多时候,眼界的狭小造成人的偏执,看书多了,人的眼界广了,自然就会知道,天高,地广,就不会那么执着了。“读书、历事、见人、行路”,从身边的各方面立体的吸收知识,立体的成长比单纯的依靠某一方面的要成长的快。历事少,见人少、行路少就多读书,这是开阔眼界最廉价的方法。很多人都有为什么同样的年纪,为什么别人比自己混得好的疑问。其实不光是因为对方先天的优势,更多的原因是很多人没有学会如何成长。
有时候我们回忆过去,把事情理解透了,会有“一叶障目,不见泰山”的感慨。之前有位友邻跟我说“土豆姐,我要去广告公司工作了,你能不能给我推荐几本书。”说实话这个实在不是我擅长的,我唯一的广告公司的工作经验,是给他们兼职做了半年的文案。于是我约他到一位广告总监开的咖啡馆去聊,想让那位广告总监给他讲一下。而我们到了,大家互换名片之后,这位友邻执着于让我给他推荐书,我几次把话题引到那位广告总监做过的案例上,友邻都不以为然。直到老板接了一个电话对我说“土豆,我有点事出去一趟,你们聊着。”他走了以后,我指着墙上那张海报说“你觉得那广告怎么样?听说过吗?”他说“知道呀,去年的经典案例。”然后我指着老板给他那张名片的公司给他看。他才发现,原来那广告是老板做的。
最近很多人倡导把精力放在别人的身上,认为过度的把精力放在自己的身上会变的自大,失去了方向,其实我倒是觉得,在成长到一定阶段,还是关注自己吧!每天净关注别人,分析别人的事,不如想想自己的事。关键你分析的还不一定对,之前看一广播说他分析了豆瓣红人出书的,觉得很多人是自己花钱出的书,买的某某出版社的书号。老大你没事吧!在这个大家都百度,懒得写东西的时代,我给专栏写的二百五自我发泄式文章,攒够了都有编辑问我愿意不愿意出合集,人家好几万粉丝的豆瓣红人还用花钱出书吗?而且人家那儿都注明了是出版公司做的运营,用了某出版社的书号而已,根本跟某出版社没关系呀。在哀悼某出版社躺中的同时我也自己反思,关注自己的成长,执着的关注别人的生活,别人的人生,不如放在自己的成长,自己的生活上。别瞎分析了,放过别人,饶了你自己,努力让自己过的更好。
其实关于对待网络的态度,我喜欢《本色》里的观点:“感性的人们可以遇事多点理性和思考,少点冲动和口号。在避免永远做围观的看客,让这个社会越来越冷漠的同时,也要避免我们自己怀善人心做恶人事。与此同时,对于那些内心有着强烈愿望和使命感,希望通过网络发声从而影响社会变革的朋友而言,学会说话,说的有效有理有利有节是重要的功课。任何变革难免要有牺牲,但盲目的牺牲绝对不是变革。如果我们暂时无法改变社会,至少我们每个人可从改变自己开始。”
求教各位大神。。关于 Linux
嗯。。写了第一个 shell 脚本
备份网站用的,需要安装 mutt 支持邮件发送。本脚本将备份 nginx 的 /usr/local/nginx/conf/vhost 下的所有配置文件,/home/wwwroot 下的所有文件,以及除 performance_schema information_schema mysql 以外的所有数据库。网站文件将切割为 10MB 大小的文件。本脚本已在 centos 6.5 下通过测试。
2014-01-13 重要更新,在文件头添加了 export 语句,定义系统字符集,解决了发出邮件乱码的问题
需要先安装 mutt1
yum install mutt
源码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
32
33
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!/bin/bash
常规定义
export LANG=zh_CN.UTF-8
MYSQL_USER="root" #mysql 用户
MYSQL_PASS="root" #mysql 密码
BACK_DIR="bk" #无需修改
to_mail='admin@imjs.work' #收件人
备份网站数据目录
NGINX_DATA="/usr/local/nginx/conf/vhost"
BACKUP_DEFAULT="/home/wwwroot"
定义备份文件名
mysql_DATA=mysql_$(date +"%Y%m%d").tar.gz
www_DEFAULT=wwwroot_$(date +%Y%m%d)
nginx_CONFIG=nginx_$(date +%Y%m%d).tar.gz
判断本地备份目录,不存在则创建
if [ ! -d $BACK_DIR ] ;
then
mkdir -p "$BACK_DIR"
fi
进入备份目录
cd $BACK_DIR
备份所有数据库
导出需要备份的数据库,清除不需要备份的库
mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' > databases.db
sed -i '/performance_schema/d' databases.db
sed -i '/information_schema/d' databases.db
sed -i '/mysql/d' databases.db
for db in $(cat databases.db)
do
mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 - > ${db}.sql.gz
done
打包数据库
tar -zcvf $mysql_DATA *.sql.gz
打包本地网站数据,排除 phpmyadmin
tar -zcvf ${www_DEFAULT}.tar.gz --exclude=${BACKUP_DEFAULT}/default/phpmyadmin $BACKUP_DEFAULT
mkdir ${www_DEFAULT}
cd ${www_DEFAULT}
split -a 2 -d -b 10m ../${www_DEFAULT}.tar.gz $www_DEFAULT
rm -rf ${www_DEFAULT}.tar.gz
cd ../
打包Nginx配置文件
tar -zcvf $nginx_CONFIG $NGINX_DATA/*.conf
upload
echo `date +%Y-%m-%d`' 的备份文件'|mutt $to_mail -s `date +%Y-%m-%d`' 的备份文件 - nginx 与 mysql' -a $nginx_CONFIG $mysql_DATA
echo -e "nginx and mysql is done"
i=0
message='copy /b '
for file in ${www_DEFAULT}/*
do
sleep 15s
tmp=$i
echo `date +%Y-%m-%d`' 的备份文件'|mutt $to_mail -s `date +%Y-%m-%d`' 的备份文件 - 网站文件 - '${www_DEFAULT}`printf %02d $tmp` -a $file
message=${message}${www_DEFAULT}`printf %02d $tmp`'+'
echo -e ${file}" is done"
let i+=1
done
message=${message%+*}' '${www_DEFAULT}'.tar.gz'
echo '合并方法 '${message}|mutt $to_mail -s `date +%Y-%m-%d`' 的备份文件已发送完毕,网站文件共有'${i}'个分段'
cd ../
Delete all local backup
rm -rf $BACK_DIR
exit 0
PHP 中的 ob_start 用法详解
用PHP的ob_start();
控制您的浏览器cache
Output Control 函数可以让你自由控制脚本中数据的输出。它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况。输出控制函数不对使用 header() 或 setcookie(), 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用。
我们先举一个简单的例子,让大家对Output Control有一个大致的印象:
Example 1.1
2
3
4
5
6
ob_start(); //打开缓冲区
echo "Hellon"; //输出
header("location:index.php"); //把浏览器重定向到index.php
ob_end_flush();//输出全部内容到浏览器
所有对header()函数有了解的人都知道,这个函数会发送一段文件头给浏览器,但是如果在使用这个函数之前已经有了任何输出(包括空输出,比如空格,回车和换行)就会提示出错。如果我们去掉第一行的ob_start(),再执行此程序,我们会发现得到了一条错误提示:”Header had all ready send by”!但是加上ob_start,就不会提示出错,原因是当打开了缓冲区,echo后面的字符不会输出到浏览器,而是保留在服务器,直到你使用 flush或者ob_end_flush才会输出,所以并不会有任何文件头输出的错误!
一、 相关函数简介:
1、Flush:刷新缓冲区的内容,输出。
函数格式:flush()
说明:这个函数经常使用,效率很高。
2、ob_start :打开输出缓冲区
函数格式:void ob_start(void)
说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。为了输出缓冲区的内容,可以使用ob_end_flush()或flush()输出缓冲区的内容。
3 、ob_get_contents :返回内部缓冲区的内容。
使用方法:string ob_get_contents(void)
说明:这个函数会返回当前缓冲区中的内容,如果输出缓冲区没有激活,则返回 FALSE 。
4、ob_get_length:返回内部缓冲区的长度。
使用方法:int ob_get_length(void)
说明:这个函数会返回当前缓冲区中的长度;和ob_get_contents一样,如果输出缓冲区没有激活。则返回 FALSE。
5、ob_end_flush :发送内部缓冲区的内容到浏览器,并且关闭输出缓冲区。
使用方法:void ob_end_flush(void)
说明:这个函数发送输出缓冲区的内容(如果有的话)。
6、ob_end_clean:删除内部缓冲区的内容,并且关闭内部缓冲区
使用方法:void ob_end_clean(void)
说明:这个函数不会输出内部缓冲区的内容而是把它删除!
7、ob_implicit_flush:打开或关闭绝对刷新
使用方法:void ob_implicit_flush ([int flag])
说明:使用过Perl的人都知道$|=x的意义,这个字符串可以打开/关闭缓冲区,而ob_implicit_flush函数也和那个一样,默认为关闭缓冲区,打开绝对输出后,每个脚本输出都直接发送到浏览器,不再需要调用 flush()
二、深入了解:
- 关于Flush函数:
这个函数在PHP3中就出现了,是一个效率很高的函数,他有一个非常有用的功能就是刷新browser的cache.我们举一个运行效果非常明显的例子来说明flush.
Example 2.1
2
3
4
5
6
7
8
9
10
11
12
13
for($i = 1; $i <= 300; $i++ ) print(" ");
// 这一句话非常关键,cache的结构使得它的内容只有达到一定的大小才能从浏览器里输出
// 换言之,如果cache的内容不达到一定的大小,它是不会在程序执行完毕前输出的。经
// 过测试,我发现这个大小的底限是256个字符长。这意味着cache以后接收的内容都会
// 源源不断的被发送出去。
For($j = 1; $j <= 20; $j++) {
echo $j."
";
flush(); //这一部会使cache新增的内容被挤出去,显示到浏览器上
sleep(1); //让程序"睡"一秒钟,会让你把效果看得更清楚
}
注:如果在程序的首部加入ob_implicit_flush()打开绝对刷新,就可以在程序中不再使用flush(),这样做的好处是:提高效率!
- 关于ob系列函数:
我想先引用我的好朋友y10k的一个例子:
Example 3.
比如你用得到服务器和客户端的设置信息,但是这个信息会因为客户端的不同而不同,如果想要保存phpinfo()函数的输出怎么办呢?在没有缓冲区控制之前,可以说一点办法也没有,但是有了缓冲区的控制,我们可以轻松的解决:1
2
3
4
5
6
7
8
ob_start(); //打开缓冲区
phpinfo(); //使用phpinfo函数
$info=ob_get_contents(); //得到缓冲区的内容并且赋值给$info
$file=fopen(\'info.txt\',\'w\'); //打开文件info.txt
fwrite($file,$info); //写入信息到info.txt
fclose($file); //关闭文件info.txt
?>
用以上的方法,就可以把不同用户的phpinfo信息保存下来,这在以前恐怕没有办法办到!其实上面就是将一些”过程”转化为”函数”的方法!
或许有人会问:”难道就这个样子吗?还有没有其他用途?”当然有了,比如笔者论坛的PHP 语法加亮显示就和这个有关(PHP默认的语法加亮显示函数会直接输出,不能保存结果,如果在每次调用都显示恐怕会很浪费CPU,笔者的论坛就把语法加亮函数显示的结果用控制缓冲区的方法保留了),大家如果感兴趣的话可以来看看
可能现在大家对ob_start()的功能有了一定的了解,上面的一个例子看似简单,但实际上已经掌握了使用ob_start()的要点。
<1>.使用ob_start打开browser的cache,这样可以保证cache的内容在你调用flush(),ob_end_flush()(或程序执行完毕)之前不会被输出。1>
<2>.现在的你应该知道你所拥有的优势:可以在任何输出内容后面使用header,setcookie以及session,这是 ob_start一个很大的特点;也可以使用ob_start的参数,在cache被写入后,然后自动运行命令,比如ob_start(\ “ob_gzhandler\”);而我们最常用的做法是用ob_get_contents()得到cache中的内容,然后再进行处理……2>
<3>.当处理完毕后,我们可以使用各种方法输出,flush(),ob_end_flush(),以及等到程序执行完毕后的自动输出。当然,如果你用的是ob_get_contents(),那么就要你自己控制输出方式了。
来,让我们看看能用ob系列函数做些什么……
一、 静态模版技术
简介:所谓静态模版技术就是通过某种方式,使得用户在client端得到的是由PHP产生的html页面。如果这个html页面不会再被更新,那么当另外的用户再次浏览此页面时,程序将不会再调用PHP以及相关的数据库,对于某些信息量比较大的网站,例如sina,163,sohu。类似这种的技术带来的好处是非常巨大的。
我所知道的实现静态输出的有两种办法:3>
<1>.通过y10k修改的phplib的一个叫template.inc.php类实现。1>
<2>.使用ob系列函数实现。
对于第一种方法,因为不是这篇文章所要研究的问题,所以不再赘述。
我们现在来看一看第二种方法的具体实现:
Example 4.1
2
3
4
5
6
7
8
9
10
ob_start();//打开缓冲区
php页面的全部输出
$content = ob_get_contents();//取得php页面输出的全部内容
$fp = fopen("output00001.html", "w"); //创建一个文件,并打开,准备写入
fwrite($fp, $content); //把php页面的内容全部写入output00001.html,然后……
fclose($fp);
这样,所谓的静态模版就很容易的被实现了……
二、 捕捉输出
以上的Example 4.是一种最简单的情况,你还可以在写入前对$content进行操作……
你可以设法捕捉一些关键字,然后去对它进行再处理,比如Example 3.所述的PHP语法高亮显示。个人认为,这个功能是此函数最大的精华所在,它可以解决各种各样的问题,但需要你有足够的想象力……
Example 5.1
2
3
4
5
6
7
8
9
10
11
12
13
14
Function run_code($code) {
If($code) {
ob_start();
eval($code);
$contents = ob_get_contents();
ob_end_clean();
}else {
echo "错误!没有输出";
exit();
}
return $contents;
}
以上这个例子的用途不是很大,不过很典型$code的本身就是一个含有变量的输出页面,而这个例子用eval把$code中的变量替换,然后对输出结果再进行输出捕捉,再一次的进行处理……
Example 6. 加快传输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
32
33
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
/*
** Title.........: PHP4 HTTP Compression Speeds up the Web
** Version.......: 1.20
** Author........: catoc <catoc@163.net>
** Filename......: gzdoc.php
** Last changed..: 18/10/2000
** Requirments...: PHP4 >= 4.0.1
** PHP was configured with --with-zlib[=DIR]
** Notes.........: Dynamic Content Acceleration compresses
** the data transmission data on the fly
** code by sun jin hu (catoc) <catoc@163.net>
** Most newer browsers since 1998/1999 have
** been equipped to support the HTTP 1.1
** standard known as \"content-encoding.\"
** Essentially the browser indicates to the
** server that it can accept \"content encoding\"
** and if the server is capable it will then
** compress the data and transmit it. The
** browser decompresses it and then renders
** the page.
**
** Modified by John Lim (jlim@natsoft.com.my)
** based on ideas by Sandy McArthur, Jr
** Usage........:
** No space before the beginning of the first \'<?\' tag.
** ------------Start of file----------
** |<?
** | include(\'gzdoc.php\');
** |? >
** |<HTML>
** |... the page ...
** |</HTML>
** |<?
** | gzdocout();
** |? >
** -------------End of file-----------
*/
ob_start();
ob_implicit_flush(0);
function CheckCanGzip(){
global $HTTP_ACCEPT_ENCODING;
if (headers_sent() || connection_timeout() || connection_aborted()){
return 0;
}
if (strpos($HTTP_ACCEPT_ENCODING, \'x-gzip\') !== false) return \"x-gzip\";
if (strpos($HTTP_ACCEPT_ENCODING,\'gzip\') !== false) return \"gzip\";
return 0;
}
/* $level = compression level 0-9, 0=none, 9=max */
function GzDocOut($level=1,$debug=0){
$ENCODING = CheckCanGzip();
if ($ENCODING){
print \"n<!-- Use compress $ENCODING -->n\";
$Contents = ob_get_contents();
ob_end_clean();
if ($debug){
$s = \"<p>Not compress length: \".strlen($Contents);
$s .= \"
Compressed length: \".strlen(gzcompress($Contents,$level));
$Contents .= $s;
}
header(\"Content-Encoding: $ENCODING\");
print \"x1fx8bx08x00x00x00x00x00\";
$Size = strlen($Contents);
$Crc = crc32($Contents);
$Contents = gzcompress($Contents,$level);
$Contents = substr($Contents, 0, strlen($Contents) - 4);
print $Contents;
print pack(\'V\',$Crc);
print pack(\'V\',$Size);
exit;
}else{
ob_end_flush();
exit;
}
}
?>
Debian下超省资源vagex挂机方案
最近免费VPS出的比较多,免费的显而易见性能不会那么好,所以就需要一个更省资源的挂机方案!
所以选择了debian,以下步骤仅仅适用于debian 6 32bits系统!
64位的和其他系统自己根据实际情况修改!
提醒一点,因为是编译安装,编译过程会比较慢,这个跟VPS的性能有关,时间最长的我经历过4个小时以上!所以建议以下所有的过程都在screen里面执行!
1.安装相关依赖1
apt-get -q -y --force-yes install vnc4server xterm jwm mercurial libasound2-dev libcurl4-openssl-dev libnotify-dev libxt-dev libiw-dev mesa-common-dev autoconf2.13 yasm bzip2 libidl-dev zip
2.下载firefox 3.6.28的源码包,解压并编译安装。1
2
3
4
5wget http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/3.6.28-candidates/build1/source/firefox-3.6.28.source.tar.bz2
bzip2 -d firefox-3.6.28.source.tar.bz2
tar -xvf firefox-3.6.28.source.tar
cd mozilla-*
./configure --enable-application=browser && make && make install
3.下载flash插件并安装1
2
3
4wget http://fpdownload.adobe.com/get/flashplayer/pdc/10.3.183.19/install_flash_player_10_linux.tar.gz
tar xvzf install_flash_player_10_linux.tar.gz
mkdir -p ~/.mozilla/plugins/
cp libflashplayer.so ~/.mozilla/plugins/
4.启动VNC并设置1
2vncserver
vi ~/.vnc/xstartup
把以下两行内容添加到末尾1
2startjwm &
firefox --display=:1
添加权限1
chmod +x ~/.vnc/xstartup
5.设置VNC开机启动1
vi /etc/init.d/vncserver
将以下内容填入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
32
33
34
35
36
37
38### BEGIN INIT INFO
# Provides: vncserver
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
PATH="$PATH:/usr/X11R6/bin/"
# The Username:Group that will run VNC
export USER="root"
#${RUNAS}
# The display that VNC will use
DISPLAY="1"
# Color depth (between 8 and 32)
DEPTH="16"
# The Desktop geometry to use.
#GEOMETRY="x"
GEOMETRY="800x600"
#You Can Choice GEOMETRY="1024x768" && GEOMETRY="1280x1024"
# The name that the VNC Desktop will have.
NAME="Vncserver"
OPTIONS="-name ${NAME} -depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"
. /lib/lsb/init-functions
case "$1" in
start)
su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
;;
stop)
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
;;
restart)
$0 stop
$0 start
;;
esac
exit 0
添加权限1
chmod +x /etc/init.d/vncserver
使配置生效1
update-rc.d vncserver defaults
6.添加计划任务,定时重启vnc或者系统,以防止firefox假死不出分1
crontab -e
规则就不多说,根据自己的实际情况编写。
规则编写可参考以下两篇文章
http://www.linuxde.net/2011/12/3758.html
http://hi.baidu.com/aboc/blog/item/3d469358b9f468cd9d82047d.html
7.重启,安装插件进行相关设置即可!1
reboot
相关设置,请参考
http://sunsea.im/linux-vps-vagex-automatic-money.html
总结一下节奏大师里的奇葩关。。。
Linux下如何删除文件名乱码的文件
刚刚在自己的VPS上下载个带有中文命名的压缩包,然后安装时就碰到这个问题。。。
死活就是删不掉。。。rm -rf 没用,rm -rf 没用,rm -rf .*没用。。。
只好用节点号删除了
首先在文件路径下 ls -i
列出的文件夹和文件名左侧会有一串数字,这就是节点号
删除文件
find -inum [节点号] -exec rm {} \;
例如 find -inum 1393332 -exec rm {} \;
执行后不会有返回结果,但是通过ls可以看到文件已经被删除了
转载自:http://www.shenqhy.com/linux-how-to-delete-the-file-name-garbled-file.html









































