欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

shell脚本

程序员文章站 2022-07-10 09:21:50
...
Shell脚本案例

a) 自动删除test.txt文件脚本
脚本的功能实现从/root/目录cp拷贝test.txt到/tmp目录,并且在/tmp目录创建一个目录abc,并且删除原/root/下test.txt。
首先命名脚本名称为auto_cp.sh(名称可以自己定义),内容如下:
#!/bin/bash
#This is First shell for auto cp Files
#定义文件和目录变量
FILES=/root/test.txt
DIR=/tmp
cp $FILES $DIR
cd $DIR ; mkdir –p abc
rm -rf KaTeX parse error: Expected 'EOF', got '#' at position 98: …自动备份Mysql数据库脚本 #̲!/bin/sh #auto…UID为系统变量
if
[ $UID -ne 0 ];then
echo This script must use the root user ! ! !
sleep 2
exit 0
fi
#Define DIR and mkdir DIR 判断目录是否存在,不存在则新建
if
[ ! -d $BAKDIR ];then
mkdir -p $BAKDIR
else
echo This is KaTeX parse error: Expected 'EOF', got '#' at position 23: …exists.... fi #̲Use mysqldump b…MYSQLUSR -p$MYSQLPW -d MYSQLDB>MYSQLDB >BAKDIR/webapp_db.sql
echo "The mysql backup successfully "
c) 自动打包tar目录下log文件脚本

#!/bin/sh
#auto tar czf shell to Files
#Author wugk 2014-05-15
SRC_DIR=/opt/
DES_DIR=/opt/backup/date +%Y%m%d

If
[ ! –d $DES_DIR ];then
Mkdir –p $DES_DIR
fi
for i in find $SRC_DIR -name “*.log”
do
tar czf $i.tgz $i
done
echo “The scripts exec end, Files tar successfully !”

d) 自动拒绝恶意IP脚本
#!/bin/sh
#auto drop ssh failed IP address
#wugk 2013-1-2
#定义变量
SEC_FILE=/var/log/secure
#如下为截取secure文件恶意ip 远程登录22端口,大于等于4次就写入防火墙,禁止以后再登录服务器的22端口
IP_ADDR=tail -n 1000 /var/log/secure |grep "Failed password"| egrep -o "([0-9]{1,3}\.){3}[0-9]{1,3}" | sort -nr | uniq -c |awk ' $1>=4 {print $2}'
IPTABLE_CONF=/etc/sysconfig/iptables
echo
cat <<EOF
++++++++++++++welcome to use ssh login drop failed ip+++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++±-----------------------------------++++++++++++++++++
EOF
echo -n "请等待5秒后开始执行 "
for ((j=0;j<=4;j++)) ;do echo -n “----------”;sleep 1 ;done
echo
for i in echo $IP_ADDR
do
#查看iptables配置文件是否含有提取的IP信息
cat $IPTABLE_CONF |grep $i >/dev/null
if
[ $? -ne 0 ];then
#判断iptables配置文件里面是否存在已拒绝的ip,如何不存在就不再添加相应条目
sed -i “/lo/a -A INPUT -s $i -m state --state NEW -m tcp -p tcp --dport 22 -j DROP” $IPTABLE_CONF
else
#如何存在的话,就打印提示信息即可
echo “This is $i is exist in iptables,please exit …”
fi
done
#最后重启iptables生效
/etc/init.d/iptables restart

相关标签: shell脚本