在linux中,怎么实现日志文件的自动化循环

在linux中,怎么实现日志文件的自动化循环,第1张

你好,设置方法如下:

修改 Error log 设备的缓冲区大小

Error log 设备 /dev/error 为块设备,需要使用缓冲区进行读写。缺省情况下,/dev/error 的缓冲区大小为 8KB,我们可以通过 /usr/lib/errdemon – B 来配置 /dev/error 的缓冲区大小。如果新配置的缓冲区大小大于现有的配置,新配置将会立即生效;如果新配置的缓冲区大小小于现有的配置,则新配置会在 errdemon 重新启动后生效。

配置日志文件路径

缺省情况下,AIX Error log 会使用文件 /var/adm/ras/errlog 存储日志信息,使用 /usr/lib/errdemon – i 可以配置 Error log 日志文件的路径。新配置的日志文件路径会立即生效。

配置日志文件大小限制

AIX Error log 的日志文件大小是可配置的,配置命令为 /usr/lib/errdemon – s。如果新配置的日志文件大小大于现有的配置,新配置将会立即生效;如果新配置的日志文件大小小于现有的配置,则现有的日志文件将会被备份为 *.log,然后 errdemon 会用新的日志文件大小配置生成一个新的日志文件。

配置对重复条目的处理

如果 *** 作系统或者应用程序发生了重复的信息或者错误,在 Error log 中就会造成重复的条目。AIX Error log 对重复的条目会进行相应的处理,如在一定时间内内容相同的条目将会被标记为重复,如果重复的条目数超过了预先设置的阈值,则新的重复的条目将不会再作为重复条目被记入 Error log。是否打开重复条目处理功能的配置参数为 /usr/lib/errdemon – d,重复条目的时间间隔配置参数为 /usr/lib/errdemon – t,最大重复条目数的配置参数为 /usr/lib/errdemon – m。

可以使用ls或者find来完成对某个文件夹下所有文件的遍历

比如使用ls

可以简单地使用一个通配符来完成

ls 某个目录/*

也可以使用find来完成

比如

find 某个目录

自然的也可以写一个shell脚本来进行遍历

首先进行一个要遍历的文件夹

然后循环查看每个文件

如果该文件是一个文件夹的话则进入该文件夹做和上面相同的事件

这样就可以该整个文件夹内的所有文件进行遍历了

一个简单的代码如下

#!/bin/bash

function show()

{

cd $1

for i in `ls`

do

if [ -d "$i" ]

then

show "$i"

else

echo "$i"

fi

done

cd ..

}

show $1

exit 0

该程序不能遍历以.开头的隐藏文件

可以使用ls -a来进行遍历隐藏文件

遍历时需要注意.和..这两个特殊文件

下面是一个简单的代码

#!/bin/bash

function show()

{

cd $1

for i in `ls -a`

do

if [ "$i" == "." ] || [ "$i" == ".." ]

then

continue

fi

if [ -d "$i" ]

then

show "$i"

else

echo "$i"

fi

done

cd ..

}

show $1

exit 0

写个脚本循环

假如你目录在tmp

文件也在tmp下

for IP in {1..100}

do

SERVER="192.168.0.${IP}"

DIR="192.168.0.${IP}"

scp root@${SERVER}:/tmp/A /tmp/${DIR}

done不过这样的前提是

你已经做了公用机与这100台机器的无需密码的访问

当然

你可以用expect

做密码输入

只不过麻烦点多写个脚本


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7519393.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-06
下一篇2023-04-06

发表评论

登录后才能评论

评论列表(0条)

    保存