linux var log可不可以删掉

发布时间:2023-03-13 10:34:20 作者:iii
来源:亿速云 阅读:227

这篇文章主要讲解了“linux var log可不可以删掉”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux var log可不可以删掉”吧!

linux var log可以删掉,“/var/log”是Linux系统登录文件放置的地方,里面比较重要的文件有“/var/log/messages”、“/var/log/wtmp”等,其他不重要的日志就可以删除。

var log里就是记录点日志而已,可以删除,不过为了句柄安全,最好删除后重启xenserver。

【Shell脚本】清除/var/log下的日志文件

【脚本要求】

【基础知识】

/var/log是Linux系统登录文件放置的地方。里面比较重要的文件有/var/log/messages,/var/log/wtmp等。

/var/log/messages存放的是系统发生错误时的信息,如果系统发生莫名其妙的错误,那么一定要查看此文件。

/var/log/wtmp则记录了正确登陆过系统的帐号信息,对于追踪登陆系统者的行为很有帮助。

【知识点总结】

1、任何shell脚本第一行都应该是以#!开头。除了脚本第一行的#其它行的#表示脚本的注释。注释可以放在命令行的结尾,也可以另起一行。

2、LOG_DIR、UID_ROOT、LINE、E_XCD、E_NOTROOT、E_WRONGARGS等常量要大写

3、$UID是当前登陆用户的UID,root用户的UID为0

4、-nq用于两个整数之间相等的比较

5、判断式中括号[]的两端和需要有空格的地方都有加空格。例如,[空$UID空-nq空$UID_ROOT空]

6、双引号""中的特殊符号保持原有含义,单引号''中的特殊字符一律看作一般字符。

7、此脚本用到if语句和case语句,注意他们的语法结构。

8、*是通配符,代表任意数量的任意字符,它也可以用来匹配给定目录下任意文件名,在算术运算中代表乘法。

9、[!0-9],[0-9]代表0~9这10个数字,!表示取反,这里代表不含有0~9这10个数字。

10、||连接两个命令时,当前面的命令执行错误时(命令返回码不为0),才执行后面的命令。与此相对的是&&,&&前面的命令执行正确时,才执行后面的命令。

11、大括号{}中间的成为代码块,其中声明的变量对于脚本其他部分代码来说还是可见的。而小括号()中生命的变量对脚本其他部分来说是不可见的,因为()中的代码将作为一个子Shell来运行。

12、tail命令是输出文件的后面若干行,语法是tail -n filename表示输出filename最后面的n行。类似的还有命令head,表示输出文件的前面若干行,语法是head -n filename表示输出filename最前面的n行。

13、>&2代表将stdout指定到stderr。其它数据流重定向符还有:>代表的数据流重定向功能,以覆盖的方法将stdout指定到文件或者设备上,>>代表以追加的方法将stdout指定到文件或者设备上,2>以覆盖的方法将stderr指定到文件或者设备上,2>>代表以追加的方法将stderr指定到文件或者设备上。&>以覆盖的方法将stdout和stderr指定到文件或者设备上,&>>代表以追加的方法将stdout和stderr指定到文件或者设备上。

14、mv命令可以将文件或者目录移动到一个指定的目录,带上参数-i可以提示目标存在时是否覆盖;也可以对文件或者目录进行重命名。

15、/dev/null是一个垃圾桶黑洞设备,有非常重要的作用,一是可以产生空白内容,另外可以吞噬任何导向这个设备的信息。此处是用来产生空白内容。

16、分号“;”用于将同一行上的多个命令分隔开来。

【脚本清单】

#!/bin/bash
LOG_DIR=/var/log
UID_ROOT=0
LINE=50
E_XCD=66
E_NOTROOT=67
E_WRONGARGS=65
#保证只有root用户才可以执行此脚本
if [ $UID -nq $UID_ROOT ] ; then
    echo "This script. must be run by root"
    exit $E_NOTROOT
fi
#测试命令行的参数
case $1 in
    " "     )lines=$LINE;;
    *[!0-9]*)echo "Usage: `basename $0` file-to-cleanup";exit $E_WRONGARGS;;
    *       )lines=$1;;
esac
#处理log之前,再次确认当前目录是否正确
cd &LOG_DIR || {
    echo "Cannot change to &LOG_DIR" >&2
    exit $E_XCD
}
#处理log
tail -$lines messages>mesg.temp
mv mesg.temp messages
cat /dev/null > wtmp
#处理完毕
echo "Logs cleaned up "
exit 0

感谢各位的阅读,以上就是“linux var log可不可以删掉”的内容了,经过本文的学习后,相信大家对linux var log可不可以删掉这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. linux中tmp目录可不可以删除
  2. linux可不可以运行两个tomcat

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux

上一篇:linux和unix相似的原因是什么

下一篇:linux进程状态有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》