首页
Search
1
安装docker时报错container-selinux >= 2:2.74
126 阅读
2
rsync命令(可替代rm删除巨量文件)
102 阅读
3
docker 镜像加速器配置,daemon.json文件详解
91 阅读
4
使用国内镜像地址拉取k8s安装需要的images
79 阅读
5
Redhat 8版本安装ansible步骤
75 阅读
运维
自动化运维
数据库
容器与k8s
环境
云计算
脚本
登录
Search
标签搜索
命令
nginx
Mingrui
累计撰写
64
篇文章
累计收到
0
条评论
首页
栏目
运维
自动化运维
数据库
容器与k8s
环境
云计算
脚本
页面
搜索到
64
篇与
的结果
2024-02-29
分割,合并,排序,去重命令介绍
{mtitle title="cut"/}cut:从文本中提取一段文字并输出cut命令从文件的每一行剪切字节、字符或字段,并将这些字节、字符或字段输出至标准输出。参数选项解释说明-b以字节为单位进行分割-n取消分割多字节字符,与-b选项连用-c以字符为单位进行分割-d自定义分隔符,默认以tab为分隔符-f与选项-d连用,指定显示区域N第N个字节、字符或字段N-从第N个字节、字符或字段开始直至行尾N-M从第N到第M(包含M)个字节、字符或字段-M从第一个到第M(包含M)个字节、字符或字段cut -c 2-10 test.txt cut -nb 2-10 test.txt cut -d : -f 1 /etc/passwd root bin daemon cut -d : -f 3-5 /etc/passwd # 显示第三列到第五列{mtitle title="split"/}split:可以按照指定的行数或者指定的文件大小分割文件。参数解释-b指定分割后文件的最大字节数-l指定分割后文件的最大行数-a指定后缀长度,默认为2位字母-d使用数字后缀split -l 10 a.txt newa #每10行分割一次,分割的文件名以newa开头 split -l 10 -a 3 a.txt new_ #参数-a指定后缀的长度 new-aaa new-aab new-aac split -b 500k -d a.txt newa_ #按文件大小分割文件,500k一个,使用数字后缀。{mtitle title="paste"/}paste:将文件按照行与行进行合并,中间使用tab隔开语法格式:paste [option] [file]说明: 如果file是“-”,表示从标准输入读取内容参数选项:-d: 指定合并的分隔符,默认是tab-s: 每个文件占用一行{mtitle title="sort"/}sort:将输入的文件内容按照指定的规则进行排序,然后将排序结果输出。参数说明-b忽略每行开头存在的空格-n依照数值的大小进行排序-r倒序排列-u去除重复行-t指定分割符-k按指定区间排序sort -n -t. -k3,3 -k4.1,4.3 a.txt ### -n:按照数字排序 -t:按“.”作为分隔符 -k3,3:从第3个字段开始到第3个字段结束排序 -k4.1,4.3:从第4个字段第1个字符开始到第4个字段第3个字符结束排序 .号连接的是字符 ,连接的是字段{mtitle title="uniq"/}uniq:去除重复行参数说明-c去除重复行,并计算每行出现的次数-d只显示重复的行-u只显示唯一的行{callout color="#f0ad4e"}uniq只能对相邻的重复行进行去重操作{/callout}{mtitle title="wc"/}wc:统计文件的行数,单词数或字节数参数说明-c统计字节数-w统计单词数-m统计字符数-l统计行数-L打印最长行的长度
2024年02月29日
58 阅读
0 评论
0 点赞
2024-02-29
关于安全使用删除命令(rm)的实践经验
用mv替代rm,不要着急删除,而是将要删除的内容先移动到/tmp目录下。删除前务必备份,最好是异机备份,若出现问题随时可以还原。如果非要删除,可以使用find命令替代rm,示例find . -type f -name "*.txt" -mtime +7 | xargs rm -f find . -type f -name "*.txt" -mtime +7 -exec rm {} \; find . -type f -name "*.txt" -mtime +7 -ok rm {} \; #安全模式,删除前需确认。如果非要使用rm命令删除,那么应先切换目录再删除(或使用绝对路径),尽量避免使用通配符。对文件的删除禁止使用 “rm -rf 文件名”的格式,因为rm -rf 误删目录时并不会有提示,非常危险。最多使用“rm -f 文件名”,推荐使用“rm 文件名”。如果费用使用通配符,在通配符前面加上表示当前目录的“./”,示例:rm -rf ./* rm -rf ./ * #"*"的前面不小心多了个空格,会把当前路径下的所有内容都删除,非常危险。慎用 rsync --delete对于重要的文件。可以设置硬链接来防止文件被误删除。
2024年02月29日
50 阅读
0 评论
0 点赞
2024-01-31
php8.2安装后配置php-fpm步骤
源码包安装好php软件后,会生成下列提示信息。其中/usr/local/php目录是预编译的时候使用--prefix=/usr/local/php/ 模块指定的,这样php的配置信息、启动程序就都在该目录下面了。 下面是详细的配置过程将php程序的位置加入PATH变量中。#在profile文件的末尾加入两行内容 vim /etc/profile PATH=$PATH:/usr/local/php/bin export PATHsource /etc/profile echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/php/bin复制相关的配置文件cp php.ini-production /usr/local/php/etc/php.ini cp sapi/fpm/www.conf /usr/local/php/etc/php-fpm.d/ cp sapi/fpm/php-fpm.conf /usr/local/php/etc/ mkdir /usr/local/php/fpm cp sapi/fpm/init.d.php-fpm /usr/local/php/fpm/php-fpm chmod 740 /usr/local/php/fpm/php-fpm useradd www -s /sbin/nologin /usr/local/php/fpm/php-fpm start可以看到php-fpm已经正常运行复制service文件,使systemctl可以管理php-fpmcp /root/ php-8.3.1/sapi/fpm/php-fpm.service /usr/lib/systemd/system/ systemctl daemon-reload systemctl restart php-fpm systemctl enable php-fpm
2024年01月31日
67 阅读
0 评论
0 点赞
2024-01-29
linux三剑客之grep,sed,awk常用命令
本文详细介绍了grep,sed,awk的常用用法及选项,并额外介绍了find命令
2024年01月29日
54 阅读
0 评论
0 点赞
2024-01-29
nginx日志文件按日期分割脚本
{card-describe title="写在开头"}工作环境下,更建议直接使用系统自带的日志切割工具lograte来进行日志分割。此脚本只为练习用。{/card-describe}{dotted startColor="#ff6c6c" endColor="#1989fa"/}1.若日志文件可能存在往日的访问信息,可以运行下面的脚本.该脚本先判断日志文件中是否存在过往的访问信息,如果存在,先处理这些过往信息。处理方式是按照日期生成文本文档,并写入对应的访问信息。然后清空日志文件,等待新的记录写入。如果不存在过往访问记录,则直接将该文件按日期重命名,然后通知nginx重新打开日志文件。说明:如果原始的日志文件非常大,可以先用split命令对文件进行切割,然后再逐个处理切割出来的小文件,以减轻服务器的压力。#!/bin/bash #将日志文件中未按日期分割的历史记录进行分割。 #获取日志文件中的日期信息,并将其写入临时文件 log_dir=/opt/access.log awk '{print $4}' $log_dir | awk -F: '{print $1}' | sed 's/\[//' | sort -u -t/ -k3 -k1 > /opt/log_date.txt #先判断日志文件中是否存在往期的日志信息,如果存在,先处理历史日志信息。 sum=`wc -l < /opt/log_date.txt` if [ $sum -gt 1 ];then #通过for循环,将历史日志记录按日期分别记录到指定的文件内。 for i in `cat /opt/log_date.txt` do dir=`echo $i| sed 's#/#-#g' ` grep $i $log_dir >> /opt/a/$dir-access.log done > $log_dir else dir=`cat /opt/log_date.txt| sed 's#/#-#g' ` mv $log_dir /opt/a/$dir-access.log kill -USR1 $(cat /var/run/nginx.pid) #通过USER1信号通知nginx重新打开日志文件 $nginx_sbin force-reload fi {lamp/}一个简单的分割脚本#!/bin/bash Dateformat=`date +%Y%m%d` Basedir="/usr/local/nginx" Nginxlogdir="$Basedir/logs" Logname="access_www" [ -d $Nginxlogdir ] && cd $Nginxlogdir || exit 1 [ -f ${Logname}.log ] || exit 1 mv ${Logname}.log ${Dateformat}_${Logname}.log $Basedir/sbin/nginx -s reload {lamp/}一个非常耗时的日志分割脚本cat access.log | while read i a b t c do date_dir=`echo $t|sed 's#\[##'|sed 's#\/#-#g'|cut -d: -f1` echo $i $a $b $t $c >> /tmp/log/$date_dir-log.txt date=`echo $date_dir| sed 's#-#\.#g'` sed -i "/$i.*$date/d" access.log done
2024年01月29日
56 阅读
0 评论
0 点赞
1
...
10
11
12
13