shell_常用脚本.sh

shell_常用脚本.sh

#!/bin/bash
# 基础脚本
##### 1. 同时读取两个脚本 ##############
#同时读取两个文件进行循环
exec 3<"1.txt"
exec 4<"2.txt"

while read line1<&3 && read line2<&4
do
        echo $line1 $line2
EOF
done


###### 2. 检测某一端口是否存活 ############
# 每1分钟检测一次800端口是否存活 自动重新启动vpn手机端服务
# 添加开启启动 echo "nohup /data/shell/shadowsocksr_status.sh &" >> /etc/rc.local
# 手动启动 nohup /data/shell/shadowsocksr_status.sh &
# 2020_12_14_T
while :
do
lsof -i:800 &>/dev/null
if [ $? -eq 0 ]; then
	echo -e "\e[1;35mshadowsocksr is open\e[0m"
else
	echo -e "\e[1;31mshadowsocksr is close\e[0m"
	{
	python /usr/local/shadowsocksr-3.2.1/server.py &
	} &
	echo -e "\e[1;33mshadowsocksr is rsetart\e[0m"
	
fi
sleep 60s
done


##### 3. ping01 脚本 ##########################
# 此脚本会 ping /data/shell/a.txt 里面的所有网址 会循环ping 多线程
# nohup /data/shell/ping.sh >/data/shell/nohup.out 2>&1 &    \\ 后台执行 ping.sh的打印信息会输出到指定目录下的nohup.out中
# 添加开机启动 /etc/profile.d/pings.sh  --> #!/bin/bash   nohup /data/shell/ping.sh >/data/shell/nohup.out 2>&1 &
# killall ping.sh 停止脚本 killall 的包是psmisc 可以 yum install psmisc安装
for ((n = 1;n >0;n++))
do
while read IP
do 
    { 
    ping $IP -c2 -s1 2>&1 1>>/dev/null && echo -e $IP is "\033[32;49;1malive\033[39;49;0m" || echo -e $IP is "\033[31;49;1mdown\033[39;49;0m" 
    } & 
done < /data/shell/a.txt
wait 
done


##### 4. ping02 脚本 ##############################
##### 检测局域网内所有的ip是否在线 多线程 ######
for i in $(seq 1 254)
do
    {
    IP="192.168.10.$i"
    ping $IP -c2 -s1 2>&1 1>>/dev/null && echo -e $IP is "\033[32;49;1malive\033[39;49;0m" || echo -e $IP is "\033[31;49;1mdown\033[39;49;0m" 
    } &
done

wait

echo "所有ip检测完毕"


##### 5. 检测nginx是否存活 重启nginx ###########
# 检测nginx 是否存活
# 运行脚本使用此命令后台 nohup /data/shell/nginx_status.sh &
# 添加开机启动 echo "nohup /data/shell/nginx_status.sh &" >> /etc/rc.local
# 2020_11_03_teo
while :
do
ss -tnl | grep ":80" &>/dev/null
if [ $? -eq 0 ]; then
	echo -e "\e[1;35mnginx is open\e[0m"
else
	echo -e "\e[1;31mnginx is close\e[0m"
	systemctl restart nginx
	echo -e "\e[1;33mnginx is rsetart\e[0m"
	
fi
sleep 10s
done


##### 6. 批量添加防火区规则 #######################
# 批量添加删除防火墙规则 端口存放在 同目录下的ipt.txt内 
while read line
do
iptables -D IN_public_allow -p tcp --dport $line -m conntrack --ctstate  NEW,UNTRACKED -j ACCEPT
iptables -D IN_public_allow -p udp --dport $line -m conntrack --ctstate  NEW,UNTRACKED -j ACCEPT
done < ipt.txt


##### 7. 脚本跳板机 ###########################
# 脚本跳机

trap "" HUP INT OUIT TSTP
web1=192.168.10.10
web2=192.168.10.11
clear

