执行 rm -rf /bin 命令后

不小心删除了/bin目录,对于我们这种对系统认识不太高的人来说,的确是受到了灾难性的打击,但是静下心来好好搜索分析,还是能找到解决办法的,跨过了一个坎,就是一次成长,亲们,发现php的强大了吗^_^!

由于服务器被挖矿程序黑了,cpu占到100%,在删除相关问题文件的时候,不小心执行了 rm -rf /bin 命令,然后再删除另一个恶意文件时,发现rm命令不能用了,查询一下,发现ls和vi这些个基本命令全都不可用了,这下发现自己闯大祸了。线上服务器出问题从来没有小问题。

什么都不敢动了,赶紧网上查解决办法,网上大体上是给出了两个方案:一个是去机房使用系统光盘恢复bin目录;一个是从相同系统中拷贝bin目录下的文件到当前目录。简单了解了下,如果删除后取消了远程连接,也没办法再登录了,就只能用第一个方法了。还好,我保留着连接没有断,另外有一个相同系统的正常的服务器的bin目录可供使用,所以决定用第二个方案。

然而,问题又来了,bin被删除后,基本上系统什么命令都没办法执行了,cp,scp等等所有能用的命令都不可用了。。。

正在陷入极度恐慌之时,搜索到一篇文章,给了我一个思路,文章地址:http://www.cnblogs.com/hark0623/p/5886091.html,就是将文件放到web服务器上,然后通过wget将文件拉倒当前服务器来。接下来将被删除bin目录的服务器称为A,同系统正常服务器称为B;

按照这个思路,我将B服务器上的bin目录copy了一份到B服务器的web目录,浏览器测试可以将文件下载下来,接下来考虑怎样在A服务器上获取文件。原本文章里面说的使用wget的功能,经测试发现命令不可用,就是说wget也是在bin目录里的命令。那就再换思路,除了bin目录里的命令,还有哪些是可以远程获取文件内容的。

由于A、B两台服务器用的都是php,我就考虑,能不能用php的函数实现从B服务器上复制文件到A服务器上来的可能性。

php执行脚本的路子已经很熟悉了,但是当前情况是,A服务器上已经没办法进行vi等类似的编辑操作,也没法进行git等版本控制器的操作了,那么php有没有类似的命令行操作呢?然后继续网上搜索信息,发现php是可以直接执行php脚本的,参考文章地址:http://www.linuxdiyf.com/linux/13076.html,文章里提供了一个方法:

/usr/local/php/bin/php -r 'phpinfo();'

经过测试,使用下面的命令:

/usr/local/php/bin/php -r '$content=file_get_contents("http://abc.def.com/testbin/ls");file_put_contents("ls",$content);'

顺利的将B服务器上的文件拷贝到了A服务器上来,测试是否可用

./ls

提示权限不足,跟这篇文章给的结果一样:http://www.cnblogs.com/hark0623/p/5886091.html,采用文章里的方法:perl -e “chmod 0777, ‘mkdir'”,perl命令依然不能用,那就继续php解决:

/usr/local/php/bin/php -r 'chmod("ls",0777);'

再次测试 ./ls 发现可用了,按照这个思路,重点拿到了cp和rz文件,通过cp将rz文件copy到 /bin 目录下,然后将剩下的文件全部通过rz上传到A服务器的/bin目录,chmod修改权限后,基本命令都恢复可用了,远程登录也OK了,至此问题解决

北漂多年后,竟然

怎样在平凡的生活中,让自己的钱包得到升华,通过积累,让自己走出贫穷的圈子。。。

QQ图片20170511173644
w君系博主同一年毕业的大学同学,当年毕业后一起北漂找工作,如今算下来在北京已工作多年。两人经理相当,都是在帝都从事为大众所熟知的码农一职,收入也基本持平。由于工作原因,两人虽处同一城市,见面的机会却是不多,也就闲时聊聊QQ,通通电话,打打游戏。

上周末小聚,除了博主和w君外,还有其他一些同学,有朋同城来,自是不亦乐乎,找了个高档点的酒店,大家围坐一桌,开怀畅饮,高谈阔论(互相吹牛呗),酒过三巡,菜过五味,大家聊到了存款的事情。真实不聊不知道,一聊不得了啊,同为北漂一族,大家平时聊天工资孰多孰少心里多少有个底,大抵存款相差不应太多的。几个同学里,只有一个同学因人品好,有好的机遇,在一公司工作,赶巧碰上公司上市,员工分股份。该同学一下满了钱包,当时让大家是各种羡慕嫉妒恨啊。然而当天又出现一惊炸朋友圈的消息。

