Shell小技巧
Shell 小技巧
艺术字体 生成输出
https://my.oschina.net/u/4045573/blog/2986313
执行程序 5s 超时退出
timeout 5 tcpkill -i eth0 host 172.16.6.30 and port 6379
kill tcp 链接
清除 docker 日志
shell输入输出
将错误输出信息关闭掉 2>&- 2>/dev/null
关闭所有输出 1>&- 2>&-
& 代表标准输出 ,错误输出 将所有标准输出与错误输出 输入到/dev/null文件 &>/dev/null
rabbitmq 关闭所有的存储连接
./rabbitmqadmin --host 172.16.6.48 --port 15671 -u jdev -p 'dogs&cats' -f tsv -q list connections name > c.txt while read -r name; do rabbitmqadmin --host 172.16.6.48 --port 15671 -u jdev -p 'dogs&cats' -q close connection name="${name}"; done < c.txt
nginx master进程limit更改
如果某项服务已经启动,再动态调整ulimit是无效的,这时,可以考虑通过修改/proc/’程序pid’/limits来实现动态修改!!!
lvs 替换节点
添加节点在keepalive里操作reload, 去掉节点先重置权重为0,再去掉,目的批量链接断开产生的影响
查看进程启动精准时间
ps -p 14001 -o lstart
查看机器出口ip
curl ifconfig.me
image ascii code 转变
将图片转换为ascii码
创建删除-p文件 shell delete file with hyphen
Chrome 清理dns缓存
用户还可以在Chrome://net-internals/#dns清理缓存。
shell 多线程
docker 证书生成
salt cron管理
pip代理安装软件
pip3.6 install -i https://pypi.tuna.tsinghua.edu.cn/simple
容器top
docker run --rm -ti --name=ctop -v /var/run/docker.sock:/var/run/docker.sock quay.io/vektorlab/ctop:latest
定位url 响应时间问题
curl -o /dev/null -s -w "http_code:%{http_code} \nhttp_connect:%{http_connect} \ncontent_type:%{content_type} \ntime_namelookup:%{time_namelookup} \ntime_redirect:%{time_redirect} \ntime_pretransfer:%{time_pretransfer} \ntime_connect:%{time_connect} \ntime_starttransfer:%{time_starttransfer} \ntime_total:%{time_total} \nspeed_download:%{speed_download}" domain
使用的 java8 参数
$JAVA_OPTS" && JAVA_OPTS='-server -Xms4g -Xmx8g -XX:MetaspaceSize=512m -Duser.timezone=GMT+08 -XX:MaxMetaspaceSize=1024m -XX:NewRatio=2 -Djava.awt.headless=true
tmux 非交互执行命令
zabbix数据表清除
统计季度的repo tag
git tag --format='%(creatordate:short)%09%(refname:strip=2)' | sort
gilab 迁移
gitlab自带的nginx配置了cache,如果是迁移过来的git仓库,缓存也会带来,访问地址还会走缓存 需要清理cache gitlab-rake cache:clear RAILS_ENV=production
然后重新启动 gitlab-ctl restart
linux强制Linux扫描SCSI设备
网卡识别不了,重载驱动
rmmod ixgbe;modprobe ixgbe;/etc/init.d/network restart
rundeck查询应用归属地
SELECT project,job_name,group_path FROM rundeck.scheduled_execution where job_name like "%www%";
docker daemon配置加速
--registry-mirror=https://u1qbyfsc.mirror.aliyuncs.com
计算kvm qcow2空间配置总量
for i in
ls;do qemu-img info $i | grep virtual;done | awk -F '[ (]' 'BEGIN{total=0}{total+=$5}END{print total/ 1024/1024/1024}'
kafka
查询 kafka 版本
find ./libs/ -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*'
kafka节点重启后,可以让leader分布的更匀均一些
./bin/kafka-preferred-replica-election.sh --zookeeper zk1:2181,zk2:2181,zk3:2181/kafka
查看consumer_offsets 内置的topic `./bin/kafka-topics.sh --describe --topic consumer_offsets --zookeeper zk1:2181,zk2:2181,zk3:2181/kafka`
添加log删策略
docker 进入高权限
证书检测网站
https://www.trustasia.com/tools-ssl-state https://csr.chinassl.net/ssl-checker.html
获取一个项目的开发者贡献
join -1 1 -2 1 <(git log --since==2017-10-01 --until=2017-10-30 --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | sort -k 2 | awk '{print $2, " commit times:", $1}' ) <(git log --since==2017-10-01 --until=2017-10-30 --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done | sort -k 1)
格式化对齐打印文件
column -t file
硬盘测速
一般性测试
time dd if=/dev/zero of=test.dbf bs=8k count=300000 oflag=direct; time dd if=test.dbf bs=8k count=300000 of=/dev/null ; rm test.dbf
同步io测试
time dd if=/dev/zero of=test.dbf bs=8k count=300000 oflag=dsync; time dd if=test.dbf bs=8k count=300000 of=/dev/null ; rm test.dbf
同步io测试并且 sync到磁盘
time dd if=/dev/zero of=test.dbf bs=8k count=300000 oflag=dsync conv=fdatasync; time dd if=test.dbf bs=8k count=300000 of=/dev/null ; rm test.dbf
kafka状态查看
lvm相关命令的提示 file descriptor 3 leaked on lvm invocation
禁掉提示,设置下面的环境变量即可 export LVM_SUPPRESS_FD_WARNINGS=1
nginx alias root区别
一般情况下,在location /中配置root,在location /other中配置alias是一个好习惯
redis设置超时时间
设置客户端连接时的超时时间,单位为秒。当客户端在这段时间内没有发出任何指令,那么关闭该连接 0是关闭此设置 timeout 0
windows扩展磁步骤
先关机
删除退出的容器
docker ps --filter status=exited -q | xargs docker rm
删除无用的镜像
docker images | grep '<none>' | awk '{print $3}' | xargs -n 1 -I {} docker rmi {}
docker 容器ip查看
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)
查看系统文件句柄数
cat /proc/sys/fs/file-nr
命令行使用代理
kvm扩展磁盘
分区,kvm透传
对比两个文件夹文件
diff -urNa dir1 dir2
curl socket用法
echo -e "GET /containers/json?all=1&before=1d74701645f3 HTTP/1.0\r\n" | nc -U /var/run/docker.sock
查看 swarm 信息
docker -H localhost:2375 --tls=true ps
计算多个文件目录大小
du -c dir dir file file
查看docker主机上容器名和ip
docker ps -q | xargs docker inspect --format='{{.Name}} {{.NetworkSettings.IPAddress}}’
java dump内存信息
jmap -dump:file=$APP_NAME.txt,format=b 1&&gzip $APP_NAME.txt&&ls &&ifconfig |grep Bcast|awk '{print $2}'|echo
cut -d ":" -f 2/$APP_NAME.txt.gz&&python -m SimpleHTTPServer 80 /opt/jdk/bin/jmap -dump:format=b,file=amque_dump.txt 30500
清除arp缓存 命令
Last updated
Was this helpful?