首页
常用运维脚本汇总
电子书阅读
Search
1
安装docker时报错container-selinux >= 2:2.74
172 阅读
2
rsync命令(可替代rm删除巨量文件)
141 阅读
3
docker 镜像加速器配置,daemon.json文件详解
133 阅读
4
使用国内镜像地址拉取k8s安装需要的images
94 阅读
5
docker search命令提示i/o timeout的解决方案
93 阅读
运维
自动化运维
数据库
容器与k8s
环境
云计算
脚本
ai
登录
/
注册
Search
标签搜索
命令
nginx
zabbix
Mingrui
累计撰写
92
篇文章
累计收到
8
条评论
首页
栏目
运维
自动化运维
数据库
容器与k8s
环境
云计算
脚本
ai
页面
常用运维脚本汇总
电子书阅读
搜索到
69
篇与
的结果
2024-09-26
grep命令详解
{alert type="info"}grep命令可以搜索文件,查找指定的字符串{/alert}grep的第一个参数(待搜索的内容)可以是一个简单的字符串,也可以是更复杂的正则表达式。命令行选项[root@web1]# grep panel * 1panel.service:Description=1Panel, a modern open source linux panel 1panel.service:ExecStart=/usr/bin/1panel 1pctl: systemctl status 1panel.service 1pctl: systemctl start 1panel.service 1pctl: systemctl stop 1panel.service -h:不显示特定文件名[root@web1]# grep -h panel * Description=1Panel, a modern open source linux panel ExecStart=/usr/bin/1panel systemctl status 1panel.service systemctl start 1panel.service systemctl stop 1panel.service-c:只显示匹配到了几次,不显示文件中包含指定字符串的行[root@web1]# grep -c panel * 1panel:526 1panel.service:2 1pctl:23 install.log:3 install.sh:11 LICENSE:0 README.md:6-l:只显示包含搜索结果的文件名如果在一个文件中找到了多次匹配,grep仍然只输出该文件名一次。如果没有找到匹配,则什么都不输出。[root@web1]# grep -l panel * 1panel 1panel.service 1pctl install.log install.sh README.md-q:只显示搜索是否成功-q选项没有任何输出,需要使用$?来查看该命令是否成功。如果搜索成功,返回0;如果搜索不到结果,返回1。根据-q选项的该特点,该选项参数更长用于if、while等条件判断中。[root@web1]# grep -q panel * [root@web1]# echo $? 0[root@web1]# if grep -q panel 1panel ;then echo yes;else echo no;fi yes #另一种写法 [root@web1 1panel-v1.10.1-lts-linux-amd64]# if grep panel 1panel > /dev/null ;then echo yes;else echo no;fi yes #如果不重定向到/dev/null,会输出grep的执行结果,界面显得凌乱。 [root@web1 1panel-v1.10.1-lts-linux-amd64]# if grep panel * ;then echo yes;else echo no;fi README.md:- 环境地址:<https://demo.1panel.cn/> README.md:- 密码:1panel README.md:curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh README.md:- [在线文档](https://1panel.cn/docs/) yes-i:不区分大小写[root@web1]# grep -i Panel * 1panel.service:Description=1Panel, a modern open source linux panel 1panel.service:ExecStart=/usr/bin/1panel 1pctl: echo "1Panel 控制脚本" 1pctl: echo " status 查看 1Panel 服务运行状态" 1pctl: echo " start 启动 1Panel 服务" 1pctl: echo " stop 停止 1Panel 服务"-v:对搜索结果取反搜索更复杂的模式grep中的正则表达式提供了更为强大的模式匹配功能,能够满足大部分需求。正则表达式描述了待匹配字符串的模式。字母字符(或者对于shell没有特殊含义的其他字符),只匹配自身。如“A”匹配A,“B”匹配B,“ab”匹配ab。特殊字符:既可以单独使用,也可以与其他字符结合。. 点号,匹配任意单个字符。星号,匹配上一个字符0次或多次。^ 尖角号,匹配文本行的行首位置。$ 美元符号,匹配文本行的行尾位置。[] 匹配其中任意一个字符。[^] 方括号中以尖角号开头,则匹配的是不在该字符组中的任意字符。{n,m} 区间表达式,一种重复机制。匹配前面的内容n到m次。{n} 只重复n次。{n,} 至少重复n次。 📜 举例:.... 可以匹配任意4个字符.A 匹配第二个字母是A的任意字符.A. 匹配任意单个字符,然后是A,然后是任意单个字符A* 匹配A出现了0次或多次.* 匹配任意单个或多个字符(不包含空行)^$ 匹配空行A{5} 匹配连续的5个A字母A{5,} 至少匹配连续的5个A多文件搜索技巧# 在多个日志文件中搜索 grep -r "OutOfMemoryError" /var/log/ # 搜索指定类型的文件 grep -r --include="*.log" "database connection" /var/log/ # 排除某些文件 grep -r --exclude="*.gz" "error" /var/log/ # 搜索压缩文件 zgrep "error" /var/log/nginx/access.log.gz
2024年09月26日
67 阅读
0 评论
0 点赞
2024-09-26
nginx配置禁止通过IP地址直接访问网站
默认情况下Nginx配置完毕后,是允许ip地址直接访问的。这样做的一个显式风险是网络上的各种ip访问扫码工具会收集我们的web应用程序信息,容易造成信息泄露。相应的,可以在access.log中看到很多通过IP地址访问的记录。修改nginx的配置文件可以禁止通过IP地址访问,相应的配置如下:server { listen 80 default_server; listen 443 default_server; server_tokens off; server_name _ ; return 444; ssl_certificate /usr/share/nginx/doc_html/doc.zhangmingrui.cool_bundle.crt; ssl_certificate_key /usr/share/nginx/doc_html/doc.zhangmingrui.cool.key; } 说明:default_server 代表默认无匹配(的server_name)时由当前的server处理。server_name _ 代表无效域名。return 444 匹配到该server后,返回444状态(前段收到ERR_EMPTY_RESPONSE 错误)。
2024年09月26日
58 阅读
0 评论
0 点赞
2024-03-14
安装docker时报错container-selinux >= 2:2.74
错误:软件包:docker-ce-rootless-extras-25.0.4-1.el7.x86_64 (docker-ce-stable) 需要:slirp4netns >= 0.4 错误:软件包:docker-ce-rootless-extras-25.0.4-1.el7.x86_64 (docker-ce-stable) 需要:fuse-overlayfs >= 0.7 错误:软件包:containerd.io-1.6.28-3.1.el7.x86_64 (docker-ce-stable) 需要:container-selinux >= 2:2.74 错误:软件包:3:docker-ce-25.0.4-1.el7.x86_64 (docker-ce-stable) 需要:container-selinux >= 2:2.74 安装docker时遇到以上报错,提示需要升级软件包。解决方案:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum install epel-release -y yum install container-selinux -y #安装最新的contain-selinux
2024年03月14日
172 阅读
0 评论
0 点赞
2024-03-13
k8s安装时报错解决方案(container runtime is not running)
在是用kubeadm安装v1.28.7版本的k8s集群时,出现以下报错。解决方案如下:rm -f /etc/containerd/config.toml systemctl restart containerd之后再用kubeadm命令重新执行初始化即可。 kubeadm init --config=kubeadm-init.yaml --dry-runkubeadm应答文件创建方式kubeadm config print init-defaults > init.yaml应答文件如下:apiVersion: kubeadm.k8s.io/v1beta3 bootstrapTokens: - groups: - system:bootstrappers:kubeadm:default-node-token token: abcdef.0123456789abcdef ttl: 24h0m0s usages: - signing - authentication kind: InitConfiguration localAPIEndpoint: advertiseAddress: 192.168.88.51 #管理节点的IP地址 bindPort: 6443 nodeRegistration: criSocket: unix:///var/run/containerd/containerd.sock #Runtime的socket地址 imagePullPolicy: IfNotPresent name: master1 #管理节点的名称 taints: null --- apiServer: timeoutForControlPlane: 4m0s apiVersion: kubeadm.k8s.io/v1beta3 certificatesDir: /etc/kubernetes/pki clusterName: kubernetes #集群名称 controllerManager: {} dns: {} etcd: local: dataDir: /var/lib/etcd imageRepository: registry:80/library #私有仓库地址 kind: ClusterConfiguration kubernetesVersion: 1.28.0 networking: dnsDomain: cluster.local serviceSubnet: 10.96.0.0/12 #service地址段 podSubnet: 10.244.0.0/16 #pod地址段(新添加的信息) scheduler: {} #在文件最后追加,启用IPVS模式 --- kind: KubeProxyConfiguration apiVersion: kubeproxy.config.k8s.io/v1alpha1 mode: ipvs ipvs: strictARP: true #设置kubelet使用的Croup驱动模式为systemd --- kind: KubeletConfiguration apiVersion: kubelet.config.k8s.io/v1beta1 cgroupDriver: systemd
2024年03月13日
57 阅读
0 评论
0 点赞
2024-03-13
使用国内镜像地址拉取k8s安装需要的images
以下这些站点国内无法访问:https://hub.docker.com/ #Docker镜像仓库https://gcr.io/google-containers/ #谷歌镜像仓库https://gcr.io/kubernetes-helm/ #谷歌镜像仓库https://gcr.io/google-containers/pause #谷歌镜像仓库使用容器安装k8s时,需要拉取k8s安装所需的镜像,可以使用下面的一些镜像源进行替代,然后重新打上tag即可。安装k8s所需的镜像kubeadm config images list k8s.gcr.io/kube-apiserver:v1.28.7 k8s.gcr.io/kube-controller-manager:v1.28.7 k8s.gcr.io/kube-scheduler:v1.28.7 k8s.gcr.io/kube-proxy:v1.28.7 k8s.gcr.io/pause:3.9 k8s.gcr.io/etcd:3.5.10-0 k8s.gcr.io/coredns/coredns:v1.10.1方法一,使用阿里源docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.9 docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.28.7 docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.28.7 docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.28.7 docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.28.7 docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.9 docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.10-0 docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.10.1下载后可以重新打标签,然后就可以把这些镜像上传到私有仓库里面。docker images | grep hangzhou |while read i t _ do docker tag $i:$t registry:80/library/${i##*/}:$t #打标签 docker push registry:80/library/${i##*/}:$t #上传 docker rmi ${i}:${t} registry:80/library/${i##*/}:${t} #删除所有镜像 done方法二,使用willdocker docker pull willdockerhub/kube-apiserver:v1.17.3
2024年03月13日
94 阅读
0 评论
0 点赞
1
...
8
9
10
...
14