常用命令

2018-12-11  本文已影响0人  嘿嘿逗

查询linux当前各个状态的连接数量

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
netstat -nat|grep -i "80"|wc -l
ps -ef|grep httpd|wc -l
netstat -na|grep ESTABLISHED|wc -l
netstat -na|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r 
netstat -na|grep SYN|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r 

mysql随机取一条数据

FROM `tablename` AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM `tablename`)-(SELECT MIN(id) FROM `tablename`))+(SELECT MIN(id) FROM `tablename`)) AS id) AS t2
WHERE t1.id >= t2.id
ORDER BY t1.id LIMIT 1;

mysql查询哪个表占用空间大

mysql更改sock文件位置

[client]
socket = /tmp/mysql.sock
[mysqld]
socket = /tmp/mysql.sock

没有[client]的话。自己加入~

mysql不停机修改最大连接数

ps -ef | grep mysql
mysql     1310     1 99 12月09 ?      4-19:39:03 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

然后使用gdb修改连接数即可

gdb -p $(cat /var/run/mysqld/mysqld.pid) -ex "set max_connections=500" -batch  

mysql的sock文件丢失

linux清除缓存

echo 1 > /proc/sys/vm/drop_caches:表示清除pagecache。
echo 2 > /proc/sys/vm/drop_caches:表示清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache。
echo 1 > /proc/sys/vm/drop_caches:表示清除pagecache和slab分配器中的缓存对象。

docker清理空间

复制文件进docker

docker inspect -f '{{.ID}}' python
docker cp 本地路径 容器长ID:容器路径**[备注:其实容器ID用短ID就可以]**
docker cp /etc/localtime 38ef22f922704b32cf2650407e16b146bf61c221e6b8ef679989486d6ad9e856:/etc/localtime

查询比较耗时的SQL

select * from information_schema.processlist where time >3 and state='Sending data';

linux耗时操作防止终端挂起

linux删除文件名乱码的文件

锁定网卡配置文件

cd /etc/sysconfig/network-scripts/
chattr +i ifcfg-eth0
chattr -i ifcfg-eth0

docker部署jenkins

touch: cannot touch ‘/var/jenkins_home/copy_reference_file.log’: Permission denied
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?

需要给目录增加jenkins权限 chown -R 1000:1000 /home/docker/jenkins

docker容器支持真正的root权限

docker里的程序(php)需要访问磁盘文件的时候可能会没有权限

docker容器里安装软件无法启动(报错:Failed to get D-Bus connection: Operation not permitted

docker run -itd -name mysql   mysql-yum-install /usr/sbin/init
docker exec -it mysql /bin/bash

gitlab docker构建镜像报如下错误

 Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial unix /var/run/docker.sock: connect: permission denied
usermod -aG docker gitlab-runner

pgsql 备份与还原

备份:pg_dump -h localhost -p 5432 -U postgres -W -F c -b -v -f "/databak/database.backup" database
恢复:pg_restore -h localhost -p 5432 -U postgres -W -d database -v "/databak/database.backup"

docker里的程序控制台日志太大的问题

--log-opt max-size=10m --log-opt max-file=3

windows下不按照第三方工具抓包

netsh trace start capture=yes scenario=NetConnection tracefile=C:\net.etl maxSize=200M
netsh trace stop

swarm灰度发布

docker service update --image image-name --update-delay 15s  --update-parallelism 1 service-name

CentOS7里network和NetworkManager

CentOS里提供了两套网络管理工具network和NetworkManager,但是我们在实际使用过程中发现他两个会有冲突,目前NetworkManager版本也比较低,比较适合于桌面端,在服务器上关闭掉并使用network就好了

chkconfig NetworkManager off
chkconfig network on
service NetworkManager stop
service network start
上一篇 下一篇

猜你喜欢

热点阅读