一、linux
查找文件
# 简单参数(递归查询log文件)
find ./ -name '*.log'
# 复杂参数
find ./ -maxdepth 1 -type d|grep -v '.svn'|sort -V
统计文件夹下文件大小
du -ah --max-depth=1
防火墙
systemctll status firewalld.service
systemctll stop firewalld.service
清除缓存
echo 3 > /proc/sys/vm/drop_caches
远程登录拷贝
# password为远程密码, sourceFilePath为源文件路径,targetIp为远程主机ip, targetPath为远程机器存放你文件位置
sshpass -p password scp -P 22 sourceFilePath root@targetIp:targetPath
二、数据库
postgresql
客户端常用基本命令
# 查看数据库
\l
# 查看表名
\d
# 帮助
\h
# 选择数据库
\c
# 重启
su - postgres
/opt/pgsql/bin/pg_ctl -w restart
/opt/pgsql/bin/pg_ctl reload
# dump为sql
pg_dump -U postgres -d hz_base -f dump.sql
# 创建
create database new_base
# 导入dump文件
psql -d new_base -U postgres -f dump.sql
系统表
- 所有表数据量查询(非实时)
# 查询所有t_开头的表的数据量
select relname tableName, reltuples tableSize from pg_class where relkind = 'r' and relname like 't_%';
- 表分析
先执行表分析,再查询pg_class即可得到最新的表数据量\color{red}{先执行表分析,再查询pg\_class即可得到最新的表数据量}先执行表分析,再查询pg_class即可得到最新的表数据量
# 单一表分析
analyse t_user;
# 分析所有表
analyse;
- 查询占用连接
select * from pg_activity;
- 查询阻塞sql
-- 查询阻塞sql
select pid,pg_blocking_pids(pid) as blocked_by, query from pg_stat_activity where pg_blocking_pids(pid):: text != '{}';
- 关闭阻塞连接(查询到有端口则表名端口正在关闭中)
select pg_terminate_backend(pg_catalog.pg_stat_activity.pid) from pg_stat_activity where pid<>pg_backend_pid() and datname = 'hz_base';
- 查询无主键表
select * from pg_tables where schemaname = 'public' and hasindexes is false;
三、Nginx
# 启动
start nginx
# 退出
nginx -s stop
# 启动
nginx -s quit