【数据库巡检脚本-方案部署设计图】

我是鱼🐳 2020-07-30 18:41:41 2494

【数据库巡检脚本-方案部署设计图】

一、MySQL 数据库巡检方案(适用于 Centos And Ubuntu 系统)

(1)需要自己准备三台数据库环境 (此操作必须根据自己的服务器情况部署(磁盘信息(磁盘路径)或者数据库安装路径  等等),别直接拿走使用)
(2)对应数据库 IP 有三台  (192.168.33.50(插入表数据库(巡检数据库)) 192.168.33.51(MySQL 主) 192.168.33.52(MySQL 从))

二、主库准备 shell脚本 以及 文件路径(192.168.33.51)
```shell
(1)准备存放的相关文件路径
[root@DBA01 ~]# mkdir -p /mnt/xvda/mysql_back
[root@DBA01 ~]# mkdir -p /mnt/xvda/mysql_scp
[root@DBA01 ~]# mkdir -p /mnt/xvda/mysql_shell
[root@DBA01 ~]# mkdir -p /mnt/xvda/mysql_shell/log
[root@DBA01 ~]# cd /mnt/xvda/mysql_scp/
[root@DBA01 mysql_scp]# touch all_back_test_183.txt
[root@DBA01 mysql_scp]# touch all_back_test_time_183.txt

(2)准备 shell 相关脚本(全备份脚本)测试这里  我把备份放在主库上   不合适,你们要这备份机来做
[root@DBA01 ~]# cd /mnt/xvda/mysql_shell
[root@DBA01 mysql_shell]# which mysqldump
/bin/mysqldump

[root@DBA01 mysql_shell]# vim wholebaseback.sh
#!/bin/bash

echo "start all backup: 全库备份开始" >> /mnt/xvda/mysql_scp/all_back_test_time_183.txt
ttime=`date +"%Y-%m-%d_%H:%M:%S"` 
echo $ttime >> /mnt/xvda/mysql_scp/all_back_test_time_183.txt
stime=`date +%s`

#echo "start all backup:"
#ttime=`date +"%Y-%m-%d_%H:%M:%S"`
#echo $ttime

/bin/mysqldump -uroot -p'root@1234' -hlocalhost --set-gtid-purged=OFF --single-transaction --triggers --routines --events --master-data=2 -A | gzip > /mnt/xvda/mysql_back/all_${ttime}.sql.gz

echo "complete all backup: 全库备份结束" >> /mnt/xvda/mysql_scp/all_back_test_time_183.txt
ettime=`date +"%Y-%m-%d_%H:%M:%S"`
echo $ettime >> /mnt/xvda/mysql_scp/all_back_test_time_183.txt

etime=`date +%s`

s=$(($(( $etime - $stime))%60))
m=$(($(( $etime - $stime))/60%60))
h=$(($(( $etime - $stime))/60/60))

echo "runtime "$h"h:"$m"m:"$s"s"  >> /mnt/xvda/mysql_scp/all_back_test_time_183.txt

# clean the log
aa=`cat /mnt/xvda/mysql_scp/all_back_test_time_183.txt | wc -l`
if [ $aa -gt 2000 ];then
 sed -i '1,10d' /mnt/xvda/mysql_scp/all_back_test_time_183.txt
fi

find /mnt/xvda/mysql_back/  -name "*.sql.gz" -mtime +30 -exec rm {} \;
[root@DBA01 mysql_shell]# 

(3)准备 shell 相关脚本(分库备份脚本)测试这里  我把备份放在主库上   不合适,你们要这备份机来做
[root@DBA01 mysql_shell]# vim branchbaseback.sh
#!/bin/bash

echo "start all backup: 分库备份开始" >> /mnt/xvda/mysql_scp/all_back_test_time_183.txt
ttime=`date +"%Y-%m-%d_%H:%M:%S"` 
echo $ttime >> /mnt/xvda/mysql_scp/all_back_test_time_183.txt
stime=`date +%s`

#echo "start databases backup::"
#ttime=`date +"%Y-%m-%d_%H:%M:%S"`
#echo $ttime

for dbname in `/bin/mysql -uroot -p'root@1234' -hlocalhost -e "show databases;"|grep -Evi "database|info|perfor|mysql|sys|test"` 
do
echo $dbname
/bin/mysqldump -uroot -p'root@1234' -hlocalhost --set-gtid-purged=OFF -B --single-transaction --master-data=2 --set-gtid-purged=OFF  ${dbname}|gzip > /mnt/xvda/mysql_back/bak_${dbname}_$ttime.sql.gz

done

echo "complete all backup: 分库备份结束" >> /mnt/xvda/mysql_scp/all_back_test_time_183.txt
ettime=`date +"%Y-%m-%d_%H:%M:%S"`
echo $ettime >> /mnt/xvda/mysql_scp/all_back_test_time_183.txt
etime=`date +%s`

s=$(($(( $etime - $stime))%60))
m=$(($(( $etime - $stime))/60%60))
h=$(($(( $etime - $stime))/60/60))

echo "runtime "$h"h:"$m"m:"$s"s"  >> /mnt/xvda/mysql_scp/all_back_test_time_183.txt

# clean the log
aa=`cat /mnt/xvda/mysql_scp/all_back_test_time_183.txt | wc -l`
if [ $aa -gt 2000 ];then
 sed -i '1,10d' /mnt/xvda/mysql_scp/all_back_test_time_183.txt
fi

find /mnt/xvda/mysql_back/ -name "*.sql.gz" -mtime +30 -exec rm {} \;
[root@DBA01 mysql_shell]# 

(4)准备 shell 相关脚本(磁盘信息,CPU,内存,数据库状态,数据库备份大小)测试这里  我把备份放在主库上   不合适,你们要这备份机来做
[root@DBA01 mysql_shell]# vim disk.sh 
#/bin/bash

base_dir='/mnt/xvda/mysql_scp'
base_data='/mnt/xvda/mysql_back'
echo "start databases backup::"
ttime=`date +"%Y-%m-%d_%H:%M:%S"`
ttime1=`date "+%Y-%m-%d"`
echo $ttime

disk_check(){
    cat >> $base_dir/all_back_test_183.txt << EOF
`date +%Y-%m-%d` 数据备份服务器 192.168.33.51
/ `df -Th |awk '/root/{print $(NF-1)}'`
/mnt `df -Th |awk '/mnt/{print $(NF-1)}'`
EOF
}
disk_check

cpu_check(){
cat >> $base_dir/all_back_test_183.txt << EOF
`date +%Y-%m-%d` 数据备份服务器_CPU 192.168.33.51
`cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c | awk '{print $4,$1}'`
EOF
}
cpu_check

MemTotal_check(){
cat >> $base_dir/all_back_test_183.txt << EOF
`date +%Y-%m-%d` 数据备份服务器_内核 192.168.33.51
`cat /proc/meminfo | grep '^MemTotal:' /proc/meminfo | awk '{ mem=($2)/(1024)/(1024); printf "MemTotal: %0.0fGB\n",mem}'`
EOF
}
MemTotal_check

Mysql_check(){
    cat >> $base_dir/all_back_test_183.txt << EOF
`date +%Y-%m-%d` 数据库服务器状态_MySQL 192.168.33.51
`netstat -nl | awk 'NR>2{if ($4 ~ /.*:3306/) {print "mysqld OK";exit 0}}'`
EOF
}
Mysql_check

size_check(){
    cat >> $base_dir/all_back_test_183.txt << EOF 
`date +%Y-%m-%d` 数据库备份大小 192.168.33.51
`ls $base_data/all_*${ttime1}* | xargs du -sh | sed "s#${base_data}/##g" | awk '{print $2,$1}'`
`ls $base_data/bak_*${ttime1}* | xargs du -sh | sed "s#${base_data}/##g" | awk '{print $2,$1}'`
EOF
}
size_check
[root@DBA01 mysql_shell]# 

(5)准备 shell 相关脚本(拷贝)请自行安装 expect 这个插件这里我就不教怎么安装了
[root@DBA01 mysql_shell]# vim scp.sh
#!/usr/bin/expect
set timeout -1
spawn bash -c "scp -r /mnt/xvda/mysql_scp/all_back_* root@192.168.33.50:/opt/source_data_lh/"
expect {
    "password" {send "root\r";}
    "yes/no" {send "yes\r";exp_continue}
}
expect eof
exit
[root@DBA01 mysql_shell]# 

(6)准备 shell 相关脚本(清除文件)
[root@DBA01 mysql_shell]# vim delete.sh
#!/bin/bash
dir=/mnt/xvda/mysql_scp           #//需要清空的目录名称
files=`ls ${dir}`
for file in $files
do
if [ -e ${dir}/${file} ];then
rm -f ${dir}/${file}
fi
done
[root@DBA01 mysql_shell]# 

(7)准备执行计划任务(添加)
[root@DBA01 mysql_shell]# crontab -l
00 02 * * * /bin/bash /mnt/xvda/mysql_shell/delete.sh >> /mnt/xvda/mysql_shell/log/delete.log
00 03 * * * /bin/bash /mnt/xvda/mysql_shell/wholebaseback.sh >> /mnt/xvda/mysql_shell/log/wholebaseback.log
40 03 * * * /bin/bash /mnt/xvda/mysql_shell/branchbaseback.sh >> /mnt/xvda/mysql_shell/log/branchbaseback.log
00 04 * * * /bin/bash /mnt/xvda/mysql_shell/disk.sh >> /mnt/xvda/mysql_shell/log/disk.log
00 05 * * * /usr/bin/expect /mnt/xvda/mysql_shell/scp.sh >> /mnt/xvda/mysql_shell/log/scp.log

三、从库准备 shell脚本 以及 文件路径(192.168.33.52)
```shell
(1)准备存放的相关文件路径
[root@DBA02 ~]# mkdir -p /storage/mysql_shell
[root@DBA02 ~]# mkdir -p /storage/mysql_shell/log
[root@DBA02 ~]# mkdir -p /software/mysql_scp
[root@DBA02 ~]# cd /software/mysql_scp/
[root@DBA02 ~]# touch disk_back_test_208.txt
[root@DBA02 ~]# touch sql_running_208.txt

