实施过程的工作小技巧
主要记录一路走来的风风雨雨和一些看似很小,但是去查询却无从下手的方法,分享出来,也算是加深记忆并且以后回顾看。
Centos打包的文件放到windows上运行报错(配置文件影响)
报错如下:
经排查为格式错误,不支持中文,所以我们可以通过使用notepad也就是记事本打开文件,另存为,编码选择utf-8,然后点击配置文件名称,覆盖即可。
Centos中的便捷命令(alias)
日常使用命令,总会遇到一些不太友好的命令,需要加参数,或者常用的命令,可以以alias的方式实现,还可以直接在命令执行路径中新加一个命令的脚本,以下是两个小例子。
- 每次curl后的json展示需要使用到|python -m json.tool优化展示,然后就在/usr/bin/新建python_json文件,赋权+x,内容为python -m json.tool,下次执行就可以直接curl xxxxxxxx | python_json。
echo "python -m json.tool" > /usr/bin/python_json
chmod +x /usr/bin/python_json
- 平台有数个服务,每个服务下的路径如下,SERVICE/logs/info/current,所以每次查看日志都是tailf SERVICE/logs/info/current,久而久之,就很烦,所以根据上述方法,再次新建一个脚本,赋权+x,下次执行就可以直接aiops SERVICE/。
echo "tailf ${1}logs/info/current" > /usr/bin/aiops_tailf
chmod +x /usr/bin/aiops_tailf
awk命令的多行合并
awk命令的多行合并,匹配当前行,把下一行合并上来,至于匹配当前行,合并到上一行(未探索出来)
文本:
1
1
2
1
awk '{if (/^2/){tmp=$0;getline;print tmp" "$0}else{print}}' test.txt
windows创建系统服务
日常使用中,会经常碰到有自定义一些bat脚本,或者某些开源的exe服务,没有自动生成系统服务,此次我们使用sc命令可以生成手动生成一个系统服务,需要管理员权限,在cmd中执行。
# 创建
sc create filebeat binPath= "\"C:/Program Files/filebeat/filebeat.exe\" -c \"C:/Program Files/filebeat/filebeat.yml\"" DisplayName= "filebeat" start= delayed-auto
[SC] CreateService 成功
# 删除
sc delete filebeat
[SC] DeleteService 成功
优化bat脚本
@echo off
echo "执行此脚本需要使用管理员权限,请注意打印日志是否正常!" && pause
set filepath=%~dp0
sc create filebeat binPath= "\"%filepath%filebeat.exe\" -c \"%filepath%filebeat.yml\"" DisplayName= "filebeat" start= delayed-auto
echo "创建服务成功,请在服务中查看" && pause
知识点:
当前盘符:%~d0
当前路径:%cd%
当前执行命令行:%0
当前bat文件路径:%~dp0
当前bat文件短路径:%~sdp0