0
#!/bin/bash
#
#created by zhaopeiwu @ 2015-04-20
#FOR control the size of error log of apache
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/apache2/bin:/usr/local/mysql/bin
export PATH
log_path="/usr/local/apache2/logs/"
log_size=`du -s $log_path/error_log|cut -f 1`
if [ $log_size -gt 100000 ];
then
mv $log_path/error_log $log_path/error_log_`date +%Y%m%d`;
touch $log_path/error_log;
fi
num_del=`ls -t $log_path/error*|wc -l`
if [ $num_del -gt 4 ];
then
ls -t $log_path/error*|tail -$[$num_del-2]|xargs -i rm -f {} 2 > /dev/null
fi
exit 0
====================================================
写的一般,有问题的话麻烦多指教
cmzsteven 发表于 2015-4-20 19:41
能把脚本上传一个不
#!/bin/bash
#
#created by zhaopeiwu @ 2015-04-20
#FOR control the size of error log of apache
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/apache2/bin:/usr/local/mysql/bin
export PATH
log_path="/usr/local/apache2/logs/"
log_size=`du -s $log_path/error_log|cut -f 1`
if [ $log_size -gt 100000 ];
then
mv $log_path/error_log $log_path/error_log_`date +%Y%m%d`;
touch $log_path/error_log;
fi
num_del=`ls -t $log_path/error*|wc -l`
if [ $num_del -gt 4 ];
then
ls -t $log_path/error*|tail -$[$num_del-2]|xargs -i rm -f {} 2 > /dev/null
fi
exit 0
====================================================
写的一般,有问题的话麻烦多指教
0
师兄很给力哇~写的脚本很赞!
前面的脚本内容看懂了。下面的这一行
ls -t $log_path/error*|tail -$[$num_del-2]|xargs -i rm -f {} 2 > /dev/null
tail -$[$num_del-2]这个看不懂是什么意思?
tail是显示最后10行,后面的-是减号的意思吗?
前面的脚本内容看懂了。下面的这一行
ls -t $log_path/error*|tail -$[$num_del-2]|xargs -i rm -f {} 2 > /dev/null
tail -$[$num_del-2]这个看不懂是什么意思?
tail是显示最后10行,后面的-是减号的意思吗?
0
"tail -n"是用来显示后n行
我把n换成了变量,这个变量是通过$num_del减去2获得的值决定的
而变量和数字进行计算的时候语法是 $[$变量名-数字]
哈哈,不知道我表述清楚了没
模范棒棒糖 发表于 2015-4-24 15:33
师兄很给力哇~写的脚本很赞!
前面的脚本内容看懂了。下面的这一行
ls -t $log_path/error*|tail -$[$nu ...
"tail -n"是用来显示后n行
我把n换成了变量,这个变量是通过$num_del减去2获得的值决定的
而变量和数字进行计算的时候语法是 $[$变量名-数字]
哈哈,不知道我表述清楚了没
0
晕,要是早看到你自己的回复我就不用打字了,哈哈,自己试验得到的结论才会记得深刻,赞你一个
模范棒棒糖 发表于 2015-4-24 15:41
哦哦 刚自己建立了几个文件测试了,看明白了。
tail是显示后几行,大于4行的话,tail -后面的数值取值为( ...
晕,要是早看到你自己的回复我就不用打字了,哈哈,自己试验得到的结论才会记得深刻,赞你一个
0
学习了。变量和数字进行计算的时候要加$ 这个目前还没学习到。
xiaotuanyu120 发表于 2015-4-24 15:49
"tail -n"是用来显示后n行
我把n换成了变量,这个变量是通过$num_del减去2获得的值决定的
而变量和数字 ...
学习了。变量和数字进行计算的时候要加$ 这个目前还没学习到。
编辑回复