几个同学连博主在内,剩下同学存款都一般的情况下,w君竟然脱颖而出,钱包明显比大家大了好几个罩杯。于是同学们的荷尔蒙一下就被激发了,每个人的眼睛里都写满了三个字“有内幕”。。。

要说w君博主还是很了解的,平时是比别人省吃俭用,但是再节俭,受工资影响,钱包也不至于那么波涛汹涌。那么一定是有什么好的门路能用来发家致富。都知道码农是可以吃着锅里的,想着碗里的,能够做兼职赚外快的,可是w君闲时也和大家一样,基本属于虚度光阴类型的,要是再做个兼职,那估计就没有睡觉时间了。。。

在大家的一再追问下,w君终于向大家倒出了原委。

w君先是问:“你们知道理财吗?”

众人回:“当然知道”

要说理财,出来工作的人,多少都知道一点,就拿博主来说,知道银行活期利息低,但凡发了工资,钱全都扔到某某宝里了。这就是理财啊!

但是w君告诉我们,理财远没有那么简单

“你们往外借钱吗?”

仅一句话,就搞的大家唉声叹气

“我前年借给一初中同学5000元,到现在要不回来”

“你才5000,我借给我那个大学同学20000,到现在都联系不上了”

“我3年前借给一高中同学3000,每次要他还钱都说过几天,结果就是不换”

“熟人借贷一般都不会给借条的,利息更别说,更甚的,像你们这种,可能连要都要不回来”,w君如是说:“我们毕业后不久,我在网上看了一篇关于理财的文章,里面就说了,借钱是最差劲的理财!所以我从不往外借钱,大家都是北漂辛辛苦苦来挣钱的,真正靠得住的朋友,但凡有双手,肯踏踏实实工作的,基本不会找人借钱的,你想想你们找别人借过钱吗?”

“不借给别人钱,并不能代表你不够朋友,不借钱出去,这些钱用来理财,也能带来一部分收入”w君继续道。

想想也是w君还是很够哥们的,虽然对自己吝啬,但是请客帮忙什么的,还真对得住大家。

“光靠不借钱也不该有这么多收入啊?”有同学发现了问题

“对,下面要说重点了”w说到:“余额宝利息高大家都知道,然而还有比余额报利息还搞的!”

“不会是股票吧?那东西我们也不懂啊”有同学说。

“股票风险太高,大多数人进去都是亏钱的,我不推荐你们玩股票,除非你们都是大款,不在乎赔钱”w君接道。

“那难道是什么现货,黄金,白银?天天接到他们的电话,烦都烦死了,真想来一个骂一个”另一个同学说。

“也不是”w君说。

“你就别卖关子了,赶紧告诉大家你的 super idea”博主在秀自己蹩脚的英语了

“我的理财方法就是……”w君故意拉长了语调说到:“找个靠谱的理财平台去投资,收益完虐某宝!”

“愿闻详情”大家一致说。

w君推了推自己的眼镜说到:“卷钱跑路你们都听说过吧?其实不是所有的金融平台都是为了携款跑路的,有一些金融公司是真正的做理财的,他们的理财一般都高于某宝,最然操作上和知名度上没有某宝好,但是重在收益高啊,只要找到一个好的理财平台,就能拿到高收益。而好的理财,不会跑路,还能保证用户收益才是关键”

“那你用的平台是哪个?”大家都忍不住了,一起问到。

“你们问到点子上了”w君一副你们终于开窍了的样子说:“大的平台有很多,也比较靠谱,但是平台收益率一般跟上线时长呈反比,就目前来说,我推荐你们用《创客金融》这款,他们家不仅有新用户红包,像你们第一次注册就能拿到红包,只要进去进行投资,就能将红包变现,当然推荐这家平台最主要的不只是这家平台收益高,还接入了银行存管系统,简单点说,银行存管就是平台的钱是放在银行里用户自己的账号里的,这从根本上杜绝了平台卷钱跑路的风险,没风险,高收益,如果你们身上有几万块的可流动资金,那就赶紧去投吧!我跟你们说我现在就在《创客金融》投。。。”

大家已经顾不上w君在说什么了,纷纷掏出手机。。。。

创客活动第一次尝试写广告文章,写的不好,还望海涵^_^!
借钱不还的,总是让人气愤,博主也深受其害,与其将钱借出去,不如去买个靠谱的高收益理财产品,有意向投资的,请点下面链接

http://w.t.cn/a

京东金融趣闻

