Bash脚本笔记一:清除log文件

Bash简介

Bash(GNU Bourne-Again Shell)是一个为GNU计划编写的Unix shell,它是许多Linux平台默认使用的shell。

shell是一个命令解释器,是介于操作系统内核与用户之间的一个绝缘层。准确地说,它也是能力很强的计算机语言,被称为解释性语言或脚本语言。它可以通过将系统调用、公共程序、工具和编译过的二进制程序”粘合“在一起来建立应用,这是大多数脚本语言的共同特征,所以有时候脚本语言又叫做“胶水语言”

事实上,所有的UNIX命令和工具再加上公共程序,对于shell脚本来说,都是可调用的。Shell脚本对于管理系统任务和其它的重复工作的例程来说,表现的非常好,根本不需要那些华而不实的成熟紧凑的编译型程序语言
——-实验楼

例子

编写输出Hello World的脚本
1.

$ vim hello.sh

脚本文字扩展名为.sh

2.文件中写入如下代码

#!/bin/bash
#This is a comment
echo "Hello World"

注意:第一行#!/bin/bash不是注释,不能省略。其作用是表示使用/bin/bash作为脚本的解释器

执行方法

1.使用bash执行

$ bash ./hello.sh

2.使用sh执行

$ sh  ./hello.sh

3.使用source

$ source  ./hello.sh

4.直接执行
直接执行之前需要修改文件权限。chmod u+x hello.sh表示给hello.sh文件的拥有者user加上可执行(x)权限

$ chmod u+x hello.sh
$ ./hello.sh

清除log文件bash脚本

一、/var目录

/var 所有服务的登录的文件或错误信息文件(LOG FILES)都在/var/log下,此外,一些数据库如MySQL则在/var/lib下,还有,用户未读的邮件的默认存放地点为/var/spool/mail

二、/var/log/

  • 系统的引导日志:/var/log/boot.log
    例如:Feb 26 10:40:48 sendmial : sendmail startup succeeded
    就是邮件服务启动成功!

系统日志一般都存在/var/log下

常用的系统日志如下:

  • 核心启动日志:/var/log/dmesg
  • 系统报错日志:/var/log/messages
  • 邮件系统日志:/var/log/maillog
  • FTP系统日志:/var/log/xferlog
  • 安全信息和系统登录与网络连接的信息:/var/log/secure
  • 登录记录:/var/log/wtmp - 记录登录者讯录,二进制文件,须用last来读取内容 who -u /var/log/wtmp 查看信息
  • News日志:/var/log/spooler
  • RPM软件包:/var/log/rpmpkgs
  • XFree86日志:/var/log/XFree86.0.log
  • 引导日志:/var/log/boot.log 记录开机启动讯息,dmesg | more
  • cron(定制任务日志)日志:/var/log/cron

安全信息和系统登录与网络连接的信息:/var/log/secure

  • 文件 /var/run/utmp 記錄著現在登入的用戶。

  • 文件 /var/log/wtmp 記錄所有的登入和登出。

  • 文件 /var/log/lastlog 記錄每個用戶最後的登入信息。

  • 文件 /var/log/btmp 記錄錯誤的登入嘗試。

  • less /var/log/auth.log 需要身份确认的操作

以清除mesaage和wtmp为例

1.

$ vim cleanlogs.sh

2.编写代码

#!/bin/bash

# 初始化一个变量
LOG_DIR=/var/log

cd $LOG_DIR

cat /dev/null > messages
cat /dev/null > wtmp

echo "Logs cleaned up."

exit

代码详解
1.

#!/bin/bash

表示用bash解析器执行的脚本,不是注释,不能省略。
2.

LOG_DIR=/var/log

定义一个变量存放/var/log目录
3.

cd $LOG_DIR

进入LOG_DIR,即/var/log目录,注意有$符号
4.

cat /dev/null > messages
cat /dev/null > wtmp

/dev/null 这个东西可以理解为一个黑洞,里面是空的(可以用cat命令看一看),什么东西都可以往里面扔,扔了就没了.
5.

echo "Logs cleaned up."

exit

打印提示和退出。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mango_haoming/article/details/77581622
个人分类: linux
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