1.permission denied(权限拒绝)
# 给*.sh赋予可执行权限
chmod u+x *.sh
# 递归修改文件的所属用户
# 用户:用户组
chown -R root:root zookeeper/
# 把jenkins用户加入root用户组(可以用来实现普通用户操作docker)
gpasswd -a jenkins root
# 更新用户组
newgrp root
2.linux压缩、解压zip格式文件
# 压缩
zip -r -q 2021-07-12.zip 2021-07-12/
# 解压
unzip xxx.zip
3.查看日志
# 查看最后100行实时日志
tail -f -n 100 logs/catalina.out
# 查看关键字所在的行数:
cat catalina.out | grep -a -n 'xxx'
# 从32097313行开始往后500行:
cat catalina.out | tail -n +32097313 | head -n 500
4.CentOs7配置jdk环境变量
vim /etc/profile
在最下面加:
export JAVA_HOME=/usr/local/jdk1.8/jdk1.8.0
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
5.CentOs7防火墙
# 查看防火墙状态:
firewall-cmd --state
# 关闭防火墙:
systemctl stop firewalld.service
# 禁止firewall开机启动
systemctl disable firewalld.service
# 查看防火墙规则
firewall-cmd --list-all
# 开放3306端口
firewall-cmd --add-port=3306/tcp --permanent
# 重新加载
firewall-cmd --reload
6.CentOs7配置静态主机名
hostnamectl --static set-hostname xxx
7.远程拷贝
scp -r kafka root@hserver3:/usr/local/
8.查看linux的磁盘、内存、cpu占用情况
# 查看linux中的磁盘使用情况
df -h 或 du -sh /*
# 单位 M
free -m
# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 查看 cpu 核数
cat /proc/cpuinfo| grep "cpu cores"| uniq
# 查看所有进程的内存占用
ps aux | awk '{print $6/1024 " MB\t\t" $11}' | sort -n
# 查看 java 的PID CPU 以及 内存 的占用
top -b -n 1 | grep java| awk '{print "PID:"$1"\t mem:"$6"\t CPU percent:"$9"%","\tmem percent:"$10"%"}'
# 查看整个linux系统的线程数
pstree -p | wc -l
# 查看linux系统对用户资源的使用限制
ulimit -a
# 查看linux的端口占用
netstat -nlpt
# 查看linux是多少位的
getconf LONG_BIT 或者 arch
#查看linux版本
cat /proc/version
#查看系统
cat /etc/redhat-release
cat /etc/issue
9.重启 linux 网络
需要看看你的这个路径下有没有东西,不同版本的 linux network路径不同
/etc/init.d/network restart
/etc/init.d/networking restart
10.root 用户 都没法操作 Operation not permitted
# 查看文件的限制
lsattr -a
# 删除 限制
chattr -iaR /wwwwwwww/lm/lm
11.查看端口监听
# 列出所有连接
netstat -an
# 只列出监听中的连接
netstat -tnlp
# 打印 active 状态的连接
netstat -atnp | grep ESTA
# 配合 watch 命令监视 active 状态的连接:
watch -d -n0 "netstat -atnp | grep ESTA"
12.重启 tomcat 脚本
#! /bin/bash
tomcat_home=/home/tomcat
ps -ef |grep tomcat | grep $tomcat_home |grep -v 'grep'|awk '{print $2}'| xargs kill -9
nohup $tomcat_home/bin/startup.sh > /root/nohup.out &
tail -f $tomcat_home/logs/catalina.out
12.查看java进程路径
1.找到进程ID
ps -ef | grep java
2.进入进程目录
cd /proc/进程ID
3.查看cwd路径
找到cwd 对应的路径就是jar包的路径
以下是我的操作截图
13.利用 linux 定时任务,重启服务,切割日志
1.重启服务
1. 编辑定时任务
# 编辑定时任务
crontab -e
# 查看当前用户的定时任务
crontab -l
2.在打开的文件中添加你的任务
# 内容 就是 每1分钟 执行一次 redis_cron.sh 日志输出到 redis.log 中
*/1 * * * * /bin/bash -x /root/redis_cron.sh >> /root/redis.log
3.脚本 redis_cron.sh
#!/bin/bash
starttime=$(date +%Y-%m-%d\ %H:%M:%S)
echo "$starttime 定时任务开始:"
count=`ps -ef | grep redis | grep -v grep | wc -l`
echo $count;
# 如果redis 进程 小于等于 3 ,就启动redis,因为我的 redis_cron.sh,redis.log,grep redis 占了3个进程
if [ $count -le 3 ]
then
echo "启动redis。。。"
docker start redis
fi
4.启动定时任务
systemctl start crond.service
2.切割日志(个人不推荐)
因为,这个脚本切割实际上的IO操作是非常多的,容易引起IO阻塞,推荐日志框架
1.切割脚本 log_rotate.sh
#!/bin/sh
function rotate() {
logs_path=$1
echo Rotating Log: $1
cp ${logs_path} ${logs_path}.$(date -d "yesterday" +"%Y-%m-%d")
> ${logs_path}
# 下面是删除 7天之前的日志文件,看自己需求
# rm -f ${logs_path}.$(date -d "7 days ago" +"%Y-%m-%d")
}
for i in $*
do
rotate $i
done
2.手动切割
find ./ -size +0 -name '*.log' | xargs ./log_rotate.sh
3.定时任务切割
# 每天 凌晨 00:00 执行 log_rotate.sh 参数:find /root/ -size +0 -name '*.log'匹配的文件
0 0 * * * find /root/ -size +0 -name '*.log' | xargs /root/log_rotate.sh
14.Centos7.5忘记密码
开机按 e 键,进入编辑页
删掉这两个单词
然后在这段的最后 UTF-8 后面添加
rd.break enforcing=0
按 Ctrl+X 保存
mount -o remount,rw /sysroot
chroot /sysroot
passwd
输入新密码:123456
再次输入:123456
提示:Successful
touch /.autorelabel
mount -o remount,ro /
exit
exit
15.Centos7 升级内核
下载内核文件
kernel-ml-6.0.10-1.el7.elrepo.x86_64.rpm
kernel-ml-devel-6.0.10-1.el7.elrepo.x86_64.rpm
安装
rpm -ivh kernel-ml-devel-6.0.10-1.el7.elrepo.x86_64.rpm --force --nodeps
rpm -ivh kernel-ml-6.0.10-1.el7.elrepo.x86_64.rpm --force --nodeps
修改配置
vim /etc/default/grub
# 把GRUB_DEFAULT修改为0
GRUB_DEFAULT=0
重新生成grub配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
重启
reboot
# 查看内核版本
uname -a