2015-12-01 19:04:43 wangjinyuan161 阅读数 1235

linux /var/log/sa 日志

1./var/log/sa 日志由  sysstat 产生

        sysstat 是 Linux 系统中的常用工具包。它的主要用途是观察服务负载,比如CPU和内存的占用率、网络的使用率以及磁盘写入和读取速度等。

sysstat 工具包中包含两类工具:

  • 即时查看工具:iostat、mpstat、sar
  • 累计统计工具:sar

也就是说,sar 具有这两种功能。因此,sar 是 sysstat 中的核心工具。

为了实现 sar 的累计统计,系统必须周期地记录当时的信息,这是通过调用 /usr/lib/sa/ 中的三个工具实现的:

  • sa1 :收集并存储每天系统动态信息到一个二进制的文件中,用作 sadc 的前端程序
  • sa2 :收集每天的系统活跃信息写入总结性的报告,用作 sar 的前端程序
  • sadc :系统动态数据收集工具,收集的数据被写入一个二进制的文件中,它被用作 sar 工具的后端

在 CentOS 系统的默认设置中,以如下的方式使用这三个工具:

  1. 在守护进程 /etc/rc.d/init.d/sysstat 中使用 /usr/lib/sa/sadc -F -L - 命令创建当日记录文件,文件为 /var/log/sa/saDD,其中 DD 为当天的日期。当系统重新启动后,会向文件 /var/log/sa/saDD 输出类似 11:37:16 AM LINUX RESTART 这样的行信息。
  2. 在 cron 任务 /etc/cron.d/sysstat 中每隔10分钟执行一次 /usr/lib/sa/sa1 1 1 命令,将信息写入文件 /var/log/sa/saDD
  3. 在 cron 任务 /etc/cron.d/sysstat 中每天 23:53 执行一次 /usr/lib/sa/sa2 -A 命令,将当天的汇总信息写入文件 /var/log/sa/saDD

您可以修改 /etc/cron.d/sysstat 以适合您的需要。

另外,文件 /var/log/sa/saDD 为二进制文件,不能使用 more、less 等文本工具查看,必须用 sar 或 sadf 命令查看。

 

2. 配置

安装sysstat工具包后会自动每10分钟采集一次
脚本在/etc/cron.d/sysstat
默认只保留7天的文件
要保留更长时间要修改配置文件
有人觉得是修改/etc/sysconfig/sysstat这个文件,其实不是的
应该是/usr/lib/sa/sa2(64位/usr/lib64/sa/sa2),来看看里面的代码

HISTORY=7

 

 

参考

http://toeverybody.blog.163.com/blog/static/124128968201192994653769/

http://www.lxway.com/55116296.htm

 

2019-05-16 09:41:36 weixin_42988521 阅读数 353

/var/run是干什么用的

根据linux的文件系统分层结构标准(FHS)中的定义:
/var/run 目录中存放的是自系统启动以来描述系统信息的文件。
比较常见的用途是daemon进程将自己的pid保存到这个目录。
标准要求这个文件夹中的文件必须是在系统启动的时候清空,以便建立新的文件。

为了达到这个要求,linux中/var/run使用的是tmpfs文件系统,这是一种存储在内存中的临时文件系统,当机器关闭的时候,文件系统自然就被清空了。使用df 命令能看到类似的输出结果:
在这里插入图片描述

当然/var/run除了保存进程的pid之外也有其他的作用,比如utmp文件,就是用来记录机器的启动时间以及当前登陆用户的。

linux系统中/var/run/目录下的*.pid文件是一个文本文件,其内容只有一行,即某个进程的PID。.
pid文件的作用是防止进程启动多个副本,只有获得特定pid文件(固定路径和文件名)的写入权限(F_WRLCK)的进程才能正常启动并将自身的进程PID写入该文件,其它同一程序的多余进程则自动退出。

动态文件系统大小:

