linux下清理日志的脚本

需求:由于/var分区单独划分,给的分区大小才5G,日志写满了,需要写个脚本定时清理日志文件

#!/bin/bash

##delete log script ,write by xl

LOG_DIR1=/var/log

LOG_DIR2=/var/spool/mail

LOG_DIR3=/var/spool/mqueue

ROOT_UID=0

##Must be use root to run this script

if [ "$UID" -ne "$ROOT_UID" ]

then

  echo "Must be root to run this script."

  exit 1

 fi

cd $LOG_DIR1 || {

   echo "Can not change to necessary dircectory." >&2

   exit 1

  }

#把空设备重定向到文件里面

cat /dev/null > maillog && echo "Logs cleaned up."

cat /dev/null > maillog.1 && echo "Logs cleaned up."

cat /dev/null > maillog.2 && echo "Logs cleaned up."

cd $LOG_DIR2 || {

   echo "Can not change to necessary dircectory." >&2

   exit 1

  }

cat /dev/null > root && echo "Logs cleaned up."

cat /dev/null > stock && echo "Logs cleaned up."

###清除mqueue下的小文件

cd $LOG_DIR3

ls |xargs rm -rf


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
1、删除系统默认账户、组  
可以删除的用户有:adm,lp,sync,shutdown,halt,news,uucp,operator,games,gopher 等  
可以删除的组有:adm,lp,news,uucp,games,dip,pppusers,popusers,slopusers 等  
[root@localhost ~]# userdel adm  # 删除用户命令  
[root@localhost ~]# groupdel adm  # 删除组命令  
## 如果用户只做服务启动 , 那么最好将登陆 shell 设为 /sbin/nologin  
   
2、关闭不需要的系统服务  
可以有选择的关闭这些服务:anacron、auditd、autofs、avahi-daemon、avahi-dnsconfd、bluetooth、cpuspeed、firstboot、gpm、  
haldaemon、hidd、ip6tables、ipsec、isdn、lpd、mcstrans、messagebus、netfs、nfs、nfslock、nscd、pcscd portmap、readahead_early、  
restorecond、rpcgssd、rpcidmapd、rstatd、sendmail、setroubleshoot、yppasswdd ypserv  
[root@localhost ~]# chkconfig ip6tables off  # 关闭开机启动  
## 下面是系统稳定运行必须的服务  
acpid      用于电源管理,对于笔记本和台式电脑很重要,建议开启  
Apmd       高级电源能源管理服务,可以监控电池  
Kudzu      检测硬件是否变化的服务,建议开启  
crond      任务计划服务,建议开启  
atd        类似 crond ,提供指定时间做指定事情的服务  
keytables  用于装载镜像键盘,根据情况,可以启动  
iptables   Linux 内置防火墙软件,为了系统安全必须启动  
xinetd     支持多种网络服务的核心守候进程,建议开启  
xfs        使用 X Windows 桌面系统必须的服务  
network    激活已配置网络接口的脚本程序,也就是启动网络服务,启动  
sshd       提供远程登陆到 Linux 上的服务,为了系统维护方便,你看着办吧  
syslog     记录系统日志的服务,很重要,建议开启

本文出自http://hao360.blog.51cto.com/5820068/1553933/