常用命令
redis 哨兵主从模式 手动切换主从
使用 redis-cli 连接到任意一个哨兵实例。例如:
redis-cli -h 192.168.0.8 -p 12207
查看当前 master
sentinel masters
切换主从
sentinel failover mymaster
tcpdump 获取80 端口 http请求内容
tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' -n -s 0 -A
strace 获取某进程发出的请求
strace -p 10095 -q -f -s 10000 -e trace=network
查找与替换
查找当前目录 log 文件 中含有 关键字的 文件
find -name '*.py'| xargs grep 'webssh'
find /opt/ -name '*.py'| xargs grep 'webssh'
find /opt/ -name 'chunk-1a9da4da.c92e4ead.js'| xargs grep 'webssh'
替换
find -name '*.py' | xargs perl -pi -e 's|abc|efg|g'
find /opt/ -name '*.py' | xargs perl -pi -e 's|abc|efg|g'
find /opt/ -name 'chunk-1a9da4da.c92e4ead.js' | xargs perl -pi -e 's|abc|efg|g'
正则
查找不包含某个字符串
^((?!abc).)*$
循环删除某目录下文件和文件夹
find /tmp -exec rm -rf {} \; 2>/dev/null
curl
循环请求并打印耗时
for ((i=1; i<=10000; i++))
do
echo "这是第$i次循环"
curl -w "%{time_total}" -o /dev/null -s -L 'http://10.244.100.220:8089/aaa/bbb' -X POST -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0' -H 'Accept: application/json' -H 'Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2' -H 'Accept-Encoding: gzip, deflate' -H 'Content-Type: application/json;charset=utf-8' -H Token: fwrLZKLNJ8EO3gNDEUuL5g-OKk3kw' -H 'SystemCode: YHHDCCDR' -H 'Connection: keep-alive' --data '{ "userId":"111", "userName":"222" }'
done
nginx
日志
http{
log_format apm '[$time_local]\tclient=$remote_addr\t'
'request="$request"\t request_length=$request_length\t'
'http_referer="$http_referer"\t'
'bytes_sent=$bytes_sent\t'
'body_bytes_sent=$body_bytes_sent\t'
'upstream_addr=$upstream_addr\t'
'upstream_status=$upstream_status\t'
'document_root="$document_root"\t'
'fastcgi_script_name="$fastcgi_script_name"\t'
'request_filename="$request_filename"\t'
'request_time=$request_time\t'
'upstream_response_time=$upstream_response_time\t'
'upstream_connect_time=$upstream_connect_time\t'
'upstream_header_time=$upstream_header_time\t'
#'user_agent="$http_user_agent"\t'
#'cookie="$http_cookie"\t'
#'request_body="$request_body"\t'
;
access_log /opt/logs/nginx/access.log apm;
}
nginx location 匹配
第一种:proxy_pass 加"/"
location /wddd/ {
proxy_pass http://127.0.0.1:8080/;
}
请求地址: http://127.0.0.1:8080/wddd/
代理地址:http://127.0.0.1:8080/index.html
第二种: proxy_pass 不加"/"
location /wddd/ {
proxy_pass http://127.0.0.1:8080;
}
请求地址: http://127.0.0.1:8080/wddd/
代理地址:http://127.0.0.1:8080/wddd/index.html
第三种: proxy_pass 增加目录 并且 加"/"
location /wddd/ {
proxy_pass http://127.0.0.1:8080/sun/;
}
请求地址: http://127.0.0.1:8080/wddd/
代理地址:http://127.0.0.1:8080/sun/index.html
第四种:proxy_pass 增加目录 并且 不加"/"
location /wddd/ {
proxy_pass http://127.0.0.1:8080/sun;
}
请求地址: http://127.0.0.1:8080/wddd/
代理地址:http://127.0.0.1:8080/sunindex.html
总结
location目录后加"/",只能匹配目录,不加“/”不仅可以匹配目录还对目录进行模糊匹配。
而proxy_pass无论加不加“/”,代理跳转地址都直接拼接。
https://zhuanlan.zhihu.com/p/386312442
firewall-cmd 端口管理
1. 开放/删除端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --remove-port=80/tcp --permanent
2. 查询某个/全部端口
firewall-cmd --query-port=80/tcp
firewall-cmd --list-port
3. 重启防火墙
firewall-cmd --reload
4. 开启/关闭防火墙
systemctl start firewalld.service
systemctl stop firewalld.service
5. 加入/禁止开机启动
systemctl enable firewalld.service
systemctl disable firewalld.service
有问题请联系hudcan@sina.com
个人网站:http://ext.123cc.cc