centos日常运维随记

# 需要生成随机字符及数字

# 产生一个唯一的随机数字字符生成的字符串

root@AAA:~# echo $RANDOM | md5sum |cut -c 3-29
e7e8942a791146531f613c7c757
# echo $RANDOM 产生随机数据   
# md5sum 随机数生成md5值
# cut -c 3-29 :md5产生的是32的md5数,使用cut -c 对这个数进行 第3位到第29位的截取


# 另一种方式
echo a |uuidgen |tr "-" "\3"
2cd942e5f825490083e9066c0fbb8fbe


# 在现有的配置文件内容前添加新的内容

root@AAA:~# cat about.conf 
bb295b3c86bb354f390263a40e457


root@AAA:~# sed -i s#^#KEY:# about.conf
root@AAA:~# cat about.conf
KEY:bb295b3c86bb354f390263a40e457

# sed -i :其中-i是修改要匹配到的文件 s#^#KEY:#  操作命令s分隔符#要替换的内容(正则的开始符)^分隔符#修改后的内容KEY:分隔符#

# s#^#KEY:#  意思是在第一行行首添加KEY:这样的字符串; # 为分隔符,需要3个位一组,中间为内容

# 脚本参数

特殊变量

$# 是传给脚本的参数个数
$0 是脚本本身的名字
$1 是传递给该shell脚本的第一个参数
$2 是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表
$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
$$ 是脚本运行的当前进程ID号
$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误

#  比较判断



##################################################################
[ a == a ]   //使用常量判断,再用echo $?测试结果
[ a == b ]   
[ $a == $b ]  //使用变量判断两个变量的值是否相等
[ $a != $b ]   //使用变量判断两个变量的值是否不相等
-z  判断变量是否为空    !  -z  判断变量是否非空  # z是不是zero的意思,猜测
a=10
[ -z $a ]  //判断变量a是否为空,如果为空则判断正确
[ ! -z $a ]  //判断变量a中是否有值,有值则判断正确
##################################################################

# 日志正则匹配数字

# 项目上查找日志需要grep 匹配数字  遇到的坑记录

[TID:32560] 2023-12-10 23:28:15|warn #CSession::processWriteBlock 525, disk: store22,  file :38749310 object:2 blo:1 offset:1372 len:3 write io cost time:642 (ms)
[TID:32555] 2023-12-10 23:28:30|warn #CSession::processWriteBlock 525, disk: store22,  file :38749310 object:2 blo:1 offset:1372 len:3 write io cost time:600 (ms)
[TID:32549] 2023-12-10 23:29:03|warn #warn #CSession::processWriteBlock 525, disk: store22,  file :38749310 object:2 blo:1 offset:1372 len:3 write io cost time:513 (ms)
[TID:32549] 2023-12-10 23:29:04|warn #warn #CSession::processWriteBlock 525, disk: store22,  file :38749310 object:2 blo:1 offset:1372 len:3 write io cost time:2362 (ms)

# 这里需要匹配大于 2000 ms的行  一直使用 grep -E ''(cost time:)\d{4}'  Datanode_log_9.log
# 怎么也不成功,到处查都不行,最后一位一个坑的匹配才成

grep -E '(cost time:)[1-9][0-9][0-9][0-9]'  Datanode_log_9.log  --color

你可能感兴趣的:(运维,centos,linux)