作为一名学习Linux系统的新手,准备写一个脚本来实习每个月1号凌晨自动清空上一个月1号以前的日志文件,保留一个月的日志(PS:比如7月1号做清空操作,需要清空6月1号以前的所有日志文件,保留6月1号到7月1号的日志文件,方便查询问题),然后将操作记录到一个日志文件下,方便查看。
在使用下面代码的时候,需要先让每台服务器之间实现SSH无密码登录操作(在之后的博客会写出):
cat /sdp/script/list_ip| while read ip //list_ip文件下写需要登录的IP
do
echo '登录服务器'$ip',进行清除日志文件操作'
ssh -tt $ip << EOF
cd /sdp/web/log
find ./ ! -newer `date +%Y-%m-%d -d '-1 month'`.log -type f | xargs -n 10 rm -f //日志文件格式:2015-08-03.log
exit
EOF
echo '删除日志文件成功'
done
然后在crontab下编辑,设定每月一号0点10分运行这个脚本,然后将运行过程打印到log下,方便查看:
crontab -e
#SHELL=/bin/bash
10 0 1 * * /sdp/script/dele-one-month-ago.sh >> /sdp/script/dele-one-month-ago.log 2>&1