Linux系统和数据库常用的命令2
1、两台Linux机器ssh免密登录
client端登录server端需要免密,只需把公钥发送到server就可,会在server端生成一个authorized_keys
文件
# 108机器上
[root@client ~]# ssh-keygen -t rsa // 非对称算法
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): //所保存的公钥文件地址
Enter passphrase (empty for no passphrase): 是否设置密码
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub私钥地址
The key fingerprint is:
SHA256:uRr7QU1LWwkkGvtBdLxLAxi3eAPCR3Sutm2nf0LGWXw root@client
The key's randomart image is:
+---[RSA 3072]----+
| ..o*+*o+ |
| ..o@.+.. . |
| .+ *.ooo |
| + B++o E |
| o So+= . |
| . + .* |
| o =o. |
| = +. . |
| o.o..o |
+----[SHA256]-----+
[root@client ~]# ll .ssh/
total 12
-rw------- 1 root root 1679 Oct 9 12:40 id_rsa
-rw-r--r-- 1 root root 395 Oct 9 12:40 id_rsa.pub
-rw-r--r-- 1 root root 1225 Sep 19 15:37 known_hosts
[root@client ~]# ssh-copy-id root@192.168.6.109
[root@client ~]# ssh root@192.168.6.109
公钥放在authorized_keys这个文件中了
[root@postgres .ssh]# ls
authorized_keys id_rsa id_rsa.pub known_hosts
2、git bash的常用操作
2.1、先去fork别人的仓库,直接新建就可以了
2.2、克隆自己的git仓库到本地
$ git clone https://github.com/.../pgdoc-cn.git
2.3、查看配置是否有问题
一般来说直接clone下来的仓库,参数配置一般是没有问题的
-
查看远程仓库信息
git remote -v
-
查看全局配置(用户名)
git config --global user.name
-
查看全局配置(邮箱)
git config --global user.email
-
修改全局配置(用户名)
git config --global user.name "w797847480"
-
修改全局配置(邮箱)
git config --global user.email "aison.wang@....com"
-
生成 SSH 密钥
ssh-keygen -t rsa -b 4096 -C "aison.wang@fexbase.com"
-
测试 SSH 连接
ssh -T git@github.com
-
设置远程仓库 URL
git remote set-url origin git@github.com:wkz2797848480/pgdoc-cn.git
-
克隆远程仓库
git clone URL
-
进入目录
cd directory
-
初始化 Git 仓库
git init
-
添加文件到暂存区
git add .
-
查看状态
git status
-
提交更改
git commit -m "update pg_dump.sgml"
-
添加远程仓库
git remote add origin https://github.com/.../pgdoc-cn.git
-
推送到远程仓库
git push -u origin master
-
查看分支
git branch
-
切换分支
git checkout <branch-name>
2.4、提交PR(pull rquest)
3、清除buff/cache缓存
命令
free -h && sync && echo 3 > /proc/sys/vm/drop_caches && free -h
结果
[root@3 opt]# free -h && sync && echo 3 > /proc/sys/vm/drop_caches && free -h
total used free shared buff/cache available
Mem: 7.6G 2.6G 1.1G 2.0G 4.0G 1.6G
Swap: 0B 0B 0B
total used free shared buff/cache available
Mem: 7.6G 2.5G 3.0G 2.0G 2.1G 2.3G
Swap: 0B 0B 0B
[root@3 opt]#
4、使用fio测试磁盘性能
注意:如果在云服务器上测试磁盘性能请先将他卸载下来,而且会重新格式化这块盘,不建议在生产环境这样干
# 单线程任务随机读写
fio -filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde:/dev/sdf -direct=1 -iodepth 1 -thread -rw=randrw -ioengine=psync -bs=32k -size=50G -numjobs=1 -runtime=100 -group_reporting -name=test
fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=randrw -ioengine=psync -bs=32k -size=0.5G -numjobs=1 -runtime=30 -group_reporting -name=test
# 多线程任务随机读写
fio -filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde:/dev/sdf -direct=1 -iodepth 1 -thread -rw=randrw -ioengine=psync -bs=32k -size=50G -numjobs=10 -runtime=100 -group_reporting -name=test
fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=randrw -ioengine=psync -bs=32k -size=0.5G -numjobs=10 -runtime=100 -group_reporting -name=test
下面是对命令 fio -filename=/dev/sda -direct=1 -iodepth=1 -thread -rw=randrw -ioengine=psync -bs=32k -size=0.5G -numjobs=1 -runtime=30 -group_reporting -name=test
各个参数的说明:
参数 | 说明 |
---|---|
-filename=/dev/sda | 指定要进行测试的设备或文件,这里是 /dev/sda 。 |
-direct=1 | 启用直接 I/O,绕过操作系统的缓存,直接与设备进行交互。 |
-iodepth=1 | 设置 I/O 队列深度为 1,表示每次只能发起一个 I/O 请求。 |
-thread | 启用多线程支持,每个作业可以在不同的线程中运行。 |
-rw=randrw | 指定 I/O 模式为随机读写(randrw)。 |
-ioengine=psync | 使用 psync I/O 引擎,表示使用同步 I/O 调用。 |
-bs=32k | 设置块大小为 32KB,即每次 I/O 操作的传输大小。 |
-size=0.5G | 指定测试文件或设备的大小为 0.5GB。 |
-numjobs=1 | 指定要运行的作业数量,这里为 1 个。 |
-runtime=30 | 设置测试运行时间为 30 秒。 |
-group_reporting | 启用分组报告,将所有作业的结果汇总成一个报告。 |
-name=test | 给当前的测试作业命名为 test ,用于识别该作业。 |
该命令的整体意思是在 /dev/sda 设备上进行一个为期 30 秒的随机读写性能测试,采用 32KB 的块大小,使用同步 I/O 调用,直接与设备交互,且只使用一个线程进行操作,并且结果以分组形式输出。 |
5、与PG数据库有关,查看数据库记录的连接和关闭信息
log_connections = on # 记录成功的连接
log_disconnections = on # 记录关闭的连接
```