常用命令记录(linux,postgersql,nginx)

一、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_%';
  • 表分析

先执行表分析 , 再查询 p g _ c l a s s 即可得到最新的表数据量 \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

你可能感兴趣的:(linux,linux,nginx,postgresql)