音乐剧-千万留神

千万留神

讲述的是一个因言语冲突致人轻伤坐牢15年的人,出狱后成为一个演员的一些事情

其中桑医生劝他的一段特别有意思,你要强大,要适应,要改变,不要冲动,不要盲目

可惜没有版权的在线音乐…

《人是鱼变的》歌词:
我们总要
随着社会改变
去强大自己
然后再去
改变世界
哪能万事顺着你
我们必须
适应世界
最终百毒都不侵
然后才能
活在世上
笑看污染满天飞

Fabric 错误异常处理

Fabric是Python编写的自动化运维工具,使用fabric批量去机器上面执行shell脚本的时候,可能会遇到机器故障等情况,造成执行中断,那么能否忽略或者说爆出异常之后继续执行呢?那就需要fabric的异常处理,具体实现参见下面

错误异常打印如下:

《一分钟经理人》读书笔记

一分钟经理人这本书比较薄,上下班通勤路上就看完了,包含内容归纳的也比较简洁,印象比较深的是其中一页插图,分别对应着开始时要考虑一分钟目标、成功时要考虑一分钟表扬和失败时应考虑一分钟更正,简洁但不简单,又看了一下Kindle上阅读时的标注,回顾一下书上的内容。
Read more

dependencies.dependency.version missing问题解决

Spring Boot打算引入Redis但是导入依赖包之后却报如下错误

同时pom配置文件中位置,报如下位置:

解决方案

排查一:

是否引入了<parent>标签,如果未引入请引入,或者主动加上version

排查二:

是否dependences包含在了dependencyManagement标签内

排查三:

其中网上搜索了一下很多答案集中在是否引入了parent,但是parent是完整引入的,最终发现原来是因为使用的Spring Boot 1.5,而Spring Boot 1.2之后不再支持spring-boot-starter-redis,更换之后就OK了,至于这两个有何不一致,没什么不一致,为何名称变了,大概可能是为了统一,记录一下,如果遇到的小伙伴麻烦检查一下,是否将 spring-boot-starter-data-redis 写成了spring-boot-starter-redis 。

解决Error: pg_config executable not found问题

最近安装sentry时,需要安装postgresql,但是安装过程中报如下问题

最终查看pg_config是存在的

但是path里面没有,直接导入pa_home中bin目录的所有命令解决

解决SOAP客户端在请求https时设置超时时间无效导致进程卡死问题

目前有一个进程服务脚本是不断查询渠道的接口,但是历史问题是有时订单量大的时候进程会卡死,这次遇到了进行排查一下:

首先获取该进程ID

strace查看该进程正在持续的状态

lsof查看进程的所使用的文件

可以发现最终是停留在https的链接建立,等待获取数据,查看此处代码

当前版本php较老,这里是有个bug的在https链接请求时SOAPClient的超时时间是不生效,最终采取如下方案解决此问题:

复写SOAPClient,在https时候使用curl来完成请求解决问题

解决PHP7下Session callback expects true/false return value in 问题

升级项目致PHP7遇到Session报警告,既然升级新版本,警告什么的肯定要一起都处理了

经过跟踪排查,发现是到session_start这一步遇到问题,session_start()使用你之前通过session_set_save_handler(….)方法设置的处理器,现在PHP7要求必须返回true/false,所以你需要检查一下你的这些处理器方法是否准确返回true/false了

session_start() uses any handlers you’ve previously set with session_set_save_handler(…), and that handler (or the individual functions) must return a true/false result to signal success or failure. You have a handler that does not return a true/false result. To recap; the actual error is the implementation of your session handler, not the code that calls session_start().

记录Linux系统邮件mail无法发送问题

很多应用,比如wordpress使用PHP的mail函数,将会调用系统邮件发送功能,这时候邮件无法发送该如何排查呢?

  • 安装sendmail来发送邮件

  • 启动sendmail

可通过ps -ef | grep sendmail,观察是否启动成功

  • 测试邮件发送

如果没收到那么查看一下 /var/spool/clientmqueue下面是否存在未发送邮件,tail -f /var/log/maillog 查看邮件发送日志。

另外查看一下网络访问及25端口有无问题。

解决/var/spool/clientmqueue/文件过多问题并记录Linux下快速列出含文件较多文件夹的内容方法

最近发现sendmail的进程较多,观察了一下,是在消费/var/spool/clientmqueue/下的内容,这里面文件太多ls直接卡死了,那么如何列出来呢?

先后使用了ls、tree、find等命令,效果都不明显。

最后使用locate成功解决~

观察了一下至少有600多万个文件。。。

当你使用简单的sendmail发邮件的时候, 或者系统默认要发一些邮件(比如cron发的邮件)的时候,首先会把邮件拷贝到这个目录里,然后等待MTA(mail transfer agent) 来处理,MTA做的事情通常是把这个目录中的邮件弄到/var/spool/mqueue里,然后再发送到真正的目的地。出现/var/spool /clientmqueue/非常大的情况通常因为没有合适的MTA发送邮件,就都积累在这里了,假如这里的邮件并不是你需要的,你可以简单的删掉他们。

根据需要发邮件的内容来看,解决这块主要两点:

1、针对crontab一些输出之类的其会发邮件,需要定时任务后加上

2>是重定向错误

2、梳理业务逻辑控制发邮件频次

当然这两个前段时间都处理了一下,这次主要启用的机器有一些之前的邮件,所以删除了

xargs的功能:它将输入输出给xargs后面的命令,作为那个命令的参数

如果你感觉删的比较慢想先快速解决,那么先给他mv一下吧,把事情解决了,然后慢慢删

完事后记得重启一下sendmail sudo /etc/init.d/sendmail restart