针对文件的操作指令记录
清除文件内容递归清空指定路径下所有文件的内容,但不删除文件本身1234# truncate -s 0 表示将文件大小设置为0# {} + 表示对所有找到的文件执行这个操作find /path/to/directory -type f -exec truncate -s 0 {} +
转载: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 的 ip_con...
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 [dns-server] 注意以上四...
因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 device空间不足的报错 通过搜索找到原因服务机inodes使用过高,执行指令得到结果inodes占用100%,原因为docker打包过程中小文件生成过多导致inodes占用过高 inode是什么 inode是文件系统中的一个数据结构,用于存储文件或目录的元数据信息,如文件大小、所属用户、所属组、权限、创建时间、修改时间等等。每个inode都有一个唯一的编号,称为inode号。 当文件或目录被创建时,会分配一个inode号和一定的磁盘空间存储文件内容。文件名与...
利用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 二进制文件分割二进制文件分割类似于按大小分割文本文件,不同的是以-b参...
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 >> ~/.ssh/authorized_keys 在受控方机器设置权限:~/.ssh权限...
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 ...
dstat状态监控工具
通用的系统资源统计工具 说明dstat命令 是一个用来替换vmstat、iostat、netstat、nfsstat和ifstat这些命令的工具,是一个全能系统信息统计工具。与sysstat相比,dstat拥有一个彩色的界面,在手动观察性能状况时,数据比较显眼容易观察;而且dstat支持即时刷新,譬如输入dstat 3即每三秒收集一次,但最新的数据都会每秒刷新显示。和sysstat相同的是,dstat也可以收集指定的性能资源,譬如dstat -c即显示CPU的使用情况。 下载安装方法一 1yum install -y dstat 方法二 官网下载地址:http://dag.wieers.com/rpm/packages/dstat 12wget http://dag.wieers.com/rpm/packages/dstat/dstat-0.6.7-1.rh7.rf.noarch.rpmrpm -ivh dstat-0.6.7-1.rh7.rf.noarch.rpm 使用说明安装完后就可以使用了,dstat非常强大,可以实时的监控cpu、磁盘、网络、IO、内存等使用情况。...
使用iftops分析带宽
背景: Linux系统下如果服务器带宽跑满了,查看跟哪个ip通信占用带宽比较多,可以通过iftop命令进行查询 安装 CentOS系统运行:yum install iftop -yDebian系统 运行:apt-get install iftop -y 使用ifconfig |grep eth查看网卡 使用 安装好后在服务器执行iftop -i eth1就可以查看服务器公网网卡带宽使用情况(如果只执行iftop默认检测第一块网卡使用情况,这样查的会是内网网卡eth0。 12# -P 参数会将请求服务的端口显示出来,也就是说是通过服务器哪个端口建立的连接,看内网流量执行 iftop -i eth0 -P 命令。iftop -i eth0 -P iftop的相关参数 1234567891011-I :设定监测的网卡,如:# iftop -i eth1-B : 以bytes为单位显示流量,默认是bits,如:# iftop –B-n :使host信息默认直接都显示IP,如:# iftop –n-N :使端口信息默认直接都显示端口号,如: # iftop –N-F :...
wget命令用法
摘自:https://www.jianshu.com/p/59bb131bc2ab wget 是在 Linux 下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括 Windows 在内的各个平台上。 wget 是一个下载文件的工具,它用在命令行下。对于 Linux 用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到本地服务器。 wget 工具体积小但功能完善,它支持断点下载功能,同时支持 FTP 和 HTTP下载方式,支持代理服务器和设置起来方便简单。 它有以下功能和特点: (1)支持断点下传功能;这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能,那些网络不是太好的用户可以放心了; (2)同时支持FTP和HTTP下载方式;尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候,仍然需要使用FTP方式下载软件; (3)支持代理服务器;对安全强度很高的系统而言,一般不会将自己的系统直接暴露在互联网上,所以,支持代理是下载软件必须有的功能; (4)设置方便简单;可能,习惯图形界面的...
