Linux文件系统与日志管理

目录

一、Linux文件系统

1、inode 与 block 详解

1.1 inode 和 block 概述

1.2 inode表的内容 

1.3 查看文件的inode号码

1.4  模拟innode号耗尽故障处理

2、访问文件的流程

3、文件恢复

3.1 恢复误删除的ext3格式文件

3.2 恢复误删除的 xfs 格式文件

二、Linux日志文件管理

1、日志的功能

2、日志文件种类

3、日志消息级别

4、rsyslog工具:管理日志

4.1 rsyslog 相关文件

4.2 /etc/rsyslog.conf 配置文件格式

4.3 通过rsyslog软件将sshd程序的日志独立

4.4 网络日志(远程日志功能)

5、journalctl工具:管理日志

6、logrotate工具:日志转储


一、Linux文件系统

  • Linux文件系统是用于组织和存储数据的一种结构化的方法,它定义了文件和目录的存储方式以及对它们进行访问和管理的规则
  • Linux支持多种文件系统类型,如Ext4、XFS、Btrfs等。文件系统类型影响文件系统的性能、稳定性和支持的特性

1、inode 与 block 详解

1.1 inode 和 block 概述

inode(索引节点): inode 是文件系统中的一种数据结构,用于存储文件或目录的元数据信息,如文件大小、权限、所有者、时间戳等。每个文件和目录都与一个唯一的 inode 相关联,它们可以通过 inode 而不是文件名来标识和访问

block(块):文件是存储在硬盘上的,硬盘的最小存储单位叫做 “扇区” (sector),每个扇区存储 512 字节。一般连续八个扇区组成一个 “块” (block),一个块是 4K 大小,是文件系统中存储数据的最小单位。当文件系统需要存储文件时,它将文件分割成块,并将这些块分配给存储介质上的不同位置。文件系统使用块来管理存储空间并存储文件数据

1.2 inode表的内容 

元数据:每个文件的属性信息,比如:文件的大小,时间,类型,权限等。而元数据是存放在inode(index node)表中

每一个inode表记录对应的保存了以下信息:

  • 文件的字节数
  • 文件拥有者的 User ID
  • 文件的 Group ID
  • 文件的读、写、执行权限
  • 文件的时间戳,共有三个:
简写全名中文名含义
atimeaccess time访问时间文件内容最后被访问的时间
mtimemodify time修改时间文件内容最后被修改的时间
ctimechange time变化时间文件的元数据发生变化的时间(比如权限,所有者等)
  • 链接数,即有多少文件名指向这个 inode
  • 文件数据 block 的位置
 1.3 查看文件的inode号码
命令一:ls -i 文件名
命令二:stat 文件名

 注:

  1. innode不包含文件名。文件名是存放在目录文件夹当中的。Linux 系统中一切皆文件,因此目录也是一种文件

  2. 操作系统用inode号码来识别不同的文件。Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于识别的别称,文件名和inode号码是一一对应关系,每个inode号码对应一个或多个文件名

1.4  模拟innode号耗尽故障处理
df -i    #查看设备的inode号数量
touch {1..51300}|xargs -n1 touch   #到磁盘设备的挂载目录中创建大量的空文件
ls |wc -l         #统计创建文件的个数,即总inode号数
****************************************************
解决方法:
rm -rf 无用文件名          #删除无用的文件,释放inode号
如果设备是逻辑卷可通过扩容来增加空间容量,从而增加inode号数量

 注:

inode号是有限资源,它的多少与磁盘大小有关,inode号在同一设备上是唯一的,在不同设备上可能不唯一

2、访问文件的流程

总结:根据文件夹的文件名和indoe号的关系找到对应的inode表,再根据inode表当中的指针找到磁盘上的真实数据

3、文件恢复

3.1 恢复误删除的ext3格式文件

使用extundelete工具是一个开源的 Linux 数据恢复工具,支持 ext3 文件系统