据小道消息,2017年04月10日,京东金融来了一群不俗之客,定眼望去,各种明星大咖。

据小道消息,2017年04月10日,京东金融来了一群不俗之客,定眼望去,各种明星大咖。

此次行动非常神秘,各大媒体查询不到一丁点相关消息的报道。

一般情况下,企业请明星来,无非为了为公司产品找代言人,从而增加公司产品曝光率和可信赖度。可此次京东金融在请来各种大咖的情况下,现场竟然没有看到一家媒体记者的出现。

根据新进八卦人士 二皮 的敏锐观察,这是相当反常的事情,内部一定有不可告人的秘密。为了一探究竟,二皮暗地联系了在京东内部工作的线人进行询问。果然发现了惊天大秘。。。

原来京东金融技术部门有一个长相又帅,能力又高的保定农村的帅小伙,是在京东金融做java开发的,这么多明星大咖齐聚,其实就是为了一睹其芳容。。。

那么,这个神秘的帅小哥是谁呢,经过多方采访取证,原来是2012年毕业于邯郸大学的名字叫王建的一个帅哥,据可靠消息,该帅哥至今还是单身一个人哦,有意向的妹子抓紧了,机不可失,失不再来!!!

 

 

以上内容纯属瞎编,如有雷同,纯属巧合^_^!

描述字段超过限制

微信群发接口发送失败,错误码:45004,错误内容:description size out of limit,最快最方便的解决办法,请这里看过来!

每天正常调用的微信群发接口,突然发现当天图文消息没有群发成功,查看微信返回状态码为 45004,说明 description size out of limit,看字面意思,是文章说明超限制了。。。

人家既然有限制了,咱就改呗。可是该怎么改,改成多少长度合适呢,不知道直接看微信接口文档。。。

上接口文档里查,状态码只给出了说明:“描述字段超过限制”。根据提示“description size out of limit”,应该是说“description”这个字段的,赶紧去找这个字段,修改长度。可是,把代码认认真真,仔仔细细的看了一遍,也没有这个参数啊。。。

还是啃官方接口文档去,认真看一遍,原来“description”,在接口里面是用的“digest”这个键,是用来放文章摘要的,好那就为这个值做下处理好了。。。

再次查阅文档,尼玛,光说超限,竟然没给出具体限制是多少!这坑货,也没谁了。。。这让人怎么改,随便写个数,想想还要用测试号去一遍一遍测试,也是够了。。。

干脆,哥直接把“digest”赋空,空了总不超限了吧。测试发现消息发送成功。。。

如果您了解微信接口对文章摘要的长度限制,热烈欢迎答疑解惑

不知道取消了微信接口的文章摘要,对SEO方面有没有影响,后期会研究出微信对文章摘要的具体限制长度的

linux时间同步矫正

线上服务器,总是会发现时间与网络事件不同步的现象,现在教大家一个服务器自动同步时间的方法!

1,yum自动选择安装ntp,然后设置时区为北京,并更新服务器时间

// yum安装ntp

>yum -y install ntp

// 删除本地时间文件

>rm -f /etc/localtime

// 重新生成本地时间文件

>ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

// 去pool.ntp.org同步最新时间

>/usr/sbin/ntpdate -u pool.ntp.org

2,crontab 添加自动同步时间的任务

// 编辑linux自动任务

>crontab -e

## 设定每6小时同步一次

**/6 * * *  /usr/sbin/ntpdate-u pool.ntp.org >/dev/null2>&1

// 重启crond服务

>systemctl restart crond
“//”和“##” 均为注释符,后跟注释说明程序员开心一刻:
美国圣昆廷州立监狱安排囚犯学习编程,完成学习的犯人出狱后,没有一个人重新犯罪被抓回监狱。一位刚刚出狱的囚犯说:“太可怕了,我宁愿在外面饿死也不想再进去学编程了。”

短篇小说——死亡手表

最近一篇关于死亡手表的视频在百思不得姐上火了,本文为博主观后有感,随意YY,为劳苦的码农提供轻松一刻0.0

死亡手表视频地址:http://www.budejie.com/pc/24132343.html
死亡手表
死亡手表
a君听说有预测死亡时间的表,出于好奇,上专卖店买了一块
买了后,激动不已,在店里就把信息录入完毕,
看到表上出的数字,一算,还有70年可活,顿感生活充满美好,
就连店里的销售,都说,我们卖了那么多块手表,
您是我们见过预测寿命最长的了
a君带着手表开开心心的离开了,
走出商店不远,被一辆疾驰而过的卡车撞到
送医后经抢救无效死亡,
享年30。。。。

