运维知识点
一 :引言
晃眼之间自己已经毕业四年,岁月不饶人,自己过两年就三十而立了,望着这行周围大学毕业的同事和室友稚嫩的脸庞,和一声声前辈和哥的称呼,不禁更加感慨曾经几何,也其中一员,而今已成前辈,奈尔终生大事,还没落定,甚是焦虑,自己最近3年所在的项目组,都是公司加班强度最大的项目或者团队,奈何自己是打工人,混口饭吃,竟然改变不了他人,就改变自己去适应艰苦的环境,累时想想《生于安乐,死于忧患》中的经典名句,天将降大任于斯人也,必先老其筋骨,饿其......等等。或许会好点,另外疫情期间也对经济造成一定影响,不如好好的,做好当下的事,不闲扯太多了,切入正题。我在现在的公司也呆了一年的时间,这一年期间,自己主要负责代码的开发和运维工作,之外还包含承接一部分管理和需求工作,接下来我会更新2-3篇博客,把自己平时学习和运用到的技术知识点总结一下,便于自己今后工作中的查找和复习,好记性不如烂笔头。
这篇博客主要记录,自己常用linux命令,下一篇会总结springcloud框架相关知识点。
二:
1、查看系统进程 ps -ef|grep java
2、上传包:rz -be
3、下载服务器上的a.jar 包到本地 : sz -b a.jar
4、删除: rm -rf
5、移动 :mv
6、杀掉进程 : kill -9 进程号
7、启动XX.jar : nohup java -jar -Xms512M -Xmx10240M XX.jar > XX.log &
8、查看日志文件的最后1000行日志 : tail -n -f 1000 XX.log
9、全局搜索某个文件 : find ~ -name "XX.jar"
10、查看linux服务器磁盘存储信息 : df -h
11、查看某个文件夹下 各个文件夹或者文件大小 : du -sh * (*可以是具体的文件夹或者文件名称)
12、查看各个进程的cpu占比: ps aux |head -1;ps aux|grep -v PID |sort -rn -k +3 |head
13、查看centos版本: cat /etc/redhat-release
14、查询某个端口80 : netstat -tunlp |grep 80
15、查看机器重启时间: who -b
16、scp XX.tar.gz vmuser@172.0.0.2:/home/vmuser/
17、截断一个日志文件大小为0: truncate -s 0 XXX.log
18、解压一个文件: tar -zxvf test.tar.gz
(1)在centOS系统中 添加定时任务,比如每天定时删除某个文件夹下的新建的文件
查看: crontab -l
编辑 : crontab -e
在/A/ 系统目录下添加,定时删除15天之前的文件
0 03 * * * nohup find /A -mtime +15 -type f | xargs rm -rf {}\; >> /dev/null 2>&1 &
(2) mysql相关命令
登录root用户: mysql -u root -p
登录远程主机172.1.1.1端口3306用户shuaishuai : mysql -h 172.1.1.1 -P 3306 -u shuaishuai -p
查看数据库:show databases;
查看表: show tables;
查看端口: show global variables like 'port'
查看慢查询日志:show variables like '%slow_query_log'
查看所有用户主机: select user,host from mysql.user;
创建一个用户shuaishuai并设置密码123456 :CREATE USER 'shuaishuai'@'%' IDENTIFIED BY '123456';
建数据库A中的视图person查询权限给 shuaishuai用户 :
grant select on A.person to 'shuaishuai'@'%';
grant show view A.person to 'shuaishuai'@'%';
刷新权限并生效:flush privileges;
查询用户视图查看权限:select Show_view_priv from mysql.user where user ='shuaishuai';
添加视图查询权限:update mysql.user set Show_view_priv ='Y' where user ='shuaishuai';
撤销查询权限:revoke select on A.person from 'shuaishuai'@'%';
(3) 防火墙相关命令
查看所有端口配置:iptables -L -n
启动防火墙:systemctl start firewalld
关闭防火墙: systemctl stop firewalld
添加ip权限: firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="172.0.0.1/32" accept"
删除ip权限: firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="172.0.0.1/32" accept"
从新加载防火墙: firewall-cmd --reload
添加ip和端口权限:firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="172.0.0.1/32" port protocol="tcp" port="8000" accept"
删除ip和端口权限:firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="172.0.0.1/32" port protocol="tcp" port="8000" accept"
(4) redis
查看 redis 服务: ps -ef|grep redis
编辑redis配置文件: vim /etc/redis.conf
启动/关闭服务: /bin/systemctl start redis.service
/bin/systemctl stop redis.service
/bin/systemctl restart redis.service
远程登录redis:
./redis-cli -h 172.1.1.1 -p 6379 -a aa\!aaaa
(5)es
切换到es安装的bin目录下: /elasticsearch/bin
切换es用户:su elasticsearch
启动es : ./elasticsearch -d &
查看es端口: netstat -tunlp |grep 9300
精确查询:
GET es_index/_search
{
"query": {
"match_phrase": {
"configId": "xxxxxxx"
}
}
}
范围过滤:
GET es_index/_search
{
"query": {
"bool": {
"must": [
{"match": {"outstandFlag":true}}
],
"filter": {
"range": {
"triggerTime": {
"gte": "2022-08-13",
"lte": "2022-09-14"
}
}
}
}
}
}
根据指定字段(configId)删除es数据:
GET es_index/_delete_by_query
{
"query": {
"match": {
"configId":"xxxxxxxxx"
}
}
}
(6) nginx
启动:
cd /usr/local/nginx/sbin
./nginx
重启加载: ./nginx -s reload
前端代理(将 test.zip解压到当前目录下 page/front/test)
location /test {
root /page/front
}
后端服务代理(多个服务负载ip1:port1 ip2:port2):
upstream api-gateway{
server ip1: port1;
server ip2:prot2;
ip_hash;
}
listen 8081;
server_name localhost;
location / {
root html;
index index.html index.htm;
limit_rate 10240k;
}
proxy_pass http://api-gateway;
}
(7)mycat
启动:
cd /usr/local/mycat/sbin
./mycat start 或者 ./mycat console
重启: ./mycat restart
(8) kafka