首页
常用运维脚本汇总
电子书阅读
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
页面
常用运维脚本汇总
电子书阅读
搜索到
92
篇与
的结果
2024-03-08
rsync命令(可替代rm删除巨量文件)
当一个文件夹下面有海量的文件需要删除时,使用rm命令往往可能会遇到问题。一个问题是删除速度慢,往往需要几分钟到几十分钟不等的时间才能完成操作;另一个问题是可能会有参数溢出的问题导致rm命令报错。此时,可以使用rsync命令来执行删除操作,主要用到的参数是--delete。比如,可以看到下面的例子中a文件夹下面有246803个文件。要删除这些文件,可以先建一个空文件夹b,然后用rsync命令让b文件夹与a文件夹进行同步。ls | wc -l 246803 #rm命令报错 rm -f * -bash: /usr/bin/rm: Argument list too long #使用rsync命令 rsync -av --delete /tset/b/ /tset/a/ #使用一个空的文件夹与a同步,使用--delete参数删除只存在于目标目录、不存在于源目录的文件。 sent 43 bytes received 3,676,572 bytes 294,129.20 bytes/sec total size is 0 speedup is 0.00 {lamp/}rsync :同步:增量拷贝,只传输变化过的数据命令参数详解rsync [选项...] 源目录 目标目录-n:测试同步过程,不做实际修改--delete:删除目标文件夹内多余的文档-a:归档模式,相当于-rlptgoD-v:显示详细操作信息-z:传输过程中启用压缩/解压--exclude 排除文件--include 用来指定必须同步的文件模式#同步时排除某些文件或目录 rsync -av --exclude='*.txt' source/ destination rsync -av --exclude '*.txt' source/ destination #上面命令排除了所有 TXT 文件。 #注意,rsync 会同步以“点”开头的隐藏文件,如果要排除隐藏文件,可以这样写--exclude=".*"。 #如果要排除某个目录里面的所有文件,但不希望排除目录本身,可以写成下面这样: rsync -av --exclude 'dir1/*' source/ destination #多个排除模式,可以用多个--exclude参数 rsync -av --exclude 'file1.txt' --exclude 'dir1/*' source/ destination rsync -av --exclude={'file1.txt','dir1/*'} source/ destination #如果排除模式很多,可以将它们写入一个文件,每个模式一行,然后用--exclude-from参数指定这个文件 rsync -av --exclude-from='exclude-file.txt' source/ destination关于/的注意事项不加/,源目录source会被完整的复制到目标目录destination下面,形成/destination/source 这样的目录结构源目录source后面有/,则只是将source目录里面的内容完整的同步到destination目录下,而不同步source目录本身。rsync -a source destination #destination目录下会有一个source文件夹 rsync -a source/ destination #destination目录下面会有source文件夹里面的内容,而没有source本身。其他rsync命令#模拟同步操作,显示将要发生的更改,但不实际执行。 rsync --dry-run source_dir destination_dir #限制带宽使用率,以 KB/s 为单位,在同步过程中限制带宽使用率为 500 KB/s rsync --bwlimit=500 source_dir destination_dir #允许在中断后重新传输,同时显示实时进度 rsync --progress --partial source_dir destination_dir #仅同步小于 100KB 的文件 rsync -a --max-size='100K' source_dir destination_dir #仅同步大于 1MB 的文件 rsync -a --min-size='1M' source_dir destination_dir #只同步文件夹,忽略文件 rsync -a --include='*/' --exclude='*' source_dir destination_dir #将同步过程信息记录到指定的日志文件中 rsync -avzP --log-file='log.txt' source_dir destination_dir #排除所有的 .txt 文件,并在目标目录中删除已排除的文件 rsync -a --exclude='*.txt' --delete-excluded source_dir destination_dir
2024年03月08日
141 阅读
0 评论
0 点赞
2024-03-06
nginx反向代理(负载均衡)中部分参数详解
nginx的代理功能是通过http proxy 模块实现的。该模块每个选项的详细解释如下。proxy_set_header 设置HTTP请求header项传给后端服务器节点,例如:可以实现让后端服务器节点获取访问客户端用户的真实IP地址。client_body_buffer_size 用于指定客户端请求主体缓冲区大小。proxy_connect_timeout 表示反向代理与后端服务器连接的超时时间,即发起握手等候响应的超时时间。proxy_send_timeout 表示代理后端服务器的数据传回时间,即在规定时间之内后端服务器必须传完所有的数据,否则nginx将断开这个连接。proxy_read_timeout 设置nginx从代理的后端服务器获取信息的时间。表示连接成功之后,nginx等待后端服务器的响应时间,也就是nginx已经进入后端的排队之中等候处理的时间。proxy_buffer_size 设置缓冲区大小,默认该缓冲区大小等于指令proxy_buffers 设置的大小。proxy_buffers 设置缓冲区大小。nginx从代理的后端服务器获取的响应信息,会放置到缓冲区。proxy_busy_buffers_size 用于设置系统繁忙时可以使用的proxy_buffer的大小。官方推荐的大小为proxy_buffers*2。proxy_temp_file_write_size 指定proxy缓存临时文件的大小。{lamp/}nginx反向代理重要参数解释proxy_pass http://server_pools;通过proxy_pass功能把用户的请求转发给反向代理定义的upstream服务器池proxy_set_header Host $host;在代理向后端服务器发送的http请求头中加入host字段信息,用于当后端服务器配置有多个虚拟主机时,可以识别代理的是哪个虚拟主机。这是节点服务器多虚拟主机时的关键配置proxy_set_header X-Forwarded-For $remote_addr;在代理向后端服务器发送的http请求头中加入X-Forwarded-For字段信息,用于后端服务器程序、日志等接收记录真实用户的IP,而不是代理服务器的IP。这是反向代理时,节点服务器获取用户真实IP的必要功能配置。proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_connect_timeout 60; proxy_send_timeout 60; proxy_read_timeout 60; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k;{card-default label="特别说明" width=""}反向代理服务器如果配置了proxy_set_header X-Forwarded-For $remote_addr参数,这时如果节点服务器需要访问日志记录用户的真实IP,还需要在节点服务器上对日志格式进行配置,这样才能把代理传过来的X-Forwarded-For头信息记录下来。具体配置如下。{/card-default}#nginx.conf文件 http { include mime.types; …… log_format main '$remote_addr - $remote_user [$time_local] "$request"' '$status $body_bytes_sent "$http_referer"' '"$http_user_agent" " $http_x_forwarder_for"' ; …… }
2024年03月06日
59 阅读
0 评论
0 点赞
2024-03-05
nginx中location匹配规则与regex常用的正则表达式
location指令的作用是根据用户请求的URI来执行不同的应用。也就是根据用户请求的URI进行匹配,匹配成功即进行相关的操作location [=|~|~*|^~] uri { … }~:用于区分大小写的匹配(大小写敏感)~*:用于不区分大小写的匹配。!:可以用逻辑操作符“!”对上面的匹配取反,即“!~”、“!~*”^~:进行常规的字符串匹配检查后不做正则表达式的检查。不同匹配标识符的优先级优先级标识符匹配说明1location = / {精确匹配 /2location ^~ /images/ {匹配常规字符串,不做正则匹配检查3location ~* .(gif jpg jpeg)$ {正则匹配4location /documents/ {匹配常规字符串,如果有正则,优先匹配正则5location / {所有location都不能匹配后的默认匹配regex常用的正则表达式\ 将后面接着的字符标记为一个特殊字符或一个原义字符或一个向后引用。如,“\n”匹配一个换行符,“\”和“$”匹配“$”^ 匹配输入字符串的起始位置,$ 匹配输入字符串的结束位置匹配前面的字符零次或多次匹配前面的字符一次或多次? 匹配前面的字符零次或一次(pattern) 保留或作为一个整体。匹配括号内的pattern,并可以在后面获取相应的匹配。常用$0...$9属性获取小括号中匹配的内容
2024年03月05日
61 阅读
0 评论
0 点赞
2024-03-05
HTTP状态码解读
{callout color="#ff0000"}HTTP状态码是用来表示WEB服务器响应HTTP请求状态的数字代码。每当WEB客户端向服务器发送一个HTTP请求时,WEB服务器都会返回一个状态响应代码。这个代码是一个三位的数字,作用是告知WEB客户端此次请求是否成功,或者是否需要采取其他的动作方式{/callout}不同范围的状态码及其对应的作用100~199 用于指定客户端相应的某些动作200~299 用于表示请求成功300~399 (重定向)用于已经移动的文件,并且常被包含在定位头信息中指定新的地址400~499 用于指出客户端的错误500~599 用于指出服务器的错误常见状态码及其对应的作用200 服务器成功返回网页。这是成功的HTTP请求返回的标准状态码301 Moved Permanently 永久重定向302 临时重定向403 Forbidden 禁止访问,虽然这个访问是合法的,但是服务器端因为匹配了预先设置的规则而拒绝响应客户端的请求,此类问题一般为服务器或服务权限配置不当所致。典型的如nginx配置文件中没有配置默认首页参数,或者首页文件在站点目录下不存在。也可能是nginx没有站点目录或内部程序文件的访问权限,或者nginx配置文件中设置了allow或者deny等权限控制。404 Not Found 服务器找不到客户端请求的指定页面,可能是客户端请求了服务器上不存在的资源所致500 Internal Server Error 内部服务器错误,服务器遇到了意料之外的情况,不能完成客户端的请求。这是一个较为笼统的报错,一般为服务器的设置或内部程序问题导致。例如,SELinux开启,而又没有为HTTP设置规则许可,客户端访问就是500502 Bad Gateway 网关报错,一般是代理服务器请求后端服务时,后端服务器不可用或没有完成响应网关服务器。这通常为反向代理服务器下面的节点出问题所致。503 Service Unavailable 服务当前不可用,可能是服务器超载或停机维护所致,或者是反向代理服务器后面没有可以提供服务的节点504 Gateway Timeout 网关超时,一般是网关代理服务器请求后端服务时,后端服务没有在特定的时间内完成处理请求。多数是服务器过载导致没有在指定的时间内返回数据给前段代理服务器。其他状态码及其对应的作用201 (已创建) 请求成功并且服务器创建了新的资源202 (已接受) 服务器已接受请求,但尚未处理203 (非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源204 (无内容) 服务器成功处理了请求,但没有返回任何内容205 (重置内容) 服务器成功处理了请求,但没有返回任何内容206 (部分内容) 服务器成功处理了部分 GET 请求303 (查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码304 (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容305 (使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理307 (临时重定向) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求401 (未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应405 (方法禁用) 禁用请求中指定的方法406 (不接受) 无法使用请求的内容特性响应请求的网页407 (需要代理授权) 此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理408 (请求超时) 服务器等候请求时发生超时409 (冲突) 服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息410 (已删除) 如果请求的资源已永久删除,服务器就会返回此响应411 (需要有效长度) 服务器不接受不含有效内容长度标头字段的请求412 (未满足前提条件) 服务器未满足请求者在请求中设置的其中一个前提条件413 (请求实体过大) 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力414 (请求的 URI 过长) 请求的 URI(通常为网址)过长,服务器无法处理415 (不支持的媒体类型) 请求的格式不受请求页面的支持416 (请求范围不符合要求) 如果页面无法提供请求的范围,则服务器会返回此状态代码417 (未满足期望值) 服务器未满足”期望”请求标头字段的要求501 (尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码505 (HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本
2024年03月05日
58 阅读
0 评论
0 点赞
2024-03-05
docker与k8s命令合集
docker命令格式参数选项说明docker info 查看 docker 的运行信息docker version 查看服务器和客户端版本docker images 查看本机镜像docker search 关键字 从官方仓库查找镜像docker pull img:tag 下载镜像docker push img:tag 上传镜像docker login 登录镜像仓库docker logout 登出镜像仓库docker save img:tag -o backup.tar-o 备份文件名备份镜像为tar包docker load -i backup.tar-i 备份文件名 导入备份的镜像文件docker history img:tag--no-trunc 完整显示查看镜像的制作历史docker inspect object-f 指定具体节点查看对象的详细信息docker tag img:tag name:tag 创建新的镜像名称和标签docker rmi img: tag 删除镜像docker run img:tag cmd-i 交互式,-t 分配终端运行一个新容器 -d 放在后台运行 --rm 临时容器,容器结束后会被删除 -h 主机名,-e 变量 --name 容器名 --restart=[no,always]容器重启策略 --link 容器名:别名添加 hosts 解析 -m, --cpus, --cpuset-cpus设置内存、cpu使用限制及亲和性docker create参数同 docker run创建容器,但不启动运行docker ps-a 显示所有容器查看容器进程 -q 只显示容器id docker rm-f 强制删除删除容器docker start\stop\restart 启动、停止、重启容器docker cp 拷贝文件到容器/从容器拷贝文件docker exec -it -- cmd 进入容器内,启动新进程docker attach[ctrl+p, ctrl+q] 退出,不会终止容器进入一个容器的启动程序docker logs 查看容器终端显示信息docker port 查看容器的端口映射信息docker kill--signal=信号名称向容器发送信号docker pause 暂停容器docker unpause 恢复暂停的容器docker update不能超过 --memory-swap 的值,-1表示无限更改容器配置策略(资源限制)docker stats 查看容器对资源的占用情况docker top 查看容器内运行的进程docker diffA 增加、D 删除、C 变化根据镜像排查文件系统变化docker wait 阻塞直到容器停止,返回退出码docker rename c_name n_name 改变容器名称docker export-o 备份文件名备份容器的 / 目录为 tar 文件docker import backup.tar-c 可以指定Dockerfile语法的命令导入文件到空 / 目录,没有任何配置docker commit img:tag 把容器做成镜像docker build-f 可以指定 dockerfile 的文件名称根据Dockerfile打包制作镜像k8skubectl管理命令子命令说明备注help用于查看命令及子命令的帮助信息 cluster-info显示集群的相关配置信息 version查看服务器及客户端的版本信息 api-resources查看当前服务器上所有的资源对象 api-versions查看当前服务器上所有资源对象的版本 config管理当前节点上kubeconfig 的认证信息 run创建Pod资源对象一般用来创建 Pod 模板get查看资源对象的状态信息可选参数: -o 显示格式describe查询资源对象的属性信息 logs查看容器的报错信息可选参数: -c 容器名称exec在某一个容器内执行特定的命令可选参数: -c 容器名称cp在容器和宿主机之间拷贝文件或目录可选参数: -c 容器名称delete删除资源对象可选参数: -f 文件名称create创建资源对象必选参数: -f 文件名称apply(创建/更新)资源对象必选参数: -f 文件名称
2024年03月05日
63 阅读
0 评论
0 点赞
1
...
14
15
16
...
19