centos下定时清理系统各种日志脚本
时间:2018-02-02 13:37 来源:linux.it.net.cn 作者:IT
进入root用户
su - root
创建脚本文件
vim cleanLog.sh
增加执行权限
chmod +x cleanLog.sh
按需添加或修改如下内容:
#!/bin/bash
echo "开始清除日志文件"
sed -i '1,50d' /var/log/cron #清除定时任务记录
sed -i '1,50d' /var/log/xferlog #清除ftp记录
sed -i '1,50' /var/log/mariadb/mariadb.log #清除数据库日志
sed -i '1,50d' /var/log/secure #清除sshd信息
sed -i '1,50d' /var/log/firewalld
sed -i '1,50d' /var/log/httpd/access_log
sed -i '1,50d' /var/log/httpd/ssl_access_log
sed -i '1,50d' /var/log/httpd/ssl_error_log
sed -i '1,50d' /var/log/httpd/ssl_request_log
sed -i '1,50d' /var/log/messages #清除系统开机发生的错误
sed -i '1,50d' /var/log/tuned/tuned.log
sed -i '1,50d' /var/log/hawkey.log
sed -i '1,50d' /var/log/yum.log
sed -i '1,50d' /var/log/dnf.log
sed -i '1,50d' /var/log/dnf.rpm.log
sed -i '1,50d' /var/log/ntp.log
sed -i '1,50d' /var/log/audit/audit.log
history -c #清除历史执行命令
echo > /var/log/wtmp #清除系统登录成功的记录
echo > /var/log/btmp #清除系统登录失败的记录
echo > /var/log/lastlog
rm -fr /var/log/boot.log-* /var/log/btmp-* /var/log/cron-* /var/log/maillog-* /var/log/messages-* /var/log/secure-* /var/log/spooler-* /var/log/xferlog-* /var/log/messages-* /var/log/multi-nic-util/*
rm -fr /var/log/httpd/access_log-* /var/log/httpd/error_log-* /var/log/httpd/ssl_access_log-* /var/log/httpd/ssl_error_log-* /var/log/httpd/ssl_request_log-*
注解:sed命令,清除前50行内容
echo命令清空日志内容
rm命令删除后缀以日期命名的日志文件
注意:以上日志清理并没有导致系统或者其他服务出错,但是部分日志文件最好不要删除,最好百度一下那个日志文件是用来干嘛的
设置定时任务:
crontab -e
设置每20天清理一次(日志清理太频繁不方便以后按日志排错)
0 0 */20 * * ./cleanLog.sh
保存退出
(责任编辑:IT)
进入root用户 su - root 创建脚本文件 vim cleanLog.sh 增加执行权限 chmod +x cleanLog.sh 按需添加或修改如下内容: #!/bin/bash echo "开始清除日志文件" sed -i '1,50d' /var/log/cron #清除定时任务记录 sed -i '1,50d' /var/log/xferlog #清除ftp记录 sed -i '1,50' /var/log/mariadb/mariadb.log #清除数据库日志 sed -i '1,50d' /var/log/secure #清除sshd信息 sed -i '1,50d' /var/log/firewalld sed -i '1,50d' /var/log/httpd/access_log sed -i '1,50d' /var/log/httpd/ssl_access_log sed -i '1,50d' /var/log/httpd/ssl_error_log sed -i '1,50d' /var/log/httpd/ssl_request_log sed -i '1,50d' /var/log/messages #清除系统开机发生的错误 sed -i '1,50d' /var/log/tuned/tuned.log sed -i '1,50d' /var/log/hawkey.log sed -i '1,50d' /var/log/yum.log sed -i '1,50d' /var/log/dnf.log sed -i '1,50d' /var/log/dnf.rpm.log sed -i '1,50d' /var/log/ntp.log sed -i '1,50d' /var/log/audit/audit.log history -c #清除历史执行命令 echo > /var/log/wtmp #清除系统登录成功的记录 echo > /var/log/btmp #清除系统登录失败的记录 echo > /var/log/lastlog rm -fr /var/log/boot.log-* /var/log/btmp-* /var/log/cron-* /var/log/maillog-* /var/log/messages-* /var/log/secure-* /var/log/spooler-* /var/log/xferlog-* /var/log/messages-* /var/log/multi-nic-util/* rm -fr /var/log/httpd/access_log-* /var/log/httpd/error_log-* /var/log/httpd/ssl_access_log-* /var/log/httpd/ssl_error_log-* /var/log/httpd/ssl_request_log-* 注解:sed命令,清除前50行内容 echo命令清空日志内容 rm命令删除后缀以日期命名的日志文件 注意:以上日志清理并没有导致系统或者其他服务出错,但是部分日志文件最好不要删除,最好百度一下那个日志文件是用来干嘛的 设置定时任务: crontab -e 设置每20天清理一次(日志清理太频繁不方便以后按日志排错) 0 0 */20 * * ./cleanLog.sh 保存退出 (责任编辑:IT) |