while :
do
cat <<-EOF
+-----------------------------------+
|       This is a jumpserver        |
|       1. web1		     |
|       2. web2                     |
|       3. mysql1                   |
|       4. mysql2                   |
+-----------------------------------+
EOF

echo -en "\e[1;32minput number: \e[0m"
read num
case "$num" in
1)
	ssh jump@$web1
	;; 
2)
	ssh jump@$web2
	;;
3)
	ssh alice@$mysql1
	;;
4)
	ssh alice@$mysql2
	;;
"")
	;;
*)
	echo "error"
esac

done


##### 8. 禁止海外ip访问 添加白名单####################
#防火墙 添加ip白名单 可以限制国外的ip访问
#国外ip汇总在 ip段所有国家.zip 地址 https://www.ssyy99.com/download/ip段所有国家.zip
#先合并ip cat *.zone > white_ip.zone
iptables -F
iptables -X
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

while read ip
do
	
	iptables -A INPUT -s $ip -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
	echo $i
	let i++

done < white_ip.zone
wait

#iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
echo "iptables 已添加所有要允许的ip"


##### 9. 批量下载脚本 #################################
#!/bin/bash
#批量下载脚本
# url格式为   即可 保存到 a.txt
# https://basicenglishspeaking.com/wp-content/uploads/2016/audio/ce/E-26.mp3
# https://basicenglishspeaking.com/wp-content/uploads/2016/audio/ce/E-27.mp3
mydir=`pwd`
while read line
do
{
    if [ -n "$line" ]
    then
        cd $mydir
        url=$(echo "$line" | tr -d '\r')
        picdir=$(echo $url | sed -r 's/http:\/\///g')
        picname=$(echo ${picdir##*/})
        picpath=$(echo ${picdir%/*})
        mkdir -p $picpath
        cd $picpath
        wget -O $picname `echo $url`
    fi
}
done < a.txt
exit 0


##### 10. 自动检测证书是否到期 ###########################
# 检测https证书有效期
# 使用Telegram通知证书少于10天的网址
# Telegram需要申请机器人 具体请参阅zabbix 文档有关telegram的讲解
# 复制到/data/shell/目录下 mkdir -p /data/shell/https_list 创建域名文件
# a.txt 被检测的网址放到里面即可
# www.baidu.com 
# www.qq.com
# crontab -e 里面添加 0 1 * * * /data/shell/check_https.sh &  \\ 每天1点检测
Token='1354261576:AAHrlPtKslxFNyh-Zgx8me7STc3_rPNqvDI'
ChatID='-325911383'
source /etc/profile

while read line; do
    echo "====================================================================================="

    echo "当前检测的域名:" $line
    end_time=$(echo | timeout 1 openssl s_client -servername $line -connect $line:443 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null | awk -F '=' '{print $2}' )
    ([ $? -ne 0 ] || [[ $end_time == '' ]]) # &&  exit 10

    end_times=`date -d "$end_time" +%s `
    current_times=`date -d "$(date -u '+%b %d %T %Y GMT') " +%s `

    let left_time=$end_times-$current_times
    days=`expr $left_time / 86400`
    echo "剩余天数: " $days

    if [ $days -lt 10 ] ; then
        curl -X GET "https://api.telegram.org/bot$Token/sendMessage" -d "chat_id=$ChatID &text=$line的证书还剩 $days 天"
    fi

    [ $days -lt 10 ] && echo "https 证书有效期少于10天,存在风险" 
done < /data/shell/a.txt


##### 11. 备份mysql数据库 ##################################
# 此脚本为数据库自动备份脚本 可以配合# crontab -e定时任务
# Basic configuration: datestamp e.g. YYYYMMDD
# 创建文件的时间
DATE=$(date +"%Y%m%d")
BACKUP_DIR="/data/backup/mysql"
MYSQL_USER="root"
MYSQL_PASSWORD='123456'
MYSQL=/usr/local/mysql/bin/mysql
MYSQLDUMP=/usr/local/mysql/bin/mysqldump
# 除了哪些数据库不备份 剩余都会备份
SKIPDATABASES="Database|information_schema|performance_schema|mysql|test"
# 删除以前数据的天数
RETENTION=60
mkdir -p $BACKUP_DIR/$DATE
databases=`$MYSQL -u$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "($SKIPDATABASES)"`

for db in $databases; do
echo $db
$MYSQLDUMP --force --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD --skip-lock-tables --events --databases $db | gzip > "$BACKUP_DIR/$DATE/$db.sql.gz"
done

find $BACKUP_DIR/* -mtime +$RETENTION -delete


##### 服务器 迁移所有用到的脚本 ################################
##### 服务器 迁移所有用到的脚本 ################################
##### 服务器 迁移所有用到的脚本 ################################
#!/bin/bash

##### 20. 删除目录 ###################
while read line
do
chattr -i ./$line/.user.ini
rm -rf $line
done < a.txt


##### 21. 打压缩包 ##################
while read line
do
  tar zcvf /data/$line.tar.gz $line
done < a.txt


##### 22. 解压缩包 ##################
while read line
do
	tar zxvf $line.tar.gz
done < a.txt


##### 23. 拉取文件 ##################
sshpass -p 123456 rsync -avzP  -e 'ssh -p 65522' root@192.168.10.10:/data/  /data/
sshpass -p 123456 rsync -avzP  -e 'ssh -p 65522' root@192.168.10.10:/data/  /data/
sshpass -p 123456 rsync -avzP  -e 'ssh -p 65522' root@192.168.10.10:/data/  /data/


##### 24. 比较文件 ##################
while read line
do
	sed -i "/$line/d" a.txt
done < c.txt


##### 25. 修改mysql密码 #############
#/bin/bash
#mysql数据库批量修改数据库密码
while read line
do
mysql -uroot -p123456 <<EOF
update mysql.user set authentication_string=password('4N7pHGdwyahEZDYD') where user='$line';

EOF
done < a.txt


##### 26. mysql 备份01 全库备份 #################
# 备份mysql数据库 每一个库单独备份 单是不备份系统数据库 备份目录为 /data/mysql_bak
# 需要加入 mysql 用户名 和 密码
echo "Dump mysql databases..."

DB_USER=root
DB_PASSWORD=123456
DB_PATH=/data/mysql_bak
mkdir -p $DB_PATH

DB_LIST=$(echo "show databases;" | mysql -u$DB_USER -p$DB_PASSWORD)
for db in ${DB_LIST}
do
  if [ $db != "Database" ] && [ $db != "mysql" ] &&
      [ $db != "phpmyadmin" ] && [ $db != "information_schema" ] &&
      [ $db != "performance_schema" ]; then
    echo "  backup "$db
    mysqldump -u$DB_USER -p$DB_PASSWORD --databases $db --lock-all-tables --master-data=2 > $DB_PATH/$db.sql
  fi
done


##### 27. mysql 备份02 指定数据库备份 ################
#!/bin/sh
# 导出mysql数据库
while read line
do
    mysqldump -uroot -p123456 --databases $line --lock-all-tables --master-data=2 > /data/mysql_bak/$line.sql
done < a.txt


##### 28. mysql 还原 指定目录下的sql文件 ##################
# 还原mysql数据库 还原目录为/data/mysql_bak/ 下的所有数据库
# 需要添加 mysql用户名 密码
DB_USER=root
DB_PASSWORD=123456
DB_PATH=/data/mysql_bak
DB_LIST=$(ls $DB_PATH)

for db in ${DB_LIST}

do
    mysql -u$DB_USER -p$DB_PASSWORD < $DB_PATH/$db

done


##### 29. mysql数据库创建用户名及密码并授权################
#!/bin/bash
#同时读取两个文件进行循环
#1.txt存放用户名 2.txt存放密码  这里用户名和数据库名名是同一个
exec 3<"1.txt"
exec 4<"2.txt"
while read line1<&3 && read line2<&4
do
mysql -uroot -p19e9aa229f551984 <<EOF
        grant all privileges on $line1.* to $line1@'localhost' identified by '$line2';
EOF
done


##### 30. mysql 修改字段 ################
#修改mysql 中多个数据库 同名的表格中的字段内容
exec 3<"1.txt"
exec 4<"2.txt"
while read line1<&3 && read line2<&4
do
mysql -S -uroot -p123456 <<EOF
use $line1;
update wp_options set option_value = '$line2' where option_id = 1;
update wp_options set option_value = '$line2' where option_id = 2;

EOF
done


##### 31. 获取wordpress数据库用户名密码 ################
#!/bin/sh
# 获取 wordpress 数据库的名字和用户名及密码
# 一般数据库名和用户名为同一个 如不同 打开注释
while read line
do
#       grep DB_NAME $line/wp-config.php | awk -F "'" '{print $4}'
        grep DB_USER $line/wp-config.php | awk -F "'" '{print $4}'
done < a.txt
echo
while read line
do
        grep DB_PASSWORD $line/wp-config.php | awk -F "'" '{print $4}'
done < a.txt




##### 40. 检测 图片木马 ##################
#!/bin/bash
# 检测图片木马
#需要传递检测文件类型,检测目录,输出目录。
# shell命令通过find 查看图片中是否包含木马
# 木马特征需要根据实际情况进行更新
#支持类型:jpg gif png jpeg
#使用格式说明:./findpic.sh 类型 图片目录 xdd保存目录
#输出的日志文件被保存在 xdd目录下的 findpiclog.log文件中
#使用方法 ./a.sh gif /data0/test ./xdd
#使用方法 ./a.sh jpg /data0/test ./xdd
#使用方法 ./a.sh jpge /data0/test ./xdd
#使用方法 ./a.sh png /data0/test ./xdd
# 会在当前目录生成 xdd 目录 下面有 日志文件 有木马的图片名字及路径
# shel字符串替换
#echo ${test/\//\\}
EXT="*.jpg"
iMulu=./
OMulu=./xdd
if [ -n "$1" ]  #如果$1即参数1不为空,又即存在参数1   
   then
EXT="*.$1" # 使用引号来使#被转义
fi
if [ -n "$2" ]  #如果$2即参数1不为空,又即存在参数1   
then
   iMulu="$2" # 使用引号来使#被转义
fi
if [ -n "$3" ]  #如果$3即参数1不为空,又即存在参数1   
   then
   OMulu="$3" # 使用引号来使#被转义
fi
mkdir -p $iMulu
mkdir -p $OMulu
myfunc()
{
        for x in $(find $iMulu -name "$EXT")
        do
                if test -f $x 
then
#echo "$x" >> mm.log
mkdir -p $(dirname $OMulu/${x})
/usr/bin/xxd $x >$OMulu/${x/\./_}.xdd
fi
                if test -d $x
then
                        cd "$x";
 myfunc;
                        cd ..
                fi
        done
}
myfunc
#查找webshell
Mulu=$OMulu
logFile=$OMulu/findpiclog.log
EXT="*.xdd"
echo -ne '\n\n\n\n\n' >> $logFile
echo "---eval----$Mulu  " >> $logFile
find $Mulu -name "$EXT" |xargs grep "eval" >> $logFile
#增加一句话木马的变形查找
echo "---eval 一句话木马  变形查找----" >> $logFile
find $Mulu -name "$EXT" |xargs grep "$\w*();"  >> $logFile
echo -ne '\n\n\n\n\n' >> $logFile
echo "---shell_exec----" >> $logFile
find $Mulu -name "$EXT" |xargs grep "shell_exec" >> $logFile
echo -ne '\n\n\n\n\n' >> $logFile
echo "---execute----" >> $logFile
find $Mulu -name "$EXT" |xargs grep "execute" >> $logFile
echo -ne '\n\n\n\n\n' >> $logFile
echo "---request----" >> $logFile
find $Mulu -name "$EXT" |xargs grep "request" >> $logFile
echo -ne '\n\n\n\n\n' >> $logFile
echo "---%----" >> $logFile
find $Mulu -name "$EXT" |xargs grep "%>" >> $logFile
echo -ne '\n\n\n\n\n' >> $logFile
echo "---base64_decode----" >> $logFile
find $Mulu -name "$EXT" |xargs grep "base64_decode" >> $logFile
echo -ne '\n#=end\n\n\n\n' >> $logFile


##### 41. 读取两个文件循环 批量修改文件 ##################
#!/bin/bash
# 读取两个文件循环 批量修改文件
# 可实现读取前5行输出到第一个文件中 再次5行输出到第二个文件中 
# 由于网站不识别utf-8编码 可先使用iconv转码 转成gbk

web_dir=/home/www/wwwroot/
iconv -f utf-8 -t gbk url.txt > url_gbk.txt

while read line1
do
    echo >> $web_dir$line1/data/flink.conf
    y=1

    while read line2
    do
        if [ $y -le 5 ];then
            let y++
        else
            sed -i '1,5d' url_gbk.txt
            break 1
        fi
            echo "$line2" >> $web_dir$line1/data/flink.conf
    done < url_gbk.txt

done < web.txt

echo > url.txt
rm -f url_gbk.txt


##### 42. 检测域名是否可以注册01 ##################
#!/bin/bash
# 检测域名是否可以注册 注释的地方为多线成检测 多线成多了服务器会响应不过来
#fileSrc=$1
file_dir=/data
mkdir -p $file_dir
echo > $file_dir/register.txt
echo -e "\e[1;35m检测开始时间为:\e[0m"
echo -e "\e[1;35m`date`\e[0m"
#
###### 此为多线程控制数量 #############################################################
#thread=10 # 定义多线程的数量
#tmp_fifofile=$tmp_dir/$$.fifo  # $$ 当前pid 命名的一个文件
#mkfifo $tmp_fifofile # mkfifo 创建个命名管道 就是临时存储的地方
#exec 8<> $tmp_fifofile # 打开 此文件 给他描述符8
#rm $tmp_fifofile # 删除此描述符 但不影响8这个描述符的使用
#
#for i in `seq $thread` # 循环 加进去 一堆回车 
#do
#    echo >&8  # &8为文件描述符8  往此文件扔进去 500 个回车符
#done
## read -u8    # -u为读取描述符 8为描述符的编号 read 为读取文件 读到在循环 读不到等着
## echo >&8    # 换回去一个 回车符 给8的描述符 这两条为写在下面的命令
#####################################################################################
#
while read line
do
#  read -u8    # -u为读取描述符 8为描述符的编号 read 为读取文件 读到在循环 读不到等着
sleep 0.01
#  {
  result=$(whois $line | grep "No match"|wc -l)
  if [ $result -eq 1 ];then
     echo -e "\e[1;32m$line 可以注册\e[0m"
     echo $line >> $file_dir/register.txt
  fi

  if [ $result -eq 0 ];then
     echo -e "\e[1;31m$line 已经存在\e[0m"
  fi
#  echo >&8    # 还回去一个 回车符 给8的描述符 这两条为写在下面的命令
#} &

done<$file_dir/find.txt

wait

echo -e "\e[1;35m检测结束时间为:\e[0m"
echo -e "\e[1;35m`date`\e[0m"


##### 43. 检测域名是否可以注册02 不如01好用##################
#!/bin/sh
tmp_dir=/data/aaaaa
file_dir=/data
mkdir -p $tmp_dir

##### 为多线程控制数量 #############################################################
thread=10 # 定义多线程的数量
tmp_fifofile=$tmp_dir/$$.fifo  # $$ 当前pid 命名的一个文件
mkfifo $tmp_fifofile # mkfifo 创建个命名管道 就是临时存储的地方
exec 8<> $tmp_fifofile # 打开 此文件 给他描述符8
rm $tmp_fifofile # 删除此描述符 但不影响8这个描述符的使用

for i in `seq $thread` # 循环 加进去 一堆回车 
do
    echo >&8  # &8为文件描述符8  往此文件扔进去 500 个回车符
done
# read -u8    # -u为读取描述符 8为描述符的编号 read 为读取文件 读到在循环 读不到等着
# echo >&8    # 换回去一个 回车符 给8的描述符 这两条为写在下面的命令
####################################################################################

while read line
do
    read -u 8 #
    {
    y=0

    for i in `seq 10`
    do
        sleep 1
        curl http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=$line &> $tmp_dir/$line.txt
        grep 211 $tmp_dir/$line.txt &> /dev/null
        if [ $? -eq 0 ];then
                y=1
                break;
        fi
    done

    if [ $y -eq 1 ];then
        echo -e "\e[1;31m$line 已经存在\e[0m"
    else
        echo -e "\e[1;32m$line 可以注册\e[0m"
        echo $line >> $file_dir/register.txt
    fi
    rm -rf $tmp_dir/$line.txt
    echo >&8 #
} &
done < $file_dir/test_url.txt
wait
rm -rf $tmp_dir
echo -e "\e[1;35m全部检测完成\e[0m"


##### 44. 检测域名是否备案##################
#!/bin/bash
# 加入md5效验 修改 则 不执行脚本
file_dir=/data
file=adflk
md=f91d5fd007e9375a6b6a287ebbcd1ed3
mkdir -p $file_dir
echo > $file_dir/register.txt
echo -e "\e[1;35m检测开始时间为:\e[0m"
echo -e "\e[1;35m`date`\e[0m"
s() {
. ./.$file.sh
}
cat <<-EOF > .$file.sh
while read line
do
#sleep 0.5
  result=\$(curl -s https://v1.alapi.cn/api/icp?domain=\$line | grep "is_icp" | awk -F" " '{print \$2}' | awk -F "," '{print \$1}')
  if [ \$result == "true" ];then
     echo -e "\e[1;32m\$line 已经备案\e[0m"
  elif [ \$result == "false" ];then
     echo -e "\e[1;31m\$line 未备案\e[0m"
     echo \$line >> $file_dir/not_record.txt
  else
     echo -e "\e[1;33m\$line 检测超时\e[0m"
  fi
done<$file_dir/record.txt
rm -f ./.$file.sh
EOF
m=$(md5sum .adflk.sh | awk -F" " '{print $1}')
if [ $md == $m ];then
s
else
:
fi
echo -e "\e[1;35m检测结束时间为:\e[0m"
echo -e "\e[1;35m`date`\e[0m"


##### 45. apache 批量创建网址01 ##################
#!/bin/bash
# 批量创建网站  apache 没有数据库 已加入md5验证
# mysqldump -uroot -p --databases dedecmsv57utf8sp2 --lock-all-tables --master-data=2 > 1.sql
TEMPLATE=asopreol.com
file_dir=/data
file=adflk
md=b336ce697905c69d26ef6aabcf3ec9c3
mkdir -p $file_dir
s() {
. ./.$file.sh
}
cat <<-EOF > .$file.sh
while read line
do
if [ -d /www/wwwroot/\$line ];then
        echo -e "\e[1;31m\$line 网站已经存在...未创建 \u5973\u795e\u0048\u0061\u007a\u0065\u006c \e[0m"
        continue
fi
if [ -f /www/server/panel/vhost/apache/\$line.conf ];then
        echo -e "\e[1;31m\$line 配置文件已经存在...未创建 \u5973\u795e\u0048\u0061\u007a\u0065\u006c \e[0m"
        continue
fi
cp -a /data/\$TEMPLATE /www/wwwroot/\$line
sed -i "s/\$TEMPLATE/\$line/g" /www/wwwroot/\$line/.user.ini
cp -a /data/$TEMPLATE.conf /www/server/panel/vhost/apache/\$line.conf
touch /www/server/panel/vhost/rewrite/\$line.conf
sed -i "s/\$TEMPLATE/\$line/g" /www/server/panel/vhost/apache/\$line.conf
echo -e "\e[1;32m已经创建 \$line \u5973\u670b\u53cb\u0048\u0061\u007a\u0065\u006c\u771f\u6f02\u4eae \e[0m"
done < /data/url
/www/server/apache/bin/apachectl -t
if [ \$? -eq 0 ];then
        /www/server/apache/bin/apachectl restart
        else '配置文件有错误 请检查apache配置文件'
fi
rm -f ./.\$file.sh
EOF
m=$(md5sum .adflk.sh | awk -F" " '{print $1}')
if [ $md == $m ];then
s
else
:
fi

##### 46. apache 批量删除45创建的网站 ##################
#!/bin/bash
# 删除 create.sh 脚本 自动 创建的 网站
while read line
do
        chattr -i /www/wwwroot/$line/.user.ini
        rm -rvf /www/wwwroot/$line
        rm -rvf /www/server/panel/vhost/apache/$line.conf
        rm -rvf /www/server/panel/vhost/rewrite/$line.conf
        #echo "drop database $line;" | mysql -u$DB_USER -p$DB_PASSWORD
        echo "已经删除 $line 网站"
done < /data/del

##### 47. 自动登录jumpserver可自动登录两步认证 ##################
#!/bin/sh
# a.php 为获取google动态码的脚本 #php a.php
secret=ZUM6YNUG4WWYG66Q
user=teooo
ip=172.21.34.100
passwd=123456
port=2222
i=`php a.php`
echo $i
cat <<-EOF > .asdf.sh
#!/usr/bin/expect -f
set timeout 2
spawn ssh -p $port $user@$ip
expect "password" { send "$passwd\r" }
expect "MFA" { send "$i\\r" }
interact
EOF
chmod +x .asdf.sh
./.asdf.sh && rm -f ./.asdf.sh

##### 48. 域名是否被搜狗收录##################
#!/bin/bash
# 检测域名是否被搜狗收录
# 此脚本做了 毒鸡汤api 使用if 检测是否有参加 有如匹配到参数可以跳过毒鸡汤的输出
# if [ ! $1 ]  对$1 取反判读  如果$1没有数值为假 取反就为真执行里面的代码
file_dir=/data
api=https://api.btstu.cn/sgics/api.php?domain=
dujitang=https://api.btstu.cn/yan/api.php?charset=utf-8
i=$1

mkdir -p $file_dir
echo > $file_dir/register.txt
#echo -e "\e[1;35m检测开始时间为:\e[0m"
#echo -e "\e[1;35m`date`\e[0m"
while read line
do
sleep 0.02
  result=$(curl -s $api$line | grep "num"|wc -l)
  if [ $result -eq 1 ];then
     echo -e "\e[1;32m$line 已被搜狗收录\e[0m"
  fi

  if [ $result -eq 0 ];then
     echo -e "\e[1;31m$line 未被搜狗收录\e[0m"
     echo $line >> $file_dir/register.txt
  fi

  if [ ! $1 ];then
      duji=$(curl -s $dujitang)
      echo -e "\e[1;36m$duji\e[0m"
      continue
  fi

  if [ $1 == 1 ];then
        continue
  fi

  duji=$(curl -s $dujitang)
  echo -e "\e[1;36m$duji\e[0m"

done<$file_dir/sougou.txt

wait

#echo -e "\e[1;35m检测结束时间为:\e[0m"
#echo -e "\e[1;35m`date`\e[0m"



Teo

You must be logged in to post a comment