/mnt/tmpfs最初会只有很小的空间,但随着文件的复制和创建,tmpfs文件系统驱动程序会分配更多的 VM,并按照需求动态地增加文件系统的空间。而且,当 /mnt/tmpfs 中的文件被删除时,tmpfs 文件系统驱动程序会动态地减小文件系统并释放 VM 资源,这样做可以将 VM 返回到循环当中以供系统中其它部分按需要使用。因为 VM 是宝贵的资源,所以您一定不希望任何东西浪费超出它实际所需的 VM,tmpfs 的好处之一就在于这些都是自动处理的。

速度快:

tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在 RAM 中,读写几乎可以是瞬间的。即使用了一些交换分区,性能仍然是卓越的,当更多空闲的 VM 资源可以使用时,这部分 tmpfs 文件系统会被移动到 RAM 中去。让 VM 子系统自动地移动部分 tmpfs 文件系统到交换分区实际上对性能上是好的,因为这样做可以让 VM 子系统为需要 RAM 的进程释放空间。这一点连同它动态调整大小的能力,比选择使用传统的 RAM 磁盘可以让操作系统有好得多的整体性能和灵活性。

总结:

  1. 文件系统类型:tmpfs,临时文件系统,是一种基于内存的文件系统
  2. 功能用途:存放系统启动依赖描述系统信息的文件,守护进程将自己的pid号保存到该目录.
  3. 优势:自动调整动态文件系统,速度快.
  4. 不同于大多数“标准的”文件系统,如ext3、ReiserFS和其它一些系统,tmpfs并不是存在于一个底层块设备上面。因为tmpfs是直接建立在VM之上的,您用一个简单的mount命令就可以创建tmpfs文件系统了。

mount tmpfs /mnt/tmpfs -t tmpfs

2015-07-02 23:17:01 bestlanzi 阅读数 2082

linux是一个以文件为基础的操作系统,当主机被入侵,hack一定会把日志文件删除,但是极少有黑客会把你的主机关机。恢复/var/log/messages就很重要了。由于linux需要不停的记录日志,所以守护进程已将/var/log/messages加载到了内存。我们通过查看内存就能恢复该文件。以下是步骤。
1、查看/var/log/messages
[root@bogon ~]# ll /var/log/messages
-rw——-. 1 root root 3705 Jul 2 07:46 /var/log/messages

lsof命令是一个查看所有打开文件的命令,这里查看到了该文件
[root@bogon ~]# lsof | grep /var/log/messages
rsyslogd 1683 root 1w REG 8,2 3705 133861 /var/log/messages
这里列出了进程好为1683的进程rsyslogd在内存中使用该文件

