# 批量删除进程, 把 process_info 换成进程相关信息
ps -ef | grep process_info |grep -v grep | awk '{print $2}' | xargs kill -9
# 文件夹下文件非常多,没法一次 rm 时使用
ls -U|grep txt|while read name
do
rm $name &
done
# 删除 N 天前文件
语句写法:find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;
例1: 将/usr/local/backups目录下所有10天前带"."的文件删除
find /usr/local/backups -mtime +10 -name "*.*" -exec rm -rf {} \;
find:linux的查找命令,用户查找指定条件的文件
/usr/local/backups:想要进行清理的任意目录
-mtime:标准语句写法
+10:查找10天前的文件,这里用数字代表天数,+30表示查找30天前的文件
"*.*":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三
-exec:固定写法
rm -rf:强制删除文件,包括目录
{} \; :固定写法,一对大括号+空格+\
# 删除 N 天前文件
# 查看当前目录文件大小
du -h --max-depth=1 ./
# 查看网络包收发情况
sar -n DEV 1
# -n表示不解析名字,-p表示显示连接所属进程
netstat -n -p | grep SYN_REC
# 丢掉 tcp syn 包
iptables -I INPUT -s 192.168.0.2 -p tcp -j REJECT
# 限制syn并发数为每秒1次
$ iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
# 限制单个IP在60秒新建立的连接数为10
$ iptables -I INPUT -p tcp --dport 80 --syn -m recent --name SYN_FLOOD --update --seconds 60 --hitcount 10 -j REJECT
# 查看、修改半开状态连接数
sysctl net.ipv4.tcp_max_syn_backlog
sysctl -w net.ipv4.tcp_max_syn_backlog=1024
# 查看系统本地可用端口极限值
sysctl net.ipv4.ip_local_port_range
# 查看系统同时保持 TIME_WAIT socket 的最大数量
sysctl net.ipv4.tcp_max_tw_buckets
# 查看 tcp time_out 保持时间数
cat /proc/sys/net/ipv4/tcp_fin_timeout
TCP SYN Cookies 也是一种专门防御 SYN Flood 攻击的方法。SYN Cookies 基于连接信息(包括源地址、源端口、目的地址、目的端口等)以及一个加密种子(如系统启动时间),计算出一个哈希值(SHA1),这个哈希值称为 cookie。然后,这个 cookie 就被用作序列号,来应答 SYN+ACK 包,并释放连接状态。
当客户端发送完三次握手的最后一次 ACK 后,服务器就会再次计算这个哈希值,确认是上次返回的 SYN+ACK 的返回包,才会进入 TCP 的连接状态。
# 主机终端中查询内核配置-连接跟踪数
$ sysctl net.netfilter.nf_conntrack_max
net.netfilter.nf_conntrack_max = 262144
$ sysctl net.netfilter.nf_conntrack_count
net.netfilter.nf_conntrack_count = 182
# 通过这个命令查看 iptables 的规则过滤统计信息
$ iptables -t filter -nvL
# 查看 oom 的进程
grep "Out of memory" /var/log/messages
# 查看系统进程被杀
egrep -i -r 'killed process' /var/log
dmesg
# 查看进程精确启动时间
ps -eo pid,lstart,etime,cmd | grep nginx
# 查看进程占用内存
ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | sort -nrk5
# 挂载外部硬盘到本地指定目录
# -t xx 根据硬盘类型设置不同的值
sudo mount -t nfs -o vers=3,nolock,noresvport ip:remote_dir /loccal_dir/
mount -t nfs -o vers=3,nolock,noresvport :/6y3q7men/ /data/remote_cfs