shell 清空日志简单例子(三)

1.使用shell 清空日志 脚本

新建立.sh 文件

touch cleanMsg.sh

cd /var/log

cat /dev/null > messages

echo "log cleaned up"


在/var/log 日志目录下面 messages 是系统日志,这里只是模仿清空日志的方式,其实上面的操作有很多问题

上面确实可以直接清除日志 但是 messages 是系统日志 只有root用户才能进行清空操作

但是如果 操作人不知道的情况下 执行脚本 而且我们又没有什么提示 这不是一个 很友好的脚步下面列出上面脚步的几个问题

(1) 没有进行用户判断 如果不是root 用户执行,我们应该给出提示

(2) 如果当前目录写错了 没有真正进入到/var/log 也要给出提示

下面带有逻辑判断的清空日志操作:

log_dir =/var/log

root_uid=0 #$UID 是个全局的变量,当是root用户时 UID 是0

if [ "$UID" -ne "$root_uid" ] #如果UID!=0 我们要给出相应提示

then

  echo "must be root to run this sh "

exit 1

fi #判断的结束符标识

cd $log_dir || { #|| 的意思是 如果 没有进入到日志目录则执行 括号中的内容

echo "no such dir "

exit 1

}

cd $log_dir

cat /dev/null > messages #这句话的意思 就是 把messages 清空 ,〉重定向输入

echo "log cleaned up"

exit 1 

#至此清空日志的操作结束





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值