清除系统日志的shell脚本

本文介绍了一个用于清理Linux系统中/var/log目录下日志文件的Shell脚本。该脚本确保仅当用户拥有管理员权限时运行,并将日志文件的内容截断为指定数量的最近记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

清除/var/log目录下的日志文件的脚本程序:

#!/bin/sh
#清除/var/log目录下的日志文件

LOG_DIR=/var/log

ROOT_UID=0       #只有用户ID变量$UID为0的用户才有root权限
LINES=50            #默认的行数
E_XCD=66           #不能进入到目录时的退出代码值
E_NOTROOT=67  #不是root用户时退出的代码值

if [ "$UID" -ne "$ROOT_UID" ]
then
    echo "必须以管理员权限运行"
    exit $E_NOTROOT
fi

if [ -n "$1" ]
then
    lines=$1
else
    lines=$LINES    #默认删除的行数
fi

cd $LOG_DIR
if [ `pwd` != "$LOG_DIR" ]
then
    echo "不能进入目录"
    exit $E_XCD
fi

tail -$lines messages > mesg.temp
mv mesg.temp messages


cat /dev/null > messages
cat /dev/null > wtmp
echo "Logs cleaned up.":

exit 0
#



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值