shell中通配符无法使用和/使用dev/null文件自动清除日志脚本


shell中有时使用命令搭配通配符无法正常工作,例如

*.log,取所有后缀是log的文件,但是无法正常工作。

使用/dev/null可以deletiing contents of a file,but preserving the file itself ,with all attendant permissions

删除文件中的内容,但是文件本身

例子

cat /dev/null > /var/log/wtmp(命令效果,删除wtmp文件中的所有内容,但是保留wtmp文件本身)    

可以自动清空日志中的文件

此命令可以用来删除cookie,

/dev/null  黑洞

自动清除日志的脚本:

cat /dev/null > /var/log/messages

cat /dev/null > /var/log/wtmp

echo " logs cleaned up "

如果想要把日志的位置改变,可以把日志的位置定义为一个变量

例子:

 LOG_DIR=/var/log

 cd $LOG_DIR

 cat /dev/null > messages

 cat /dev/null > wtmp

 echo " logs cleaned up "

 exit #

版本3,功能加强的版本    

linux下每一个用户都有一个UID,这个作为用户的变量

echo $UID

root用户的UID为0,其他用户的UID储存在/etc/passwd下

在she'll脚本中,可以用UID来判断使用的用户是否是root用户

脚本搞定:

可以加上参数,

脚本的功能是:找到/var/log目录下的messages.3文件,把里面的日志保留你自己定义的行数后清除

如果你不定义,默认保留50行





你可能感兴趣的:(uid,tail)