2、将/var/log/messages删除
[root@bogon ~]# rm /var/log/messages
rm: remove regular file `/var/log/messages’? y
[root@bogon ~]# ll /var/log/messages
ls: cannot access /var/log/messages: No such file or directory
[root@bogon ~]#
**[root@bogon ~]# lsof | grep messages
rsyslogd 1683 root 1w REG 8,2 5085 133861 /var/log/messages (deleted)**
这里我们看到了该文件已经被标志已经删除。

3、其实该文件还没有被删除,在/proc中还存有副本,通过此可以找回。
[root@bogon fd]# ll
total 0
lrwx——. 1 root root 64 Jul 2 07:58 0 -> socket:[12351]
l-wx——. 1 root root 64 Jul 2 07:58 1 -> /var/log/messages (deleted)
l-wx——. 1 root root 64 Jul 2 07:58 2 -> /var/log/cron
lr-x——. 1 root root 64 Jul 2 07:58 3 -> /proc/kmsg
l-wx——. 1 root root 64 Jul 2 07:58 4 -> /var/log/maillog
l-wx——. 1 root root 64 Jul 2 07:58 5 -> /var/log/secure

通过重定向/proc/1683/fd/1 即可恢复文件

4、恢复文件
]#
[root@bogon fd]# cat /proc/1683/fd/1 > /var/log/messages
此时文件恢复完成

2018-10-07 23:25:00 qq_42270373 阅读数 62

问题:查找资料, 了解以下Linux下的重要目录/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp 

  • /proc

/proc是linux内核中提供的文件系统, 该目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,在运行访问内核数据结构,改变内核设置的机制。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。
 比较重要的目录 有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等。

  • /sys

/sys是可写的,可以通过它来访问或修改内核的参数,这个目录跟/proc非常类似,也是一个虚拟的文件系统,主要是记录与核心相关的信息。包括目前已加载的核心模块与核心侦测到的硬件装置信息等等。

  • /SELinux 

SELinux是一种基于域类型模型(domain-type)的强制访问控制(MAC)安全系统,。由Kernel SElinux模块和用户态工具两部分组成。它的的主要价值是:提供了一个灵活的,可配置的MAC机制。SElinux是一个安全体系结构,它通过LSM框架被集成到Linux Kernel2.6.x中,是NSA和SELinux社区的联合项目。提供了一种灵活的强制访问控制系统,且内嵌于Linux Kernel中。SElinux定义了系统中每个用户、进程、应用和文件的访问和转变的权限,然后它使用一个安全策略来控制这些实体之间的交互,安全策略指定如何严格或宽松的进行检查。

  • /bin

单用户模式下可用,任何用户可用,放置的是在单人维护模式下还能够被操作的指令。如常用的命令ls、tar、mv、cat、chmod、mkdir、bash等。

 

  • /usr/lib

可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。包含各应用软件的函式库,目标档案,以及不被一般使用者惯用的执行档或脚本。某些软件会提供一些特殊的指令来进行服务器的设定,这些指令也不会经常被系统管理员操作,那就会被摆放到这个目录下。要注意的是,如果你使用的是X86_64的Linux系统,那可能会有/usr/lib64目录产生。

  • /usr/local

存放软件升级包,系统管理员在本机自行安装自己下载的软件,建议安装到此目录,这样会比较便于管理。举例来说,你的distribution提供的软件比较旧,你想安装比较新的软件但又不想移除旧版,此时你可以将新版软件安装于/usr/local/目录下,可与原先的旧版本有分别啦!

  • /var

 放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message: 所有的登录文件存放目录,/var/spool/mail: 邮件存放的目录, /var/run: 程序或服务启动。

 

  • /tmp

一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下。

2019-08-20 13:52:57 weixin_38342946 阅读数 116

问题描述:系统根目录下/var/log/cups/error_log.txt写满错误日志,导致系统提示磁盘空间不足。而error_log日志内容如下:

E [22/Aug/2019:19:49:50 +0800] File \"/usr/lib/cups/notifier/dbus\" has insecure permissions (0100777/uid=0/gid=0). 
W [22/Aug/2019:19:49:50 +0800] Notifier for subscription 2 (dbus://) went away, retrying!

出现此问题原因是手动修改了该目录权限,chmod -R 777 /var,权限设置过高导致的。注意不要随意给根目录文件夹设置777权限。

方法一.缓兵之计

1.查询自己的内存使用情况,命令为:

$df -lm

使用命令查看哪个目录占用空间大

$du -sh * 

结果发现是根目录下的/var/log/cups/目录下错误日志文件error_log占用内存过大,删除error_log

$rm -f error_log

清空回收站

$rm -fr $HOME/.local/share/Trash/files/*

2.Linux 查找被删除但是未被释放空间的文件 并释放资源
查看已删除但是未释放空间的文件:

$lsof | grep deleted

删除已删除但是未释放空间的文件:

lsof | grep deleted | awk '{print $2}' | xargs -I {} kill -9 {}

等待片刻,重新开机即可。

方法二:修改权限
将/var权限进行修改 chmod -R 755 /var

没有更多推荐了,返回首页