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
#至此清空日志的操作结束