(2)准备 shell 相关脚本(磁盘信息,CPU,内存)
[root@DBA02 ~]# cd /storage/mysql_shell
[root@DBA02 mysql_shell]# vim disk.sh
#/bin/bash

base_dir='/software/mysql_scp'
echo "start databases backup::"
ttime=`date +"%Y-%m-%d_%H:%M:%S"`
ttime1=`date "+%Y-%m-%d"`
echo $ttime

disk_check(){
    cat >> $base_dir/disk_back_test_208.txt <> $base_dir/disk_back_test_208.txt <> $base_dir/disk_back_test_208.txt <> $base_dir/sql_running_208.txt <2{if ($4 ~ /.*:3306/) {print "mysqld OK";exit 0}}'`
EOF
}
Mysql_check
Mysql_run(){
        cat >> $base_dir/sql_running_208.txt <> $base_dir/sql_running_208.txt
#/storage/mysql/app/mysql/bin/mysql -uroot -p'root@1234' -e "show slave status\G" | grep -iE "running:" | awk '{print $1,$2}'
#/storage/mysql/app/mysql/bin/mysql -uroot -p'root@1234' -e "show slave status\G" | grep -iE slave_io_running: | awk '{print $1,$2}'
#/storage/mysql/app/mysql/bin/mysql -uroot -p'root@1234' -e "show slave status\G" | grep -iE slave_sql_running: | awk '{print $1,$2}'
[root@DBA02 mysql_shell]#
(4)准备 shell 相关脚本(拷贝)请自行安装 expect 这个插件这里我就不教怎么安装了
[root@DBA02 mysql_shell]# vim scp.sh
#!/usr/bin/expect
set timeout -1
spawn bash -c "scp -r /software/mysql_scp/* root@192.168.33.50:/opt/source_data_lh/"
expect {
    "password" {send "root\r";}
    "yes/no" {send "yes\r";exp_continue}
}
expect eof
exit
[root@DBA01 mysql_shell]# 
(5)准备 shell 相关脚本(清除文件)
[root@DBA02 mysql_shell]# vim delete.sh
#!/bin/bash
dir=/software/mysql_scp           #//需要清空的目录名称
files=`ls ${dir}`
for file in $files
do
if [ -e ${dir}/${file} ];then
rm -f ${dir}/${file}
fi
done
[root@DBA01 mysql_shell]# 
(6)准备执行计划任务(添加)
[root@DBA02 mysql_shell]# crontab -l
00 02 * * * /bin/bash /storage/mysql_shell/delete.sh >> /storage/mysql_shell/log/delete.log
00 04 * * * /bin/bash /storage/mysql_shell/disk.sh >> /storage/mysql_shell/log/disk.log
30 04 * * * /bin/bash /storage/mysql_shell/mysql_running.sh >> /storage/mysql_shell/log/mysql_running.log
30 05 * * * /usr/bin/expect /storage/mysql_shell/scp.sh >> /storage/mysql_shell/log/scp.log

四、巡检数据库操作(192.168.33.50)
```shell
(1)在数据库(192.168.33.50)建立对应的库和表。作为 shell 脚本获取的数据插入到数据库表(主从环境,需要两张表 inspection_yjk 为主表  inspection_yjk_208 为从表)
[root@DBA ~]# mysql -uroot -p'*******'
mysql> create database ABC;
Query OK, 1 row affected (0.00 sec)

mysql> use ABC;
mysql> CREATE TABLE `inspection_yjk` (
    ->   `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '逻辑id',
    ->   `date` varchar(200) NOT NULL DEFAULT '' COMMENT '日期',
    ->   `beifenji_gen` varchar(255) NOT NULL DEFAULT '' COMMENT '备份机根容量大小',
    ->   `beifenji_mnt` varchar(255) NOT NULL DEFAULT '' COMMENT '备份机/mnt容量大小',
    ->   `beifenji_cpu` varchar(255) NOT NULL DEFAULT '' COMMENT '备份机/CPU容量大小',
    ->   `beifenji_MemTotal` varchar(255) NOT NULL DEFAULT '' COMMENT '备份机/MemTotal容量大小',
    ->   `Run_MySQL` varchar(255) NOT NULL DEFAULT '' COMMENT '服务器,mysql运行情况',
    ->   `yjk_all_size` varchar(255) NOT NULL DEFAULT '' COMMENT '易监控项目,全库备份大小',
    ->   `yjk_all_runtime` varchar(255) NOT NULL DEFAULT '' COMMENT '易监控项目,全库备份时间',
    ->   `yjk_jk` varchar(255) NOT NULL DEFAULT '' COMMENT '易监控项目,jk库备份大小',
    ->   `yjk_jkproduct` varchar(255) NOT NULL DEFAULT '' COMMENT '易监控项目,jkproduct库备份大小',
    ->   `yjk_fenku_runtime` varchar(255) NOT NULL DEFAULT '' COMMENT '易监控项目,分库备份时间',
    ->   PRIMARY KEY (`id`)
    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='易监控项目数据库巡检表';
Query OK, 0 rows affected (0.03 sec)

mysql> CREATE TABLE `inspection_yjk_208` (
    ->   `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '逻辑id',
    ->   `date` varchar(200) NOT NULL DEFAULT '' COMMENT '日期',
    ->   `gen` varchar(255) NOT NULL DEFAULT '' COMMENT '208服务器,根容量情况',
    ->   `storage` varchar(255) NOT NULL DEFAULT '' COMMENT '208服务器,(/storage容量情况)',
    ->   `beifenji_cpu` varchar(255) NOT NULL DEFAULT '' COMMENT '备份机/CPU容量大小',
    ->   `beifenji_MemTotal` varchar(255) NOT NULL DEFAULT '' COMMENT '备份机/MemTotal容量大小',
    ->   `Run_MySQL` varchar(255) NOT NULL DEFAULT '' COMMENT '208服务器,mysql运行情况',
    ->   `Slave_IO_Running` varchar(255) NOT NULL DEFAULT '' COMMENT '208服务器,(Mysql 主从状态)',
    ->   `Slave_SQL_Running` varchar(255) NOT NULL DEFAULT '' COMMENT '208服务器,(Mysql 主从状态)',
    ->   `entryname` varchar(255) NOT NULL DEFAULT '' COMMENT '项目名称',
    ->   PRIMARY KEY (`id`)
    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='易监控数据库巡检表';
Query OK, 0 rows affected (0.01 sec)

mysql> quit;
Bye
[root@DBA ~]#

(2)创建对应的文件目录(192.168.33.51/192.168.33.52 传过来的文件存放地址)这一步骤执行完成之后  在(192.168.33.51/192.168.33.52) 执行除了 delete.sh 脚本外都执行
[root@DBA ~]# mkdir -p /opt/source_data_lh

(3)准备 shell 相关脚本(MySQL 插入文件脚本——1)
[root@DBA ~]# which mysql
/mysql/app/mysql/bin/mysql

[root@DBA ~]# vim /opt/auto_inspection_yjk_208.sh
#!/bin/bash

# define the datetime

ff=$(echo `date +"%Y-%m-%d"`)

# define the variable of 208
date=`awk 'NR==1{print $1}' /opt/source_data_lh/disk_back_test_208.txt`
gen=`awk 'NR==2{print $2}' /opt/source_data_lh/disk_back_test_208.txt`
storage=`awk 'NR==3{print $2}' /opt/source_data_lh/disk_back_test_208.txt`
beifenji_cpu=`awk 'NR==5{print $2}' /opt/source_data_lh/disk_back_test_208.txt`
beifenji_memtotal=`awk 'NR==7{print $2}' /opt/source_data_lh/disk_back_test_208.txt`
Run_MySQL=`awk 'NR==2{print $2}' /opt/source_data_lh/sql_running_208.txt`
Slave_IO_Running=`awk 'NR==4{print $2}' /opt/source_data_lh/sql_running_208.txt`
Slave_SQL_Running=`awk 'NR==5{print $2}' /opt/source_data_lh/sql_running_208.txt`
entryname=`awk 'NR==6{print $1}' /opt/source_data_lh/sql_running_208.txt`

/mysql/app/mysql/bin/mysql  -uroot -p'root@1234' -e "INSERT INTO  ABC.inspection_yjk_208(date,gen,storage,beifenji_cpu,beifenji_memtotal,Run_MySQL,Slave_IO_Running,Slave_SQL_Running,entryname) VALUES ('$date','$gen','$storage','$beifenji_cpu','$beifenji_memtotal','$Run_MySQL','$Slave_IO_Running','$Slave_SQL_Running','$entryname');" 1>/opt/auto_inspection_yjk.log 2>&1
[root@DBA ~]# 

(4)准备 shell 相关脚本(MySQL 插入文件脚本——2)
[root@DBA ~]# vim /opt/auto_inspection_yjk.sh
#!/bin/bash

# define the datetime

ff=$(echo `date +"%Y-%m-%d"`)

# define the variable of 196
date=`awk 'NR==1{print $1}' /opt/source_data_lh/all_back_test_183.txt`
yjk_beifenji_gen=`awk 'NR==2{print $2}' /opt/source_data_lh/all_back_test_183.txt`
yjk_beifenji_mnt=`awk 'NR==3{print $2}' /opt/source_data_lh/all_back_test_183.txt`
beifenji_cpu=`awk 'NR==5{print $2}' /opt/source_data_lh/all_back_test_183.txt`
beifenji_memtotal=`awk 'NR==7{print $2}' /opt/source_data_lh/all_back_test_183.txt`
Run_mysql=`awk 'NR==9{print $2}' /opt/source_data_lh/all_back_test_183.txt`
yjk_all_size=`awk 'NR==11{print $2}' /opt/source_data_lh/all_back_test_183.txt`
yjk_all_runtime=`awk 'NR==5{print $2}' /opt/source_data_lh/all_back_test_time_183.txt`
yjk_jk_size=`awk 'NR==12{print $2}' /opt/source_data_lh/all_back_test_183.txt`
yjk_jkproduct_size=`awk 'NR==13{print $2}' /opt/source_data_lh/all_back_test_183.txt`
yjk_fenku_runtime=`awk 'NR==10{print $2}' /opt/source_data_lh/all_back_test_time_183.txt`

/mysql/app/mysql/bin/mysql -uroot -p'root@1234' -e "INSERT INTO ABC.inspection_yjk(date,beifenji_gen,beifenji_mnt,beifenji_cpu,beifenji_memtotal,Run_mysql,yjk_all_size,yjk_all_runtime,yjk_jk,yjk_jkproduct,yjk_fenku_runtime)VALUES('$date','$yjk_beifenji_gen','$yjk_beifenji_mnt','$beifenji_cpu','$beifenji_memtotal','$Run_mysql','$yjk_all_size','$yjk_all_runtime','$yjk_jk_size','$yjk_jkproduct_size','$yjk_fenku_runtime');" 1>/opt/auto_inspection_yjk.log 2>&1
[root@DBA ~]# 

(5)准备 shell 相关脚本(脚本管理脚本)
[root@DBA ~]# vim /opt/auto_inspection_2.sh
/bin/bash /opt/auto_inspection_yjk.sh
/bin/bash /opt/auto_inspection_yjk_208.sh
[root@DBA ~]# 

(6)准备执行计划任务(添加)
[root@DBA ~]# crontab -l
30 07 * * * /bin/bash /opt/auto_inspection_2.sh 1>/dev/null 2>&1

(7)总结:
这些脚本循环使用就可以检查数据库是否都在运行,以及运行的情况,当然脚本可根据需求合理安排!

数据库要插入数据,必须在 192.168.33.51/192.168.33.52 上执行除了 delete.sh 脚本以外的脚本都执行

保证 192.168.33.50  /opt/source_data_lh/  目录下有如下四个文件
all_back_test_183.txt
all_back_test_time_183.txt
disk_back_test_208.txt
sql_running_208.txt

每天只需要到 192.168.33.50 用 Navicat MySQL 工具连接   进入 ABC 这个库,查看对应的表数据信息,就可以了!

这样我们每天都是在巡检数据库了!
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • 365
<

原文地址:https://blog.csdn.net/u011084922/article/details/107642476?utm_medium=distribute.pc_category.none-task-blog-hot-8.nonecase&depth_1-utm_source=distribute.pc_category.none-task-blog-hot-8.nonecase&request_id=

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 1 1 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
我是鱼🐳
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区