微信群发消息失败

本来正常运行的微信群发接口,突然群发消息失败了

本来正常运行的微信群发接口,突然发现粉丝收不到群发的消息了,严重影响平台活跃度,从而影响公司利益。

出了问题就要解决,先查自身原因吧,手动请求微信消息群发接口,返回接口调用成功。。。什么鬼,当头一棒啊,难不成是微信平台自身的问题,是队列拥堵,还是服务器挂了?再看看别人家的信息是正常发送的,只有自己的群发没有达到用户端,说不过去了。可是你微信偏偏回复的是我接口调用成功,就是说我把消息成功发送到了你微信平台,但是你没有把消息再发往用户。。。

只能联系微信方了,找了半天找到客服电话,一打,压根没有人工服务。。。。超级吐槽:你微信家大业大的,连个7*24小时人工客服都没有配上。。。

再想其他方法,按照给出咨询方式,提交了问题,一天过去了。。。。,两天过去了。。。。,三天。。。。没有回信。。。。。。我了个去。。。

我司花了三百大洋认证了,为的就是能好好服务我司客户,将高质量信息通过微信第一时间交到用户手里,现在,我花了钱能用你的服务了,把信息给你,你却没有下一步了,只收钱不办事啊,客服不管用,咨询不管用,你功能有问题,你不急,我皇帝(顾客是皇帝是谁说的来着)可急了啊 0.0!

客服咨询走不通,咱也不能干耗着,联系本来好好的突然不能用了这一实情,考虑也许是微信当家的突然对接口做什么更改了,咱在好好确认下的接口文档吧。别说还真发现了

不知道是以前没注意,还是的确是微信新加的功能,在文档群发接口说明里,发现了新大陆——原创校验。大概意思是你群发的文章里如果有被微信认定为原创不属于你的,如果原创人不同意转载,那你的消息我就不给你发。再往下看,发现还有个新参数:send_ignore_reprint,该参数默认为假,校验信息为转载的时候,就不给你群发了。如果设置为真,则继续群发。好吧,我承认,我的信息大多都是从网上借鉴(copy)来的,没有及时查看你的文档跟新是我的错,我改总行了吧。。。

把send_ignore_reprint参数带上,并设置为真,用测试账号测试,还是失败。。。好家伙,send_ignore_reprint是摆设吗?

猜想:send_ignore_reprint参数是 跟 原创是否允许转载 这一设定有上下级关系的。就是说这个参数本身的意义是,你要设置为假,那么只要校验出有转载,我就不给你群发了;你要设置为真,我校验出转载后,还要看看用户是否允许转载,允许就能把消息给你群发了,不允许还是不给你群发

获取不到$_GET参数

遇见了个怪现象,php获取$_GET为空,输出server信息$_SERVER[‘QUERY_STRING’]=”,$_SERVER[‘REQUEST_URI’]里面也没有“?”号后面的参数,查看nginx配置,没有重写,没有问题

今天查看网站wap端页面的时候,发现列表页出不来了,报错没有request参数,很奇怪,以前没问题的怎么突然出现了这个问题

先排除了url本身的问题,从火狐里查看,参数正常发送了,可是服务器端就是收不到,var_dump($_SERVER)查看,发现参数没有到达php,于是怀疑是nginx是不是配置出了问题,考虑到近期没有动过nginx的配置,但是本着细心求证的原则,还是去认真查看了nginx的配置,经过检验,nginx的配置也没有问题,好怪异,到底是哪里的问题,会造成php获取不到get参数呢?

难道是服务器被黑了。。。阿里云的服务器,自己又做了强大的安全配置,得多NX的大神才能黑进来啊,并且php和nginx的配置和运行都没问题,应该不是,不管怎么说,决定看一下nginx的请求日志,发现,请求到达nginx的时候,参数已经被删掉了,这下傻眼了,不用说,应该是被劫持了!!!

想想还不对,在我大天朝享誉国际的都城北京这个天子脚下,谁敢犯如此大不敬之罪,在网络上明目张胆的肆意作乱*_*!

一时想不起来问题所在,不能一直搁置,互联网公司这种问题伤不起,赶紧请教大神:姜还是老的辣,在介绍完情况后,根据我的描述,老大立刻把问题定在能出现这种问题的本源上去——cdn!

恍然大悟,前段时间网站刚刚上了阿里云的cdn功能,在hosts中重新写解析,再测试,发现可以获取参数了,看来是阿里云的cdn,在用户请求url的过程中把“?”后面的参数部分给删除了,那这要怎么办,停止cdn不好,不停动态页面又有问题,两难啊。

