栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

shell脚本集合(持续更新)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

shell脚本集合(持续更新)

1、系统日志定时备份
echo "The program being executed......"
back_dir=/dengBao/logBack/systemLog
file_dir=/var/log

#定义备份文件名字
file_name=`date +%Y-%m-%d  --date='-1 day'`

if [[ ! -d "${back_dir}" ]]; then
  mkdir -p "${back_dir}"
fi

if [[ ! -d "${back_dir}/${file_name}" ]]; then
  mkdir -p ${back_dir}/${file_name}
fi

cp -r ${file_dir}/*   ${back_dir}/${file_name}/

find $back_dir/* -maxdepth 1 -type d -mtime +30 -exec rm -rf {} ;
echo "succeed"

添加定时任务

echo "0 0 * * * /opt/script/systemLogBack.sh >/dev/null &" >>/var/spool/cron/root
2、定期清除docker日志
#!/bin/sh 

echo "======== start clean docker containers logs ========"  

logs=$(find /var/lib/docker/containers/ -name *-json.log)  

for log in $logs  
do  
	echo "clean logs : $log"  
    cat /dev/null > $log  
done  

echo "======== end clean docker containers logs ========"  
3、自动屏蔽攻击 IP
#!/bin/sh 
DATE=$(date +%d/%b/%Y:%H:%M)
LOG_FILE=/usr/local/nginx/logs/demo2.access.log
iplist=$(tail -n 5000 $LOG_FILE | grep $DATE | awk '{count[$1]++} END{for(ip in count) print count[ip], ip}' | sort -rn -k1 |head -n10| awk '{print $2}')
for ip in $iplist
do
	if [ $(firewall-cmd --zone=public --list-rich-rules |grep -c $ip) -qe 0 ];then
	firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=$ip drop"
	fi
done

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/836302.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号