一个很使用的清除日志脚本
精简版
#!/bin/bash // 一个Bash脚本的正确的开头部分.
#Filename:clean_full_log.sh
#Datetime:2010_12_23 11:43
#Discription:Clean unused log in the directory /var/log
LOG_DIR=/var/log
# 如果使用变量,当然比把代码写死的好.
cd $LOG_DIR
cat /dev/null > messages
cat /dev/null > wtmp
echo "Logs cleaned up."
exit # 这个命令是一种正确并且合适的退出脚本的方法.
完整版
#!/bin/bash // 一个Bash脚本的正确的开头部分.
#Filename:clean_log.sh
#Datetime:2010_12_23 15:28
#Discription:Clean certain of unused log in the directory /var/log
LOG_DIR=/var/log
ROOT_UID=0 # $UID为0的时候,用户才具有root用户的权限
LINES=50 # 默认的保存行数
E_XCD=66 # 不能修改目录?
E_NOTROOT=67 # 非root用户将以error退出
# 当然要使用root用户来运行.
if [ "$UID" -ne "$ROOT_UID" ]
then
echo "Must be root to run this script."
exit $E_NOTROOT
fi
if [ -n "$1" ]
# 测试是否有命令行参数(非空).
then
lines=$1
else
lines=$LINES # 默认,如果不在命令行中指定.
fi
# Stephane Chazelas 建议使用下边
#
# E_WRONGARGS=65 # 非数值参数(错误的参数格式)
#
# case "$1" in
# "" ) lines=50;;
# *[!0-9]*) echo "Usage: `basename $0` file-to-cleanup"; exit $E_WRONGARGS;;
# * ) lines=$1;;
# esac
cd $LOG_DIR
if [ `pwd` != "$LOG_DIR" ] # 或者 if[ "$PWD" != "$LOG_DIR" ]
# 不在 /var/log中?
then
echo "Can't change to $LOG_DIR."
exit $E_XCD
fi # 在处理log file之前,再确认一遍当前目录是否正确.
# 更有效率的做法是:
#
# cd /var/log || {
# echo "Cannot change to necessary directory." >&2
# exit $E_XCD;
# }
tail -$lines messages > mesg.temp # 保存log file消息的最后部分.
mv mesg.temp messages # 变为新的log目录.
# cat /dev/null > messages
#* 不再需要了,使用上边的方法更安全.
cat /dev/null > wtmp # ': > wtmp' 和 '> wtmp'具有相同的作用
echo "Logs cleaned up."
exit 0
# 退出之前返回0,
#+ 返回0表示成功.
转载至:http://club.topsage.com/viewthread.php?tid=668357&highlight=shell
如有错误,欢迎指正
邮箱:czmcj@163.com
分享到:
相关推荐
centos7安装Kettle7.1时运行spoon.sh脚本时会提示no libwebkitgtk-1.0 detected,yum安装此包即可解决 已测试centos7.3,其他系统请自行测试
SSH免密登录脚本,免密登陆环境脚本------ssh_no_pass.sh,centos7,ssh秘钥
安装方式shell脚本:sh install-openssh.sh install-openssh.sh openssh-clients-8.0p1-1.el6.x86_64.rpm keyutils-libs-devel-1.4-5.el6.x86_64.rpm openssh-debuginfo-8.0p1-1.el6.x86_64.rpm krb5-devel-...
linux下安装cmake安装脚本: 方法如下: 1:sudo chmod +x cmake-3.27.6-linux-x86_64.sh 2:sudo sh cmake-3.27.6-linux-x86_64.sh --skip-license --prefix=/usr/local/
nsis 脚本,在nsis中添加日志,完善了日志功能
hive安装依赖以及启动脚本 文件包含如下: 01_mysql-community-common-5.7.29-1.el7.x86_64.rpm 02_mysql-community-libs-5.7.29-1.el7.x86_64.rpm 03_mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm 04_...
expect能实现脚本的自动登录和自动输入功能。 zip包中包含expect-5.44.1.15-4.el6.x86_64.rpm和tcl-8.5.7-6.el6.x86_64.rpm http://www.cnblogs.com/iloveyoucc/archive/2012/05/11/2496433.html
用于orchestrator高可用来做 VIP切换的,该脚本略有瑕疵,并没有非常完美。但是生产上是可以用的,不过该脚本没有报警功能,请知悉。
Anaconda3-2020.02-Linux-x86_64.sh,在Linux里面.sh文件是可执行的脚本文件,需要用命令bash来进行安装。此时我们输入命令bash Anaconda3-2018.12-Linux-x86_64.sh,然后开始安装,在安装过程中,基本上不断按回车...
expect-5.42.1-1.x86_64.rpm在写expect脚本的时候必须得支持expect!
在linux 上利用anaconda3,安装python开发环境,安装脚本
shellcheck 是一款实用的 shell脚本静态检查工具。
这个expect-devel-5.42.1-1.x86_64.rpm包是写expect脚本的时候必须得支持expect!
liunx 一键安装jdk脚本,实现jdk 一键安装 (bash jdk_install.sh)
查看各个日志文件大小的脚本docker_log_size.sh 共享资源-------------------------------------------------------
一键安装install_nvidia_docker脚本文件,sh一键安装,一键安装
适用:redhat和centos6~7系列系统升级openssh-8.0、脚本一键升级、sshd_config和sshd配置自动还原、openssl不升级 资料列表:安装命令:sh install-openssh.sh install-openssh.sh openssh-8.0p1-1.el6.x86_64.rpm ...
linux下安装cmake安装脚本: 方法如下: 1:sudo chmod +x cmake-3.27.7-linux-x86_64.sh 2:sudo sh cmake-3.27.7-linux-x86_64.sh --skip-license --prefix=/usr/local/
MyBatis Log Plugin 这款插件是直接将Mybatis执行的sql脚本显示出来,把 mybatis 输出的sql日志还原成完整的sql语句 1、本地安装 2、Tools 》mybatis_log_plugin
Themida & WinLicen 1.1.X - 1.8.X 系列脱壳脚本.osc Themida & WinLicen 1.9.1 - 1.9.5 系列脱壳脚本.osc ThemidaScript.for.V1.9.10+.0.4.By.fxyang.oSc THEMIDA脚本(for IAT restore).osc TMDScript-1.9.1+_1.0...