阿里家的技术怎么说在国内技术界也是数一数二的,这种问题不可能没有解决办法的,于是赶紧登陆阿里云,认真仔细的研究阿里云的cdn功能,果然,阿里云cdn管理里面有一个过滤参数的功能,当时自己第一次使用cdn,迷迷糊糊不是很了解这个功能,就开启了这个功能,这个功能是开启后,cdn就主动把问号后面的参数部分删除了,添加特定过滤项后,再次去查看列表页,OK,完事大吉!

总结!由于自己对CDN的认识不足,开启了阿里云cdn功能里的参数过滤功能,造成请求动态页面的时候,cdn把动态参数删除了,从而动态页因为获取不到参数而报错,只怪自己学艺不精,见识浅薄。

送自己一句话——人生路上,学无止境

No input file specified. 解决办法

正常网站,请求不存在的页面,出现No input file specified. 的解决办法,原因是nginx没有开启404跳转

nginx 配置了地址重写

if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?_url=/$1 last;
}

然后将所有php求情转到php去,
这时如果请求的是php页面,nginx就没有进行重写直接转到php去了,比如请求:/a.php
这时,php返回:

No input file specified

此时,nginx直接将结果返回到页面去了,查看nginx配置,发现没有设置错误页跳转功能,于是在nginx的server中加上:

error_page   404 = http://www.xxx.com/404.html;

果断加上,重启nginx后,发现还是没有跳转。。。

再次查找问题原因,发现原来nginx没有开启错误跳转功能,于是再在nginx的http配置中加上:

fastcgi_intercept_errors on;

重启查看结果,No input file specified不再返回,而是调到指定的 http://www.xxx.com/404.html页面去了,问题解决

aptana无法启动

由于apnata(eclipse)构建工作空间阻塞时,执行了更新文件的操作造成aptana跑死无响应,而直接关闭aptana,使得再次启动时闪一下(载入项目失败)就退出

双击启动图标只闪了下开始加载的图片(显示到载入项目)自动退出了,下面是网上找到的结果(不符合本次问题解决方案)
Aptana 启动时经常双击启动图标只闪了下开始加载的图片就启不起来了,应该是加载的时候内存溢出了,出现这种情况以后,重启机器也还是启动不了,重装 Aptana 也还很可能会重复这类问题,被这个问题搞得头大。

后来摸索了下找到个变通的解决办法,打开 Aptana 的安装目录,下面有个 startup.jar ,双击这个 jar 包启动程序,中间有可能会报内存溢出问你是否需要关闭,中间提示全部点否,启动完了以后,这个时候还不能正常使用,因为每打开一个页面或者点一个标签都会报 “An error has occurred. See error log for more details.”,先不急,等 Aptana 所有全部加载完了以后,下面会有进度条显示,关掉 Aptana Studio 工具,点开始进入 cmd 命令窗口,cd 到 Aptana 安装目录下,执行 AptanaStudio.exe -clean 命令就可以正常启动使用了,如果执行这个命令没有启动的话,那就是你在使用 startup.jar 启动的时候没有加载完所有的程序你就关掉了 Aptana Studio,再使用 startup.jar 重新加载一次以后重复上面的操作即可。
注意如果 Aptana 非正常关闭,点击 startup.jar 的时候可能会启动不了,是由于工具的java进程还在,通过任务管理器把工具的 java 进程停掉再启动 startup.jar 程序。

来源:http://hello-player.iteye.com/blog/450103

之所以不符合,是我根本没在安装文件中找到startup.jar文件;只能再想办法解决,想到aptana是运行到载入项目时出错的,那应该是项目文件加载过程中出了问题,于是将我的项目文件(“D:\www”)改个名字,再运行apnata,这次成功的启动了aptana(由于将工作空间改名字,aptana没有找到工作空间路径,于是新建了“D:\www”),至此问题方向确定是由工作空间里的问题造成的,查看工作空间文件夹,发现新旧两个工作空间中都有“.metadata”文件夹,研究两个.metadata发现两者的子文件夹->.plugins下的内容不一

网上说.plugins下放的都是aptana的插件,是由aptana自动载入的,于是果断的删了老空间中的.plugins文件夹及下所有文件,再将名字改回去,重新启动apnata,OK,启动成功,重新导入本地项目,git测试OK

总结:
问题:由于aptana(eclipse)启动时载入项目错误导致shoutdown,程序无法启动
解决方法:删除项目中的.metadata文件夹及下所有文件或删除.metadata下的.plugins文件夹,重新启动apnata