#!/bin/bash
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
E_WRONGARGS=65 # 非数值参数(错误的参数格式)
case "$1" in
"" ) lines=50;;
*[!0-9]*) echo "Usage: `basename $0` file-to-cleanup"; exit $E_WRONGARGS;;
* ) lines=$1;;
esac
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 > wtmp # ': > wtmp' 和 '> wtmp'具有相同的作用
echo "Logs cleaned up."
exit 0
# 退出之前返回0,
# 返回0表示成功
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/615703/viewspace-611262/ ,如需转载,请注明出处,否则将追究法律责任。