前瞻:
用于多站点操作,基于ansible批量化操作
前提需要安装ansible且在nginx.conf中添加如下参数
include /usr/local/nginx/conf/denyIP;
在conf下创建denyIP,将屏蔽ip写入denyIP即可屏蔽
touch denyIP
因为使用的ansible所以每个zhandian(1-6)实际上在ansible/hosts中都是包含了多个站点的
#!/bin/bash
read -p "请输入需要屏蔽的IP: " forbidip
cat << EOF
----------------------------------------
|***************站点列表***************|
----------------------------------------
`echo -e "\033[35m 1)zhandian-1\033[0m"`
`echo -e "\033[35m 2)zhandian-2\033[0m"`
`echo -e "\033[35m 3)zhandian-3\033[0m"`
`echo -e "\033[35m 4)zhandian-4\033[0m"`
`echo -e "\033[35m 5)zhandian-5\033[0m"`
`echo -e "\033[35m 6)zhandian-6\033[0m"`
EOF
read -p "请输入需要执行的站点编号:" cmd
case $cmd in
1)
sudo /usr/bin/ansible zhandian-1 -m shell -a "sudo sed -i '\$a\deny ${forbidip};' /usr/local/nginx/conf/denyIP" && sudo ansible zhandian-1 -m shell -a "sudo systemctl restart nginx";;
2)
sudo /usr/bin/ansible zhandian-2 -m shell -a "sudo sed -i '\$a\deny ${forbidip};' /usr/local/nginx/conf/denyIP" && sudo ansible zhandian-2 -m shell -a "sudo systemctl restart nginx";;
3)
sudo /usr/bin/ansible zhandian-3 -m shell -a "sudo sed -i '\$a\deny ${forbidip};' /usr/local/nginx/conf/denyIP" && sudo ansible zhandian-3 -m shell -a "sudo systemctl restart nginx";;
4)
sudo /usr/bin/ansible zhandian-4 -m shell -a "sudo sed -i '\$a\deny ${forbidip};' /usr/local/nginx/conf/denyIP" && sudo ansible zhandian-4 -m shell -a "sudo systemctl restart nginx";;
5)
sudo /usr/bin/ansible zhandian-5 -m shell -a "sudo sed -i '\$a\deny ${forbidip};' /usr/local/nginx/conf/denyIP" && sudo ansible zhandian-5 -m shell -a "sudo systemctl restart nginx";;
6)
sudo /usr/bin/ansible zhandian-6 -m shell -a "sudo sed -i '\$a\deny ${forbidip};' /usr/local/nginx/conf/denyIP" && sudo ansible zhandian-6 -m shell -a "sudo systemctl restart nginx";;
*)
echo "errpr:please in input (1,2,3,4,5,6)";;
esac
来源:oschina
链接:https://my.oschina.net/u/4301815/blog/4939412