使用jenkins做单元测试的时候出现的异常
项目环境是jdk17,本地测试,测试服运行都没有问题,只有单元测试出异常。原因是maven中节点环境变量的JAVA_HOME指向的JDK版本是/usr/lib/jvm/openjdk,我的服务器是11,改成正确的路径就好了
开始以为是maven-compiler-plugin 版本有对应关系,不匹配。
因为命令行直接打java -version是正确的版本17,没有发现问题
又一个WordPress站点
使用jenkins做单元测试的时候出现的异常
项目环境是jdk17,本地测试,测试服运行都没有问题,只有单元测试出异常。原因是maven中节点环境变量的JAVA_HOME指向的JDK版本是/usr/lib/jvm/openjdk,我的服务器是11,改成正确的路径就好了
开始以为是maven-compiler-plugin 版本有对应关系,不匹配。
因为命令行直接打java -version是正确的版本17,没有发现问题
服务器是k8s一个节点,经常警告内存占用高,实际top查看并没有看到占用高的进程。
使用命令查看:
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head
发现rsyslogd竟然占用了37.9…这不是坑么。
通过 systemctl status rsyslog 并没有发现别人家说的配置错误等问题
重启下rsyslogd服务解决,再观察下吧
systemctl restart rsyslog
ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
原始日志文件格式定义错了连着两个”引号,批量替换
sed -i "s/\"\"/\" \"/g" ./2017-09-01.log
文章来源:
http://www.vr4servers.com/ffmpeg2/
Login as root
You have to add the repository
rpm -Uvh http://dl.atrpms.net/el6-x86_64/atrpms/stable/atrpms-repo-6-7.el6.x86_64.rpm
yum install -y ffmpeg ffmpeg-devel
不用自己编译了
更简单的办法是下载编译好的
http://johnvansickle.com/ffmpeg/
centos试验可以用,更靠谱,yum版本的没法打字幕,没libass
字体参考
https://gist.github.com/sxyx2008/9d5572a25063790db5fb
添加字幕
有的时候你需要给视频加一个字幕(subtitle),使用ffmpeg也可以做。一般我们见到的字幕以srt字幕为主,在ffmpeg里需要首先将srt字幕转化为ass字幕,然后就可以集成到视频中了(不是单独的字幕流,而是直接改写视频流)。
ffmpeg -i my_subtitle.srt my_subtitle.ass
ffmpeg -i inputfile.mp4 -vf ass=my_subtitle.ass outputfile.mp4
但是值得注意的是:
my_subtitle.srt需要使用UTF8编码,老外不会注意到这一点,但是中文这是必须要考虑的;
将字幕直接写入视频流需要将每个字符渲染到画面上,因此有一个字体的问题,在ass文件中会指定一个缺省字体,例如Arial,但是我们首先需要让ffmpeg能找到字体文件,不然文字的渲染就无从谈起了。ffmpeg使用了fontconfig来设置字体配置。你需要首先设置一下FONTCONFIG_PATH或者FONTCONFIG_FILE环境变量,不然fontconfig是无法找到配置文件的,这一点请参看这篇文章,如果你设置的是FONTCONFIG_PATH,那把配置文件保存为%FONTCONFIG_PATH%/font.conf即可,然后你可以在font.conf文件中配置字体文件的路径之类的。
Windows下为fontconfig设置如下的环境变量
FC_CONFIG_DIR=C:\ffmpeg FONTCONFIG_FILE=font.conf FONTCONFIG_PATH=C:\ffmpeg PATH=C:\ffmpeg\bin;%PATH%
下面是一个简单的Windows版font.conf文件。
<?xml version="1.0"?> <fontconfig> <dir>C:\Windows\Fonts</dir> <cache>C:\WINDOWS\Cache\Fontcache</cache> <cachedir>C:\WINDOWS\Cache\Fontcache</cachedir> <match target="pattern"> <test qual="any" name="family"><string>mono</string></test> <edit name="family" mode="assign"><string>monospace</string></edit> </match> <match target="pattern"> <test qual="all" name="family" compare="not_eq"><string>sans-serif</string></test> <test qual="all" name="family" compare="not_eq"><string>serif</string></test> <test qual="all" name="family" compare="not_eq"><string>monospace</string></test> <edit name="family" mode="append_last"><string>sans-serif</string></edit> </match> <alias> <family>Times</family> <prefer><family>Times New Roman</family></prefer> <default><family>serif</family></default> </alias> <alias> <family>Helvetica</family> <prefer><family>Arial</family></prefer> <default><family>sans</family></default> </alias> <alias> <family>Courier</family> <prefer><family>Courier New</family></prefer> <default><family>monospace</family></default> </alias> <alias> <family>serif</family> <prefer><family>Times New Roman</family></prefer> </alias> <alias> <family>sans</family> <prefer><family>Arial</family></prefer> </alias> <alias> <family>monospace</family> <prefer><family>Andale Mono</family></prefer> </alias> <match target="pattern"> <test name="family" compare="eq"> <string>Courier New</string> </test> <edit name="family" mode="prepend"> <string>monospace</string> </edit> </match> <match target="pattern"> <test name="family" compare="eq"> <string>Courier</string> </test> <edit name="family" mode="prepend"> <string>monospace</string> </edit> </match> </fontconfig>
参考文章
http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html
笔记:
1、$1 列号,可以选择输出哪列
#last -n 5 | awk ‘{print $1}’ //打印第一列
root
root
root
dmtsai
root
2、分隔符
cat /etc/passwd|awk -F ‘:’ ‘{print $1}’|awk -F ‘a’ ‘{print $1}’
默认空格分隔,没有的话可以-F设置别的分隔符
3、设置多列输出格式
last -n 5 | awk ‘{print $1″:”$2}’
4、在原来数据前增加内容,如标题
cat /etc/passwd |awk -F ‘:’ ‘BEGIN {print “name,shell”} {print $1″,”$7} END {print “blue,/bin/nosh”}’
name,shell
原来结果集...
blue,/bin/nosh
5、搜索
awk -F: ‘/root/’ /etc/passwd
其中两个”/”不能去掉,支持正则表达式
6、内置变量
ARGC 命令行参数个数
ARGV 命令行参数排列
ENVIRON 支持队列中系统环境变量的使用
FILENAME awk浏览的文件名
FNR 浏览文件的记录数
FS 设置输入域分隔符,等价于命令行 -F选项
NF 浏览记录的域的个数
NR 已读的记录数
OFS 输出域分隔符
ORS 输出记录分隔符
RS 控制记录分隔符
#awk -F ‘:’ ‘{print “filename:” FILENAME “,linenumber:” NR “,columns:” NF “,linecontent:”$0}’ /etc/passwd
filename:/etc/passwd,linenumber:1,columns:7,linecontent:root:x:0:0:root:/root:/bin/bash
filename:/etc/passwd,linenumber:2,columns:7,linecontent:daemon:x:1:1:daemon:/usr/sbin:/bin/sh
filename:/etc/passwd,linenumber:3,columns:7,linecontent:bin:x:2:2:bin:/bin:/bin/sh
filename:/etc/passwd,linenumber:4,columns:7,linecontent:sys:x:3:3:sys:/dev:/bin/sh
能显示,结果是第几行,有多少列这种信息。
7、printf
awk -F ‘:’ ‘{printf(“filename:%10s,linenumber:%s,columns:%s,linecontent:%s\n”,FILENAME,NR,NF,$0)}’ /etc/passwd
格式化字符串,c的风格
8、变量叠加
awk ‘{count++;print $0;} END{print “user count is “, count}’ /etc/passwd
root:x:0:0:root:/root:/bin/bash
……
user count is 40
带初始化
awk ‘BEGIN {count=0;print “[start]user count is “, count} {count=count+1;print $0;} END{print “[end]user count is “, count}’ /etc/passwd
[start]user count is 0
root:x:0:0:root:/root:/bin/bash
…
[end]user count is 40
叠加某个字段
ls -l |awk ‘BEGIN {size=0;} {size=size+$5;} END{print “[end]size is “, size}’
[end]size is 8657198
变量运算
ls -l |awk ‘BEGIN {size=0;} {size=size+$5;} END{print “[end]size is “, size/1024/1024,”M”}’
[end]size is 8.25889 M
8、if条件
ls -l |awk ‘BEGIN {size=0;print “[start]size is “, size} {if($5!=4096){size=size+$5;}} END{print “[end]size is “, size/1024/1024,”M”}’
[end]size is 8.22339 M
9、循环语句
awk中的循环语句同样借鉴于C语言,支持while、do/while、for、break、continue,这些关键字的语义和C语言中的语义完全相同。
10、数组
awk -F ‘:’ ‘BEGIN {count=0;} {name[count] = $1;count++;}; END{for (i = 0; i < NR; i++) print i, name[i]}' /etc/passwd
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
—
centos中分钟用 * 不使用 */1
“, “逗号分隔代表几或几
比如 1,2 * * * * 每小时 第一分钟第二分钟各执行一次
“-“减号代表几到几
比如 1-10 * * * * 每小时 第一分钟第十分钟每分钟执行一次
“/”间隔时间
比如1-10/2 * * * * 每小时 第一分钟第十分钟每2分钟执行一次
crontab最小执行单位是分钟