#安装extundelete软件
yum -y install e2fsprogs-devel e2fsprogs-libs      #安装依赖软件
tar -jxvf extundelete-0.2.4.tar.bz2 -C /opt        #解压软件包,软件包从官网下载
cd /opt/extundelete-0.2.4                          #切换到安装目录下
./configure    #编译安装
make
make install
ls /usr/local/bin/    #查看extundelete软件************************************************************************
目前使用版本只对ext3有效,设置磁盘分区略
mkfs.ext3 /dev/sdb1      #文件系统格式化
mount /dev/sdb1 /mnt     #挂载磁盘分区
cd  /mnt                 #切换到挂载点目录
echo 111>a               #创建文件
echo 222>b 
echo 333>c 
echo 444>d************************************************************************
#模拟删除文件,并恢复
rm -rf a b c d         #模拟删除
umount /mnt            #解挂载
extundelete /dev/sdb1 --inode 2      #查看该分区下的存在哪些文件
extundelete /dev/sdb1 --restore-all  #恢复被删除的文件************************************************************************
#验证,查看恢复的文件
cd ~           #切换到当前家目录
ls RECOVERED_FILES/     #在该目录下有恢复文件
 3.2 恢复误删除的 xfs 格式文件

使用 xfsdump 与 xfsrestore 工具对xfs 类型的文件进行备份恢复

xfsdump 的备份级别有两种
0(备份默认级别)表示完全备份
1-9表示增量备份
通式:xfsrestore -f  恢复文件的位置  存放恢复后文件的位置
选项说明
-f指定备份文件目录
-L指定标签 session label
-M指定设备标签 media label
-s备份单个文件,-s 后面不能直接跟路径

使用 xfsdump 时,需要注意以下的几个限制:

使用 xfsdump限制较多,还是最好提前备份重要数据,以防数据丢失

  • 不支持没有挂载的文件系统备份,所以只能备份已挂载的
  • 必须使用 root 的权限才能操作

  • 只能备份 XFS 文件系统

  • 备份下来的数据只能让 xfsrestore 解析

  • 不能备份两个具有相同 UUID 的文件系统(可使用blkid查看)  

