针对文件的操作指令记录
清除文件内容递归清空指定路径下所有文件的内容,但不删除文件本身1234# truncate -s 0 表示将文件大小设置为0# {} + 表示对所有找到的文件执行这个操作find /path/to/directory -type f -exec truncate -s 0 {} +
Centos7升级Glibc-2.28
检查glibc版本1ldd --version 安装 glibc-2.28 编辑时间可能会很长,最好找个空闲时间来升级 123456789101112# 下载并解压 glibc-2.28$ yum install -y bison$ cd /usr/src/$ wget https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz$ tar -xzvf glibc-2.28.tar.gz$ cd glibc-2.28# 创建临时文件$ mkdir build && cd build$ ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin# 这一步时, 如果发生如下错误, 则需要进行gcc & make的升级,否则进行最后一步【继续编译glibc】These critical programs are missing or too old:...
转载:nf_conntrack: table full, dropping packet
netfilter/conntrack 相关内核参数往往是用 Linux 服务器的互联网小公司业务量上去之后遇到的第 3 个 “新手怪”。(第 1 位:进程可用的 FD 不足,第 2 位:IP 临时端口不足 + TIME_WAIT 状态的连接过多导致无法建立新连接) 很多人以为 Linux 经过这么多年优化,默认参数应该 “足够好”,其实不是。默认参数面向 “通用” 服务器,不适用于连接数和访问量比较多的场景。 症状服务器负载正常,但请求大量超时,服务器/应用访问日志看不到相关请求记录。 在 dmesg 或 /var/log/messages 看到大量以下记录: 1kernel: nf_conntrack: table full, dropping packet. 原因服务器访问量大,内核 netfilter 模块 conntrack 相关参数配置不合理,导致 IP 包被丢掉,连接无法建立。 详细nf_conntrack 模块在 kernel 2.6.15(2006-01-03 发布)被引入,支持 IPv4 和 IPv6,取代只支持 IPv4 的...
手动/自动mount磁盘
手动挂载 由于没有配置自动挂载,导致服务器重启后丢失挂载,这时候可以参考如下命令进行手动挂载 先使用fdisk -l查看目前的分区后使用如下命令挂载到您需要挂载的挂载点上 可以看到有两块磁盘 123456789101112131415161718192021222324252627282930313233[root@VM_113_96_centos xx]# fdisk -lDisk /dev/vda: 53.7 GB, 53687091200 bytes, 104857600 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x000c7a75 Device Boot Start End Blocks ...
nslookup和dig指令
dig和nslookup的安装Ubuntu,Debian: 1# apt install -y dnsutils Fedora / Centos: 1# yum install -y bind-utils nslookup命令详解nslookup命令用于查询DNS的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题。 nslookup的用法相对来说还是蛮简单的,主要是下面的几个用法 直接查询查询一个域名的A记录。 1nslookup domain [dns-server] 如果没指定dns-server,用系统默认的dns服务器。 查询其他记录直接查询返回的是A记录,我们可以指定参数,查询其他记录,比如AAAA、MX等。 1234nslookup -qt=type domain [dns-server]nslookup -q=type domain [dns-server]nslookup -type=type domain [dns-server]nslookup -querytype=type domain...
因inodes占用资源过多导致no space left on device的问题
摘自:https://blog.csdn.net/weixin_34383474/article/details/121493708 问题现象使用gitlab runner的打包机器执行命令打包docker镜像时报 "no space left on device" 的错误,无法正确打包。 问题排查步骤 登录打包机查看机器剩余磁盘容量,得到结果物理机磁盘仍有剩余空间。 1df -h 通过复制文件证明磁盘空间确有剩余,但是在物理机上直接执行docker命令依然存在no space left on...
分享几个常用的运维Shell脚本
摘自:https://zhuanlan.zhihu.com/p/612782776 根据 PID 显示进程所有信息根据用户输入的 PID,过滤出该 PID 所有的信息 12345678910111213141516171819202122#! /bin/bashread -p "请输入要查询的PID: " Pn=`ps -aux| awk '$2~/^'${P}'$/{print $0}'|wc -l`if [ $n -eq 0 ];then echo "该PID不存在!!" exitfiecho -e "\e[32m--------------------------------\e[0m"echo "进程PID: ${P}"echo "进程命令:$(ps -aux| awk '$2~/^'$P'$/{for...
利用split分割文件或者二进制文件
前言 当需要将较大的数据上传到服务器,或从服务器下载较大的日志文件时,往往会因为网络或其它原因而导致传输中断而不得不重新传输。这种情况下,可以先将大文件分割成小文件后分批传输,传完后再合并文件。 1. 分割文件文件分割可以使用split命令,该即支持文本文件分割,又支持二进制文件分割;而合并文件可以使用cat命令。 1.1 文本文件分割分割文本文件时,可以按文件大小分割,也可以按文本行数分割。 按文件大小分割 按文件大小分割文件时,需要以-C参数指定分割后的文件大小: 1$ split -C 100M large_file.txt stxt 如上所示,我们将大文件large_file.txt按100M大小进行分割,并指定了分割后文件前缀stxt;当不指定前缀时,split会自动对分割文件进行命名,一般会以x开头。 按行分割 文本文件还可以以行为单位进行分割,以行数进行分割时会忽略文件大小,并以-l参数指定分割后文件的行数: 1$ split -l 1000 large_file.txt stxt 1.2...
ssh远程主机执行命令或脚本
免密操控(或者使用sshpass工具,看下面)ps: 免密操控不可以逆向, 就是说可以一个主控方, 多个被控方, 但不可以一个被控方,多个主控方 以下以gitlab-runner账户远程免密登陆root@192.168.56.100为例 先执行su gitlab-runner切换到gitlab-runner账户 在你的主控端机器上使用 ssh-keygen命令创建公钥,使用ssh-keygen -t rsa来创建,程序会问你存放目录,如果不需要修改,直接回车几次即可 将/.ssh目录下id_rsa.pub文件拷贝到受控机器的`/.ssh目录中,然后将文件内容导入到~/.ssh/authorized_keys`文件 1234主控方机器执行:scp ~/.ssh/id_rsa.pub root@192.168.56.100:~/.ssh/id_rsa.pub受控方机器执行:cat ~/.ssh/id_rsa.pub >>...
linux.net.ipv4等若干参数
Linux下TCP/IP及内核参数优化有多种方式,参数配置得当可以大大提高系统的性能,也可以根据特定场景进行专门的优化,如TIME_WAIT过高,DDOS攻击等等。如下配置是写在**/etc/sysctl.conf**中,可使用sysctl -p生效,相关参数仅供参考,具体数值还需要根据机器性能,应用场景等实际情况来做更细微调整。 net.core.netdev_max_backlog = 262144#该参数决定了,网络设备接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目,我推荐262144。 net.core.optmem_max = 10000000#该参数指定了每个套接字所允许的最大缓冲区的大小 net.core.rmem_default = 10000000#指定了接收套接字缓冲区大小的缺省值(以字节为单位)。 net.core.rmem_max = 16777216#指定了接收套接字缓冲区大小的最大值(以字节为单位,我推荐16M。 net.core.somaxconn...