#安装xfsdump工具
yum install -y xfsdump命令安装**************************************************
#目前使用版本只对xfs有效,设置磁盘分区略
mkfs.xfs /dev/sdb1      #文件系统格式化
mount /dev/sdb1 /mnt     #挂载磁盘分区
cd  /mnt                 #切换到挂载点目录
echo 111>a               #创建文件**************************************************
#使用 xfsdump 命令备份整个分区到指定目录
xfsdump -f /opt/bak_sdb1 /dev/sdb1**************************************************
#模拟删除文件并恢复
rm -rf /mnt/*     #删除/mnt目录下的所有文件
ls /mnt           #查看还有无文件
xfsrestore -f /opt/bak_sdb1 /data/  
#使用bak文件将数据恢复到/data下**************************************************
#验证,查看恢复的文件
cd /data                #切换目录
ls /data                #在该目录下有恢复文件

二、Linux日志文件管理

1、日志的功能

记录:日志可以记录特定事件、活动或数据,以便将来进行查看和分析

故障排除:在软件开发和系统管理中,日志通常用于跟踪问题和故障,帮助识别和解决错误

监控:日志记录可以用于监视应用程序、系统或网络的性能和行为,从而及时发现异常并采取必要的措施

合规性:在许多行业中,日志记录是确保合规性和安全性的重要手段,例如在金融和医疗领域

分析:通过分析日志数据,可以获取有关系统使用情况、用户行为和趋势的宝贵信息,从而支持决策制定和优化流程

安全:日志记录对于安全审计和追踪潜在的安全威胁至关重要,能够帮助发现入侵和未经授权的访问

2、日志文件种类

①内核及系统日志
记录 Linux 内核消息及各种应用程序的公共日志信息,包括启动、IO错误、网络错误、程序故障等。对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息

  • /var/log/messages :系统中大部分的信息
  • /var/log/anaconda:anaconda的日志操作系统安装时安装的软件信息
  • /var/log/boot.log:系统服务启动的相关信息,文本格式

②用户日志
记录系统用户登录及退出系统的相关信息

  • /var/log/secure:系统安全日志(用户登录),文本格式,应周期性分析
  • /var/log/btmp:当前系统上,用户的失败尝试登录相关的日志信息,二进制格式文件,lastb命令进行查看

  • /var/log/wtmp:当前系统上,用户正常登录系统的相关日志信息,二进制格式文件,last命令可以查看

  • /var/log/lastlog:每一个用户最近一次的登录信息,二进制格式文件,lastlog命令可以查看

③程序日志
由各种应用程序独立管理的日志文件,记录格式不统一

3、日志消息级别

级号消息级别说明
0EMERG紧急会导致主机系统不可用的情况
1ALERT警告必须马上采取措施解决的问题
2CRIT严重比较严重的情况
3ERR错误运行出现错误
4WARNING提醒可能会影响系统功能的事件
5NOTICE注意不会影响系统但值得注意
6INFO信息一般信息
7DEBUG调试程序或系统调试信息等

4、rsyslog工具:管理日志

4.1 rsyslog 相关文件
  • 程序包:rsyslog

  • 主程序:/usr/sbin/rsyslogd

  • CentOS 6:/etc/rc.d/init.d/rsyslog {start|stop|restart|status}

  • CentOS 7,8:/usr/lib/systemd/system/rsyslog.service

  • 配置文件:/etc/rsyslog.conf,/etc/rsyslog.d/*.conf

  • 库文件: /lib64/rsyslog/*.so

4.2 /etc/rsyslog.conf 配置文件格式

由三部分组成:

  • MODULES:相关模块配置

  • GLOBAL DIRECTIVES:全局配置

  • RULES:日志记录相关的规则配置 

程序类型:mail 邮箱、corn 计划任务、auth 用户认证

自定义类型:local0~local6(7个类型)

注:rsyslog软件管理日志,需要rsyslog软件和其他服务程序之间要相互支持

4.3 通过rsyslog软件将sshd程序的日志独立

原本sshd软件的日志放在/var/log/secure日志中,与很多软件放在一起,因为这个软件比较重要,所以把sshd软件的日志单独存放

#在rsyslog配置文件里添加sshd的程序日志
vim /etc/rsyslog.conf
local6.*     /opt/sshd.log    *************************************************************************
#修改sshd配置文件
vim /etc/ssh/sshd_config
#SyslogFacility AUTHPRIV          #注释掉这行
SyslogFacility local6             #在sshd配置文件里将日志存放在local6类型中**************************************************************************
#验证
systemctl restart rsyslog.service sshd     #重启rsyslog软件和sshd软件服务
ssh 172.16.12.12                 #远程连接
cat /opt/sshd.log                #查看sshd程序日志

①在rsyslog配置文件里添加sshd的程序日志 

 ②在sshd配置文件里将日志存放在local6类型中

③验证,重启rsyslog软件和sshd软件服务,查看指定目录下的日志 

 4.4 网络日志(远程日志功能)

允许将来自多个源头(如服务器、应用程序、网络设备)的日志数据传输到远程位置,通常是集中式的日志服务器或云端存储

要求:开启日志的远程传输功能在172.16.12.12

#客户端和日志服务器都要关闭防火墙和临时防护
systemctl   stop  firewalld      
setenforce  0  
**************************************************
#开启客户端和日志服务器tcp的514端口
vim /etc/rsyslog.conf 
$ModLoad imtcp
$InputTCPServerRun 514
或开启客户端和日志服务器udp的514端口
$ModLoad imudp
$UDPServerRun 514**************************************************
systemctl restart rsyslog   #重启rsyslog服务
ss -ntap |grep 514       #查看514端口是否打开**************************************************
#在172.16.12.10上设置发送日志到172.16.12.12主机去
vim /etc/rsyslog.conf    #修改rsyslog文件配置文件
*.info;mail.none;authpriv.none;cron.none       @@172.16.12.12
#@@代表使用tcp,@代表udp**************************************************
#测试,在客户端把写日志进日志服务端
logger "this is test log from 172.16.12.10"
cat /var/log/messages   #在日志服务端查看客户端发来的日志信息

①客户端和日志服务器都要关闭防火墙和临时防护 

 ​​​​​②开启客户端和日志服务器tcp的514端口

③重启rsyslog服务并查看514端口是否打开

④ 在172.16.12.10上设置发送日志到172.16.12.12主机去

⑤ 测试,在客户端把写日志进日志服务端

5、journalctl工具:管理日志

日志的配置文件:

  • /etc/systemd/journald.conf
通式:journalctl [OPTIONS...] [MATCHES...]
选项说明
--no-full,--full, -l默认显示完整的字段内容,超长的部分换行显示或者被分页工具截断
-a,--all完整显示所有字段内容, 即使其中包含不可打印字符或者字段内容超长
-f,--follow只显示最新的日志项,并且不断显示新生成的日志项
-e,--pager-end在分页工具内立即跳转到日志的尾部
-n,--lines限制显示最新的日志行数,若不设参数则表示默认值10行
--no-tail显示所有日志行
-r,--reverse反转日志行的输出顺序, 也就是最先显示最新的日志
-o,--output控制日志的输出格式
--no-hostname不显示来源于本机的日志消息的主机名字段
-x,--catalog在日志的输出中增加一些解释性的短文本, 以帮助进一步说明日志的含义
-q,--quiet当以普通用户身份运行时, 不显示任何警告信息与提示信息
-m,--merge混合显示包括远程日志在内的所有可见日志
-b显示特定于某次启动的日志,"-b  1"表示按时间顺序排列最早的那次启动, "-b 2"则表示在时间上第二早的那次启动; "-b -0"表示最后一次启动, "-b -1"表示在时间上第二近的那次启动
--directory指定了另外一台主机上的日志目录
--list-boots列出每次启动的 序号(也就是相对于本次启动的偏移量)、32字符的ID、第一条日志的时间戳、最后一条日志的时间戳
-k,--dmesg仅显示内核日志
-u, --unit仅显示属于特定单元的日志
-p, --priority

根据日志等级(包括等级范围)过滤输出结果

-c, --cursor从指定的游标(cursor)开始显示日志
--after-cursor从指定的游标(cursor)之后开始显示日志
--show-cursor在最后一条日志之后显示游标
-S, --since=, -U, --until=显示晚于指定时间(--since=)的日志、显示早于指定时间(--until=)的日志
-F, --field显示所有日志中某个字段的所有可能值
-N, --fields输出所有日志字段的名称
--system, --user仅显示系统服务与内核的日志(--system)、 仅显示当前用户的日志(--user)
-M, --machine显示来自于正在运行的、特定名称的本地容器的日志
-D DIR, --directory=DIR仅显示来自于特定目录中的日志, 而不是默认的运行时和系统日志目录中的日志
案例:
#查看所有日志(默认情况下 ,只保存本次启动的日志)journalctl#查看内核日志(不显示应用日志)journalctl -k#查看系统本次启动的日志journalctl -bjournalctl -b -0#查看上一次启动的日志(需更改设置)journalctl -b -1#查看指定时间的日志   -S=since    -U=unitjournalctl --since="2024-1-8 19:00:00"  #查看2024-1-8 19:00:00的日志journalctl --since "20 min ago"   #查看20分钟前的日志journalctl --since yesterday      #查看昨天的日志journalctl -S "2023-12-31 19:00" -U "2024-1-8 19:00:00"  
#查看2023-12-31 19:00到2024-1-8 19:00:00的日志journalctl --since 09:00 --until "1 hour ago"
#从今天09:00 开始直至一小时前的systemd日志#显示尾部的最新10行日志journalctl -n#显示尾部指定行数的日志journalctl -n 20#实时滚动显示最新日志journalctl -f#查看指定服务的日志journalctl /usr/lib/systemd/systemd#查看指定进程的日志journalctl _PID=1       #查看某个路径的脚本的日志journalctl /usr/bin/bash#查看指定用户的日志journalctl _UID=33 --since today#查看某个 Unit 的日志journalctl -u nginx.servicejournalctl -u nginx.service --since today#实时滚动显示某个 Unit 的最新日志journalctl -u nginx.service -f#合并显示多个 Unit 的日志journalctl -u nginx.service -u php-fpm.service --since today#查看指定优先级(及其以上级别)的日志,共有8级 0: emerg
1: alert
2: crit
3: err
4: warning
5: notice
6: info
7: debugjournalctl -p err -b#日志默认分页输出,--no-pager 改为正常的标准输出journalctl --no-pager#日志管理journalctl
#以 JSON 格式(单行)输出journalctl -b -u nginx.service -o json#以 JSON 格式(多行)输出,可读性更好journalctl -b -u nginx.serviceqq -o json-pretty#显示日志占据的硬盘空间journalctl --disk-usage#指定日志文件占据的最大空间journalctl --vacuum-size=1G#指定日志文件保存多久journalctl --vacuum-time=1years

6、logrotate工具:日志转储

logrotate工具相关文件:

  • 计划任务:/etc/cron.daily/logrotate

  • 程序文件:/usr/sbin/logrotate

  • 配置文件: /etc/logrotate.conf

  • 日志文件:/var/lib/logrotate/logrotate.status

  • 程序独立的配置文件/etc/logrotate.d/*

以bootlog程序为例,查看独立的程序bootlog的配置文件格式:

配置文件的配置参数说明
compress通过gzip压缩转储以后的日志
nocompress不压缩
copytruncate用于还在打开中的日志文件,把当前日志备份并截断
nocopytruncate备份日志文件但是不截断
create mode ownergroup转储文件,使用指定的权限,所有者,所属组创建新的日志文件
nocreate不建立新的日志文件
delaycompress和 compress 一起使用时,转储的日志文件到下一次转储时才压缩
nodelaycompress覆盖 delaycompress 选项,转储同时压缩
errors address专储时的错误信息发送到指定的Email地址
ifempty即使是空文件也转储,此为默认选项
notifempty如果是空文件的话,不转储
mail address把转储的日志文件发送到指定的E-mail 地址
nomail转储时不发送日志文件
olddir directory转储后的日志文件放入指定目录,必须和当前日志文件在同一个文件系统
noolddir转储后的日志文件和当前日志文件放在同一个目录下
prerotate/endscript在转储以前需要执行的命令,这两个关键字必须单独成行
postrotate/endscript在转储以后需要执行的命令,这两个关键字必须单独成行
daily指定转储周期为每天
weekly指定转储周期为每周
monthly指定转储周期为每月
rotate count指定日志文件删除之前转储的次数,0指没有备份,5指保留5个备份
tabooext [+] list让logrotate*不转储指定扩展名的文件,缺省的扩展名是:.rpm-orig,.rpmsave, v, 和~
size size当日志文件到达指定的大小时才转储bytes(缺省)及KB或MB
sharedscripts默认,对每个转储日志运行prerotate和postrotate脚本,日志文件的绝对路径作为第一个参数传递给脚本。 这意味着单个脚本可以针对与多个文件匹配的日志文件条目多次运行(例如/ var / log / news /.example)。 如果指定此项sharedscripts,则无论有多少个日志*与通配符模式匹配,脚本都只会运行一次
nosharedscripts针对每一个转储的日志文件,都执行一次prerotate和 postrotate脚本,此为默认值
missingok如果日志不存在,不提示错误,继续处理下一个
nomissingok如果日志不存在,提示错误,此为默认值
以nginx软件的独立配置文件为模板
cat /etc/logrotate.d/nginx /var/log/nginx/*.log {daily      #一天生成一个新的日志rotate 5   #保留5天日志missingok  #无所谓有无日志compress   #通过gzip压缩转储以后得日志delaycompress  #转储的日志文件到下一次转储时才压缩notifempty  #空文件不转存create 644 ngnix nginx   #转存文件的属性postrotateif [ -f /app/nginx/logs/nginx.pid ]; thenkill -USR1 `cat /app/nginx/logs/nginx.pid`#日志分割后,告诉nginx软件需重新生成新的日志文件fiendscript
}

 案例:分割日志

  ①首先,在/var/log/httpd的目录下能看到两个文件,这是httpd服务的日志信息

② 如果把access_log文件移动成一个新的文件,加载后又会生成新的文件

因为在httpd的配置文件中规定:访问httpd服务通过的日志文件只能存放在/var/log/httpd/access_log中

因为logrotate的子配置文件中规定重新加载httpd服务会在/var/log/httpd/下重新产生新的access_log文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/606204.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《BackTrader量化交易图解》第8章:plot 绘制金融图

文章目录 8. plot 绘制金融图8.1 金融分析曲线8.2 多曲线金融指标8.3 Observers 观测子模块8.4 plot 绘图函数的常用参数8.5 买卖点符号和色彩风格 8. plot 绘制金融图 8.1 金融分析曲线 BackTrader内置的plot绘图函数, 通过style参数变量控制不同风格的K线图&…

因为热Key和大Key,Redis终于被压崩了

大家好,我是洋子,今天分享一下在做压测时遇到的很有意思的性能问题以及对应的排查解决方案。这个性能问题的现象为,Redis线上实例不可用,Redis读写均超时 性能问题排查过程 先来看一下问题代码(Go语言实现&#xff0…

【CMake】1. VSCode 开发环境安装与运行

CMake 示例工程代码 https://github.com/LABELNET/cmake-simple 插件 使用 VSCode 开发C项目,安装 CMake 插件 CMakeCMake ToolsCMake Language Support (建议,语法提示) 1. 配置 CMake Language Support , Windows 配置 donet 环境 这…

RT-Thread: 基于STM32CubeMX配置驱STM32驱动的USB虚拟串口调试

关键词:USB 虚拟串口 USB虚拟串口,RT-Thread Studio,STM32 说明: 1:文档记录 STM32F103系列基于 RT-Thread 系统的 USB虚拟串口的开启及数据收发应用流程介绍。 2:本文以STM32F103C8T6型号做测试&#x…

计算机基础面试题 |16.精选计算机基础面试题

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

Win10电脑关闭OneDrive自动同步的方法

在Win10电脑操作过程中,用户想要关闭OneDrive的自动同步功能,但不知道具体要怎么操作?首先用户需要打开OneDrive,然后点击关闭默认情况下将文档保存到OneDrive选项保存,最后关闭在这台电脑上同步设置保存就好了。接下来…

TypeScript 从入门到进阶之基础篇(九) Class类篇

系列文章目录 TypeScript 从入门到进阶系列 TypeScript 从入门到进阶之基础篇(一) ts基础类型篇TypeScript 从入门到进阶之基础篇(二) ts进阶类型篇TypeScript 从入门到进阶之基础篇(三) 元组类型篇TypeScript 从入门到进阶之基础篇(四) symbol类型篇TypeScript 从入门到进阶…

OCP NVME SSD规范解读-5.命令超时限制-2

Sanitize清除的数据很彻底,对FTL映射表、User Data(包括已经写入NAND和仍在cache里的)、Meta Data、安全密匙、CMB中SQ/CQ相关信息、可能含有用户数据的log等等会全部清除。不过,sanitize操作不会改变RPMB、boot分区、不包含用户数据的cache等内容。 RP…

总420+,专业120+南京大学851信号与系统电子信息考研经验通信,电子信息

今年考研数学130,专业课120,总分420顺利被南京大学电通录取,梦圆南大,这一年的复习有过迷茫,有过犹豫,最后都坚持过来了,总结一下自己的复习经验,希望对大家有所帮助。数学 5-8月数…

HarmonyOS应用开发之ArkTS语言学习记录

1、ArkTS介绍 ArkTS是鸿蒙生态的应用开发语言。它在保持TypeScript(简称TS)基本语法风格的基础上,对TS的动态类型特性施加更严格的约束,引入静态类型。同时,提供了声明式UI、状态管理等相应的能力,让开发者…

76.乐理基础-打拍子-二连音、四连音

内容来源于:三分钟音乐社 上一个内容:八三、八六拍的三角形打法-CSDN博客 这里要先理解了三连音的知识。 关于多少连音的总方针,其实就是两句话,如下图中的内容:二连音与四连音实际上就是下图中第二句话里的第一部分…

mmdetection训练自己的数据集

mmdetection训练自己的数据集 这里写目录标题 mmdetection训练自己的数据集一: 环境搭建二:数据集格式转换(yolo转coco格式)yolo数据集格式coco数据集格式yolo转coco数据集格式yolo转coco数据集格式的代码 三: 训练dataset数据文件配置config…

高防ip适合防御网站和游戏类的攻击吗?

​  作为站长,要学会并承受得住网站外来攻击的压力,尤其是所属为 DDoS 攻击高发行业的网站类业务及游戏行业,是很容易被竞争对手或者一些伪黑客爱好者盯上的。 加上,有些站长并没有提前了解,就盲目进军了这两个行业&…

C语言算法(二分查找、文件读写)

二分查找 前提条件&#xff1a;数据有序&#xff0c;随机访问 #include <stdio.h>int binary_search(int arr[],int n,int key);int main(void) {}int search(int arr[],int left,int right,int key) {//边界条件if(left > right) return -1;//int mid (left righ…

SAP 物料读取基本数据文本与检验文本READ_TEXT

1. 读取基本数据文本 使用函数 READ_TEXT 2. 读取检验文本

聚道云软件连接器助力某软件科技有限公司实现人力资源信息自动化

客户介绍&#xff1a; 某软件科技有限公司是一家集软件研发、销售、服务于一体的综合性软件企业。公司业务遍布全球多个国家和地区&#xff0c;拥有众多员工。 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 客户痛点&#xff1a; 部门及人员信息分散…

PyTorch|保存与加载自己的模型

训练好一个模型之后&#xff0c;我们往往要对其进行保存&#xff0c;除非下次用时想再次训练一遍。 下面以一个简单的回归任务来详细讲解模型的保存和加载。 来看这样一组数据&#xff1a; xtorch.linspace(-1,1,50)xx.view(50,1)yx.pow(2)0.3*torch.rand(50).view(50,1) 画…

【HarmonyOS】深入了解 ArkUI 的动画交互以提高用户体验

从今天开始&#xff0c;博主将开设一门新的专栏用来讲解市面上比较热门的技术 “鸿蒙开发”&#xff0c;对于刚接触这项技术的小伙伴在学习鸿蒙开发之前&#xff0c;有必要先了解一下鸿蒙&#xff0c;从你的角度来讲&#xff0c;你认为什么是鸿蒙呢&#xff1f;它出现的意义又是…

解压方法之一 zip

文章目录 解压方法之一 zip语法参数参考实例仅保存文件名更多信息 解压方法之一 zip … _linux-beginner-zip: Linux zip命令的功能是用于压缩文件&#xff0c;解压命令为unzip。 通过zip命令可以将很多文件打包成.zip格式的压缩包&#xff0c;里面会包含文件的名称、路径、…

性能分析与调优: Linux 实现 CPU剖析与火焰图

目录 一、实验 1.环境 2.CPU 剖析 3.CPU火焰图 一、实验 1.环境 &#xff08;1&#xff09;主机 表1-1 主机 主机架构组件IP备注prometheus 监测 系统 prometheus、node_exporter 192.168.204.18grafana监测GUIgrafana192.168.204.19agent 监测 主机 node_exporter192…