diff --git a/实践积累/专业领域/GNSS/INDEX_GNSS.md b/实践积累/专业领域/GNSS/INDEX_GNSS.md new file mode 100755 index 0000000..5bffcb9 --- /dev/null +++ b/实践积累/专业领域/GNSS/INDEX_GNSS.md @@ -0,0 +1,23 @@ +--- +title: GNSS 索引 +tags: + - 索引 +created: 2026-04-21 +--- + +# GNSS + +> 自动生成的索引文件 + +## 文件列表 + +| 文件名 | 大小 | 说明 | +|--------|------|------| +| [[RATIO]] | 439B | | +| [[RMS]] | 477B | | +| [[什么是GPS最简独立闭合环]] | 893B | | +| [[同步环、异步环和重复基线]] | 1KB | | +| [[闭合差]] | 488B | | + +--- +*共 5 个文件* diff --git a/实践积累/专业领域/GNSS/RATIO.md b/实践积累/专业领域/GNSS/RATIO.md new file mode 100755 index 0000000..871ca9d --- /dev/null +++ b/实践积累/专业领域/GNSS/RATIO.md @@ -0,0 +1,9 @@ +RATIO +RATIO即整周模糊度分解后,次最小RMS与最小RMS的比值。即: + +![RATIO RAT RMS RMS S RA 0 RATIO RAT RAT 1](Exported%20image%2020260407225341-0.png) + +RATIO 反映了所确定出的整周未知数参数的可靠性,这一指标取决 +于多种因素,既与观测值的质量有关,也与观测条件的好坏有关。 +RATIO是反映基线质量好坏的最关键值,通常情况下,要求RATIO值 +大于1.8。 \ No newline at end of file diff --git a/实践积累/专业领域/GNSS/RMS.md b/实践积累/专业领域/GNSS/RMS.md new file mode 100755 index 0000000..c08c89c --- /dev/null +++ b/实践积累/专业领域/GNSS/RMS.md @@ -0,0 +1,12 @@ +RMS 即均方根误差(Root Mean Square),即: + +![vTpv](Exported%20image%2020260407225345-0.png) + +其中: +V为观测值的残差; +P为观测值的权; +n-f为观测值的总数减去未知数个数。 +RMS表明了观测值的质量。RMS越小,观测值质量越好; +反之,表明观测值质量越差。它不受观测条件(如卫星分布好坏)的影响。 +依照数理统计的理论,观测值误差落在1.96 倍RMS 的范围内的概率 +是95%。 \ No newline at end of file diff --git a/实践积累/专业领域/GNSS/什么是GPS最简独立闭合环.md b/实践积累/专业领域/GNSS/什么是GPS最简独立闭合环.md new file mode 100755 index 0000000..5a4614b --- /dev/null +++ b/实践积累/专业领域/GNSS/什么是GPS最简独立闭合环.md @@ -0,0 +1,8 @@ +==三台由独立观测获得基线向量构成的闭合环。== +==GPS控制网一般也构成一定的图形,涉及如下的概念:== +==1、观测时段:测站上开始接收卫星信号到观测停止连续工作的时间段,简称时段。== +==2、同步观测:两台或两台以上接收机同时对同一组卫星进行的观测。== +==3、同步观测环:三台或三台以上接收机同步观测获得基线向量构成的闭合环,简称同步环。== +==4、独立观测环:由独立观测获得基线向量构成的闭合环,简称独立环。== +==5、====异步====观测环:在构成多边形环路的所有基线向量中,只要有非同步观测的基线向量,则称该多边形环路为====异步====观测环,简称====异步====环。== + > 来自 <[https://zhidao.baidu.com/question/182755838.html](https://zhidao.baidu.com/question/182755838.html)> \ No newline at end of file diff --git a/实践积累/专业领域/GNSS/同步环、异步环和重复基线.md b/实践积累/专业领域/GNSS/同步环、异步环和重复基线.md new file mode 100755 index 0000000..82c4bed --- /dev/null +++ b/实践积累/专业领域/GNSS/同步环、异步环和重复基线.md @@ -0,0 +1,17 @@ +1、 同步闭合环 +同步环闭合差是由同步观测基线所组成的闭合环的闭合差。 +由于同步观测基线间具有一定的内在联系,从而使得同步环闭合差在 +理论上应总是为0 的。如果同步环闭合差超限,则说明组成同步环的基线 +中至少存在一条基线向量是错误的。但反过来,如果同步环闭合差没有超 +限,只能认为静态基线在质量上,绝大部分情况下是合格的,还不能说明 +组成同步环的所有基线在质量上绝对合格。 +2、异步闭合环 +不是完全由同步观测基线所组成的闭合环称为异步环。异步环的闭合 +差称为异步环闭合差。 +当异步环闭合差满足限差要求时,则表明组成异步环的基线向量的质 +量是合格的。当异步环闭合差不满足限差要求时,则表明组成异步环的基 +线向量中至少有一条基线向量的质量不合格。要确定出哪些基线向量的质 +量不合格可以通过多个相邻的异步环或重复基线来进行。 +3、重复基线 +不同观测时段对相同的两个测站间的观测结果就是所谓重复基线。这 +些观测结果之间的差异就是重复基线较差。 \ No newline at end of file diff --git a/实践积累/专业领域/GNSS/闭合差.md b/实践积累/专业领域/GNSS/闭合差.md new file mode 100755 index 0000000..b01878a --- /dev/null +++ b/实践积累/专业领域/GNSS/闭合差.md @@ -0,0 +1,12 @@ +闭合差的定义 +闭合环路检验是检测基线质量的有力方法。 +闭合环可分为同步环、异步环和重复基线。 +闭合环的闭合差在理论上应为0,在实际测量中,允许偏离一定的值, +闭合环的限差请参见有关文献。 +环的闭和差有以下几类: +1、分量闭合差,即: + +![Exported image](Exported%20image%2020260407225348-0.png) + +2、全长相对闭合差,即: + ![Exported image](Exported%20image%2020260407225350-1.png) \ No newline at end of file diff --git a/实践积累/专业领域/PMP/INDEX_PMP.md b/实践积累/专业领域/PMP/INDEX_PMP.md new file mode 100755 index 0000000..ea4fbd4 --- /dev/null +++ b/实践积累/专业领域/PMP/INDEX_PMP.md @@ -0,0 +1,18 @@ +--- +title: PMP 索引 +tags: + - 索引 +created: 2026-04-21 +--- + +# PMP + +> 自动生成的索引文件 + +## 文件列表 + +| 文件名 | 大小 | 说明 | +|--------|------|------| + +--- +*共 0 个文件* diff --git a/实践积累/个人知识库/Docker/Docker 部署 MongoDB.md b/实践积累/个人知识库/Docker/Docker 部署 MongoDB.md new file mode 100755 index 0000000..2929280 --- /dev/null +++ b/实践积累/个人知识库/Docker/Docker 部署 MongoDB.md @@ -0,0 +1,88 @@ +1.镜像下载 +下载 `MongoDB` 镜像命令: + +``` +``` +docker pull mongo +``` +``` + 执行 `docker images` 查看镜像,下载成功,如下图: + +2.启动 `MongoDB` +启动 `MongoDB` 命令: + +``` +``` +docker run -p 27017:27017 -v $PWD/db:/data/db -d mongo:latest +``` + +``` +## 命令说明: + +``` +``` + -p 27017:27017 : +``` + +``` +## 将容器的 + +``` +``` +27017 +``` + +``` +## 端口映射到主机的 + +``` +``` +27017 +``` + +``` +## 端口 + +``` +``` + -v $PWD/db:/data/db : +``` + +``` +## 将主机中当前目录下的**`db`**挂载到容器的 + +``` +``` +/data/db +``` + +``` +**,作为**`mongo`**数据存储目录**`` +启动成功,如下图: + +3.测试连接 `MongoDB` +连接 `MongoDB` 命令: + +``` +``` +docker run -it mongo:latest mongo --host 172.17.0.1 +``` + +``` +## 命令说明: + +``` +``` + +``` + +``` +## 使用**`mongo`**镜像执行**`mongo` **命令连接到刚启动的容器**`,`**主机**`IP`**为 + +``` +``` +172.17.0.1 +``` + +``` +提示信息 `It looks like you are trying to access MongoDB over HTTP on the native driver port.` ,nice,部署 `MongoD` 成功! \ No newline at end of file diff --git a/实践积累/个人知识库/Docker/Docker安装redis.md b/实践积累/个人知识库/Docker/Docker安装redis.md new file mode 100755 index 0000000..178f2b9 --- /dev/null +++ b/实践积累/个人知识库/Docker/Docker安装redis.md @@ -0,0 +1,17 @@ +**Docker安装redis** +**1.首先下载redis镜像:** +docker pull redis +**2.然后创建一个文件夹用来存放redis的配置文件、数据等(也就是所谓的挂载目录,作用就是将此目录中的文件或文件夹覆盖掉容器内部的文件或文件夹)** +**3.在上面创建的目录下使用命令启动redis容器** +docker run -d -p 6379:6379 -v $PWD/conf/redis.conf:/usr/local/etc/redis/redis.conf -v $PWD/data:/data --name docker-redis docker.io/redis redis-server /usr/local/etc/redis/redis.conf --appendonly yes +**解释一下上面命令的意义:** +-d:表示后台运行,不加-d执行上面的命令你就会看到redis启动的日志信息了 +-p:表示端口映射,冒号左面的是我们的宿主机的端口,也就是我们虚拟机的端口,而右侧则表示的是mysql容器内的端口 +--name:是我们给redis容器取的名字 +-v:表示挂载路径,$PWD表示当前目录下,冒号左面的表示我们宿主机的挂载目录,也就是我们虚拟机所在的文件路径,冒号右边则表是的是redis容器在容器内部的路径,上面的命令我分别挂载了redis.conf(redis的配置文件),如需使用配置文件的方式启动redis,这里则需要加上,还有redis存放数据所在的目录 +--appendonly yes:表示redis开启持久化策略 + +作者:GatHub +链接:https://www.jianshu.com/p/2f95680f21c5 +来源:简书 +著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 \ No newline at end of file diff --git a/实践积累/个人知识库/Docker/INDEX_Docker.md b/实践积累/个人知识库/Docker/INDEX_Docker.md new file mode 100755 index 0000000..b2771a4 --- /dev/null +++ b/实践积累/个人知识库/Docker/INDEX_Docker.md @@ -0,0 +1,28 @@ +--- +title: Docker 索引 +tags: + - 索引 +created: 2026-04-21 +--- + +# Docker + +> 自动生成的索引文件 + +## 文件列表 + +| 文件名 | 大小 | 说明 | +|--------|------|------| +| [[Docker 部署 MongoDB]] | 1KB | | +| [[Docker安装redis]] | 1KB | | +| [[Rancher_Rancher的状态存储在什么地方?]] | 619B | | +| [[Rancher_如何在同一个主机上运行Rancher-Rancher和Rancher-Rancher-Agent]] | 957B | | +| [[centos7设置docker开机自启动,并设置容器自动重启]] | 837B | | +| [[docker rm & docker rmi & docker prune 的差异]] | 196B | | +| [[docker rm &amp; docker rmi &amp; docker prune 的差异]] | 196B | | +| [[docker镜像清理]] | 485B | | +| [[如何批量删除Docker中已经停止的容器]] | 1KB | | +| [[安装docker-compose]] | 545B | | + +--- +*共 10 个文件* diff --git a/实践积累/个人知识库/Docker/Rancher的状态存储在什么地方?.md b/实践积累/个人知识库/Docker/Rancher的状态存储在什么地方?.md new file mode 100755 index 0000000..706af2f --- /dev/null +++ b/实践积累/个人知识库/Docker/Rancher的状态存储在什么地方?.md @@ -0,0 +1,3 @@ +==单节点安装== +==在rancher/rancher容器的内置etcd中,映射与宿主机的====/var/lib/rancher====目录下。== + > 来自 <[https://docs.rancher.cn/rancher2x/faqs/important-issue.html#_11-%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84l4%E5%B1%82%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E6%9C%8D%E5%8A%A1%E5%A4%84%E4%BA%8E-%E6%8C%82%E8%B5%B7-%E7%8A%B6%E6%80%81%EF%BC%9F](https://docs.rancher.cn/rancher2x/faqs/important-issue.html#_11-%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84l4%E5%B1%82%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E6%9C%8D%E5%8A%A1%E5%A4%84%E4%BA%8E-%E6%8C%82%E8%B5%B7-%E7%8A%B6%E6%80%81%EF%BC%9F)> \ No newline at end of file diff --git a/实践积累/个人知识库/Docker/centos7设置docker开机自启动,并设置容器自动重启.md b/实践积累/个人知识库/Docker/centos7设置docker开机自启动,并设置容器自动重启.md new file mode 100755 index 0000000..a0054b9 --- /dev/null +++ b/实践积累/个人知识库/Docker/centos7设置docker开机自启动,并设置容器自动重启.md @@ -0,0 +1,12 @@ +**1****、设置****docker****开机启动** +systemctl enable docker +**2****、设置容器自动重启** +**1****)、创建容器时设置** + +docker run -d --restart=always --name 设置容器名 使用的镜像(上面命令 --name后面两个参数根据实际情况自行修改) + --restart具体参数值详细信息:       no容器退出时,不重启容器;       on-failure 只有在非0状态退出时才重新启动容器;       always      无论退出状态是如何,都重启容器; + +**2****)、修改已有容器,使用****update** +docker update --restart=always 容器ID(或者容器名) +(容器ID或者容器名根据实际情况修改) + > 来自 <[https://www.cnblogs.com/763977251-sg/p/11839918.html](https://www.cnblogs.com/763977251-sg/p/11839918.html)> \ No newline at end of file diff --git a/实践积累/个人知识库/Docker/docker rm & docker rmi & docker prune 的差异.md b/实践积累/个人知识库/Docker/docker rm & docker rmi & docker prune 的差异.md new file mode 100755 index 0000000..6bdb663 --- /dev/null +++ b/实践积累/个人知识库/Docker/docker rm & docker rmi & docker prune 的差异.md @@ -0,0 +1,7 @@ + + +404 Not Found + +

Not Found

+

The requested URL was not found on this server.

+ diff --git a/实践积累/个人知识库/Docker/docker rm &amp; docker rmi &amp; docker prune 的差异.md b/实践积累/个人知识库/Docker/docker rm &amp; docker rmi &amp; docker prune 的差异.md new file mode 100755 index 0000000..6bdb663 --- /dev/null +++ b/实践积累/个人知识库/Docker/docker rm &amp; docker rmi &amp; docker prune 的差异.md @@ -0,0 +1,7 @@ + + +404 Not Found + +

Not Found

+

The requested URL was not found on this server.

+ diff --git a/实践积累/个人知识库/Docker/docker镜像清理.md b/实践积累/个人知识库/Docker/docker镜像清理.md new file mode 100755 index 0000000..8983c6f --- /dev/null +++ b/实践积累/个人知识库/Docker/docker镜像清理.md @@ -0,0 +1,2 @@ +1. **大量****镜像通过命令 docker image prune -f 清理。** +2. **通过命令 docker images | awk 'NR!=1{print $1":"$2}' | xargs docker rmi 可以批量清除无用的镜像,且不会影响使用中的镜像和基础镜像,满足笔者的需求。** > 来自 <[https://www.cnblogs.com/sqgzy/p/11864675.html](https://www.cnblogs.com/sqgzy/p/11864675.html)> > 来自 <[https://www.cnblogs.com/sqgzy/p/11864675.html](https://www.cnblogs.com/sqgzy/p/11864675.html)> \ No newline at end of file diff --git a/实践积累/个人知识库/Docker/如何在同一个主机上运行Rancher-Rancher和Rancher-Rancher-Agent.md b/实践积累/个人知识库/Docker/如何在同一个主机上运行Rancher-Rancher和Rancher-Rancher-Agent.md new file mode 100755 index 0000000..7199afb --- /dev/null +++ b/实践积累/个人知识库/Docker/如何在同一个主机上运行Rancher-Rancher和Rancher-Rancher-Agent.md @@ -0,0 +1,7 @@ +==.== +==在您想要使用单个节点运行Rancher并且能够将相同节点添加到集群的情况下,您必须调整为====rancher/rancher====容器映射的主机端口。== +==如果一个节点被添加到集群,它将部署使用端口80和443的ingress控制器。这与====rancher/rancher====容器默认映射的端口冲突。== +==注意不建议在生产中把Rancher/Rancher和Rancher/Rancher-Agent运行在一台主机上,但可用于开发/演示。== +==要更改主机端口映射,替换====-p 80:80 -p 443:443====为====-p 8080:80 -p 8443:443====:== +docker run -d --restart=unless-stopped \ -p 8080:80 -p 8443:443 \ -v <主机路径>:/var/lib/rancher/ \ rancher/rancher:stable (或者rancher/rancher:latest) + > 来自 <[https://docs.rancher.cn/rancher2x/faqs/important-issue.html#_4-%E6%95%B0%E6%8D%AE%E6%8C%81%E4%B9%85](https://docs.rancher.cn/rancher2x/faqs/important-issue.html#_4-%E6%95%B0%E6%8D%AE%E6%8C%81%E4%B9%85)> \ No newline at end of file diff --git a/实践积累/个人知识库/Docker/如何批量删除Docker中已经停止的容器.md b/实践积累/个人知识库/Docker/如何批量删除Docker中已经停止的容器.md new file mode 100755 index 0000000..b446941 --- /dev/null +++ b/实践积累/个人知识库/Docker/如何批量删除Docker中已经停止的容器.md @@ -0,0 +1,28 @@ +**方法一:** +## #**==显示所有的容器,过滤出****Exited****状态的容器,取出这些容器的****ID**==, +## sudo docker ps -a|grep Exited|awk '{print $1}' +## #**==查询所有的容器,过滤出****Exited****状态的容器,列出容器****ID**==,删除这些容器 +## sudo docker rm `docker ps -a|grep Exited|awk '{print $1}'` +xx +**方法二:** +## #====删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了) +## sudo docker rm $(sudo docker ps -a -q) + +**方法三:** +## #**==根据容器的状态,删除****Exited**==状态的容器 +## sudo docker rm $(sudo docker ps -qf status=exited) + +**方法四:** +## #Docker 1.13**==版本以后,可以使用** **docker containers prune** ==命令,删除孤立的容器。 +## sudo docker container prune + +~~#~~~~删除所有镜像~~ +~~sudo docker rmi $(docker images -q)~~ + +**附图:** +## 02-====删除所有的容器,所有未运行的容器都被删除,正在运行的无法删除,达到删除不用容器的目的。 +## 03-**==低于****1.13****版本的****Docker**==,可以根据容器的状态来进行删除 +## 04-**==查询所有的容器,过滤出状态为****Exited**==的容器 +## 05-Docker 1.13**==版本以后,开始支持****prune**==命令,快速删除已退出的容器 + + > 来自 <[https://blog.csdn.net/jiangeeq/article/details/79499324](https://blog.csdn.net/jiangeeq/article/details/79499324)> \ No newline at end of file diff --git a/实践积累/个人知识库/Docker/安装docker-compose.md b/实践积累/个人知识库/Docker/安装docker-compose.md new file mode 100755 index 0000000..8c4fdeb --- /dev/null +++ b/实践积累/个人知识库/Docker/安装docker-compose.md @@ -0,0 +1,4 @@ +## INSTALL AS A CONTAINER +## Compose can also be run inside a container, from a small bash script wrapper. To install compose as a container run this command: +sudo curl -L --fail [https://github.com/docker/compose/releases/download/1.25.4/run.sh](https://github.com/docker/compose/releases/download/1.25.4/run.sh) -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-compose + > 来自 <[https://docs.docker.com/compose/install/#alternative-install-options](https://docs.docker.com/compose/install/#alternative-install-options)> \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/CentOS7防火墙设置.md b/实践积累/个人知识库/Linux/CentOS7防火墙设置.md new file mode 100755 index 0000000..4251e69 --- /dev/null +++ b/实践积累/个人知识库/Linux/CentOS7防火墙设置.md @@ -0,0 +1,53 @@ +**一、****FirewallD****简介** +FirewallD 提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具。它支持 IPv4, IPv6 防火墙设置以及以太网桥接,并且拥有运行时配置和永久配置选项。它也支持允许服务或者应用程序直接添加防火墙规则的接口。 以前的 system-config-firewall/lokkit 防火墙模型是静态的,每次修改都要求防火墙完全重启。这个过程包括内核 netfilter 防火墙模块的卸载和新配置所需模块的装载等。而模块的卸载将会破坏状态防火墙和确立的连接。 +相反,firewall daemon 动态管理防火墙,不需要重启整个防火墙便可应用更改。因而也就没有必要重载所有内核防火墙模块了。不过,要使用 firewall daemon 就要求防火墙的所有变更都要通过该守护进程来实现,以确保守护进程中的状态和内核里的防火墙是一致的。另外,firewall daemon 无法解析由 ip*tables 和 ebtables 命令行工具添加的防火墙规则。 +守护进程通过 D-BUS 提供当前激活的防火墙设置信息,也通过 D-BUS 接受使用 PolicyKit 认证方式做的更改。 +**二、****FirewallD****特性** + +- 守护进程应用程序、守护进程和用户可以通过 D-BUS 请求启用一个防火墙特性。特性可以是预定义的防火墙功能,如:服务、端口和协议的组合、端口/数据报转发、伪装、ICMP 拦截或自定义规则等。该功能可以启用确定的一段时间也可以再次停用。通过所谓的直接接口,其他的服务(例如 libvirt )能够通过 iptables 变元(arguments)和参数(parameters)增加自己的规则。amanda 、ftp 、samba 和 tftp 服务的 netfilter 防火墙助手也被“守护进程”解决了,只要它们还作为预定义服务的一部分。附加助手的装载不作为当前接口的一部分。由于一些助手只有在由模块控制的所有连接都关闭后才可装载。因而,跟踪连接信息很重要,需要列入考虑范围。 +- 静态防火墙(system-config-firewall/lokkit)使用 system-config-firewall 和 lokkit 的静态防火墙模型实际上仍然可用并将继续提供,但却不能与“守护进程”同时使用。用户或者管理员可以决定使用哪一种方案。在软件安装,初次启动或者是首次联网时,将会出现一个选择器。通过它你可以选择要使用的防火墙方案。其他的解决方案将保持完整,可以通过更换模式启用。firewall daemon 独立于 system-config-firewall,但二者不能同时使用。 +- 区域网络区域定义了网络连接的可信等级。这是一个一对多的关系,这意味着一次连接可以仅仅是一个区域的一部分,而一个区域可以用于很多连接。 +- 预定义服务服务是端口和/或协议入口的组合。备选内容包括 netfilter 助手模块以及 IPv4、IPv6地址。 +- 端口和协议定义了 tcp 或 udp 端口,端口可以是一个端口或者端口范围。 +- ICMP阻塞可以选择 Internet 控制报文协议的报文。这些报文可以是信息请求亦可是对信息请求或错误条件创建的响应。 +- 伪装私有网络地址可以被映射到公开的IP地址。这是一次正规的地址转换。 +- 端口转发端口可以映射到另一个端口以及/或者其他主机。 +- 哪个区域可用?由firewalld 提供的区域按照从不信任到信任的顺序排序。 +- 丢弃任何流入网络的包都被丢弃,不作出任何响应。只允许流出的网络连接。 +- 阻塞任何进入的网络连接都被拒绝,并返回 IPv4 的 icmp-host-prohibited 报文或者 IPv6 的 icmp6-adm-prohibited 报文。只允许由该系统初始化的网络连接。 +- 公开用以可以公开的部分。你认为网络中其他的计算机不可信并且可能伤害你的计算机。只允许选中的连接接入。 +- 外部用在路由器等启用伪装的外部网络。你认为网络中其他的计算机不可信并且可能伤害你的计算机,只允许选中的连接接入。 +- 隔离区(dmz)用以允许隔离区(dmz)中的电脑有限地被外界网络访问。只接受被选中的连接。 +- 工作用在工作网络。你信任网络中的大多数计算机不会影响你的计算机。只接受被选中的连接。 +- 家庭用在家庭网络。你信任网络中的大多数计算机不会影响你的计算机。只接受被选中的连接。 +- 内部用在内部网络。你信任网络中的大多数计算机不会影响你的计算机。只接受被选中的连接。 +- 受信任的允许所有网络连接。 +- 我应该选用哪个区域?例如,公共的 WIFI 连接应该主要为不受信任的,家庭的有线网络应该是相当可信任的。根据与你使用的网络最符合的区域进行选择。 +- 由NetworkManager控制的网络连接防火墙不能够通过 NetworkManager 显示的名称来配置网络连接,只能配置网络接口。因此在网络连接之前 NetworkManager 将配置文件所述连接对应的网络接口告诉 firewalld 。如果在配置文件中没有配置区域,接口将配置到 firewalld 的默认区域。如果网络连接使用了不止一个接口,所有的接口都会应用到 fiwewalld。接口名称的改变也将由 NetworkManager 控制并应用到firewalld。 +- 由脚本控制的网络对于由网络脚本控制的连接有一条限制:没有守护进程通知 firewalld 将连接增加到区域。这项工作仅在 ifcfg-post 脚本进行。因此,此后对网络连接的重命名将不能被应用到firewalld。同样,在连接活动时重启 firewalld 将导致与其失去关联。现在有意修复此情况。最简单的是将全部未配置连接加入默认区域。 +- 使用firewalld图形界面工具:firewall-configfirewall-cmd命令行工具:firewall-cmd + +**三、****FirewallD****配置** + +- Firewalld命令: + +# 进程与状态相关systemctl start firewalld.service #启动防火墙 systemctl stop firewalld.service #停止防火墙 firewall-cmd --state #查看防火墙状态 firewall-cmd --reload #更新防火墙规则 firewall-cmd --state #查看防火墙状态 firewall-cmd --reload #重载防火墙规则 firewall-cmd --list-ports #查看所有打开的端口 firewall-cmd --list-services #查看所有允许的服务 firewall-cmd --get-services #获取所有支持的服务  +# 区域相关firewall-cmd --list-all-zones #查看所有区域信息 firewall-cmd --get-active-zones #查看活动区域信息 firewall-cmd --set-default-zone=public #设置public为默认区域 firewall-cmd --get-default-zone #查看默认区域信息 firewall-cmd --zone=public --add-interface=eth0 #将接口eth0加入区域public +# 接口相关firewall-cmd --zone=public --remove-interface=eth0 #从区域public中删除接口eth0 firewall-cmd --zone=default --change-interface=eth0 #修改接口eth0所属区域为default firewall-cmd --get-zone-of-interface=eth0 #查看接口eth0所属区域  +# 端口控制firewall-cmd --add-port=80/tcp --permanent #永久添加80端口例外(全局)firewall-cmd --remove-port=80/tcp --permanent #永久删除80端口例外(全局)firewall-cmd --add-port=65001-65010/tcp --permanent #永久增加65001-65010例外(全局)  +firewall-cmd --zone=public --add-port=80/tcp --permanent #永久添加80端口例外(区域public)firewall-cmd --zone=public --remove-port=80/tcp --permanent #永久删除80端口例外(区域public)firewall-cmd --zone=public --add-port=65001-65010/tcp --permanent #永久增加65001-65010例外(区域public)  +**注:如果某个接口不属于任何****Zone****,那么这个接口的所有数据包使用默认的****Zone****的规则。** + +- 命令含义:--zone #作用域--add-port=80/tcp #添加端口,格式为:端口/通讯协议--permanent #永久生效,没有此参数重启后失效 +- Systemctl命令: + +systemctl start firewalld.service #启动服务systemctl stop firewalld.service #关闭服务systemctl reloadt firewalld.service #重载配置systemctl restart firewalld.service #重启服务systemctl status firewalld.service #显示服务的状态systemctl enable firewalld.service #在开机时启用服务systemctl disable firewalld.service #在开机时禁用服务systemctl is-enabled firewalld.service #查看服务是否开机启动systemctl list-unit-files|grep enabled #查看已启动的服务列表systemctl --failed #查看启动失败的服务列表 + +- 关闭CentOS7自带Firewall启用iptables: + +yum install iptables-services #安装iptables systemctl stop firewalld.service #停止firewalld systemctl mask firewalld.service #禁止自动和手动启动firewalld systemctl start iptables.service #启动iptablessystemctl start ip6tables.service #启动ip6tables systemctl enable iptables.service #设置iptables自启动 systemctl enable ip6tables.service #设置ip6tables自启动 注:静态防火墙规则配置文件是 /etc/sysconfig/iptables 以及 /etc/sysconfig/ip6tables + +作者:风吹我已散博客 +链接:https://www.jianshu.com/p/a2e8829aa50e +来源:简书 +著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/Centos7安装搭建NTP服务器和NTP客户端同步时间.md b/实践积累/个人知识库/Linux/Centos7安装搭建NTP服务器和NTP客户端同步时间.md new file mode 100755 index 0000000..e5aa4a8 --- /dev/null +++ b/实践积累/个人知识库/Linux/Centos7安装搭建NTP服务器和NTP客户端同步时间.md @@ -0,0 +1,50 @@ +**NTP****简介:** +NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。 +在计算机的世界里,时间非常地重要 +例如:对于火箭发射这种科研活动,对时间的统一性和准确性要求就非常地高,是按照A这台计算机的时间,还是按照B这台计算机的时间? +NTP就是用来解决这个问题的,NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议。 +它的用途是把计算机的时钟同步到世界协调时UTC,其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms。 +它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)进行时间同步,它可以提供高精准度的时间校正,而且可以使用加密确认的方式来防止病毒的协议攻击。 + +**环境:** +## 系统:====CentOS Linux release 7.4.1708 (Core) +## NTP Server**==服务器****IP****:**==192.168.0.15 +## NTP Client**==客户端****IP****:**==192.168.0.16 + +**1****、搭建****NTP****服务器** +**1.1****、查看服务器是否安装****ntp****,系统默认安装****ntpdate****;** +[root@localhost ~]# rpm -qa |grep ntpntpdate-4.2.6p5-28.el7.centos.x86_64ntp-4.2.6p5-28.el7.centos.x86_64 +**1.2****、安装****ntp****,****ntpdate****已经系统默认安装过了** +[root@localhost ~]# yum install -y ntp +**1.3****、修改****ntp****配置文件** + +[![Exported image](Exported%20image%2020260407231343-0.gif)](javascript:void\(0\);) + +[root@localhost ~]# vim /etc/ntp.conf +把配置文件下面四行注释掉:server 0.cn.pool.ntp.org iburstserver 1.cn.pool.ntp.org iburstserver 2.cn.pool.ntp.org iburstserver 3.cn.pool.ntp.org iburst然后在下面添加这几行:server 0.cn.pool.ntp.org iburstserver 1.cn.pool.ntp.org iburstserver 2.cn.pool.ntp.org iburstserver 3.cn.pool.ntp.org iburst + +[![Exported image](Exported%20image%2020260407231344-1.gif)](javascript:void\(0\);) + +**1.4****、启动****ntp****服务,并开机自启动** +[root@localhost ~]# systemctl start ntpd[root@localhost ~]# systemctl enable ntpd +**1.5****、查询****ntp****是否同步** +[root@localhost ~]# ntpq -p remote refid st t when poll reach delay offset jitter**=****=****=****=****=****=****=****=****=****=****=****=****=****=****=**===*119.28.206.193 100.122.36.196 2 u 128 128 377 19.711 -0.468 5.363 +**1.6****、开启防火墙****ntp****默认端口****udp123** +[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=123/udpsuccess[root@localhost ~]# firewall-cmd --reloadsuccess + +**2****、****NTP****客户端配置** +安装的NTP跟上面的步骤一样 +**2.1****、修改****ntp****配置文件,将上面的****NTP****服务器作为客户端同步****NTP****时间服务器** + +[![Exported image](Exported%20image%2020260407231346-2.gif)](javascript:void\(0\);) + +[root@localhost ~]# vim /etc/ntp.conf#配置允许NTP Server时间服务器主动修改本机的时间restrict 192.168.0.15 nomodify notrap noquery#注释掉其他时间服务器#server 0.centos.pool.ntp.org iburst#server 1.centos.pool.ntp.org iburst#server 2.centos.pool.ntp.org iburst#server 3.centos.pool.ntp.org iburst#配置时间服务器为本地搭建的NTP Server服务器server 192.168.0.15 + +[![Exported image](Exported%20image%2020260407231348-3.gif)](javascript:void\(0\);) + +**2.2****、与****NTP server****服务器同步一下时间:** +[root@localhost ~]# ntpdate -u 192.168.0.15 +**2.3****、查看****ntp****同步状态** +能看到已经成功同步,要记得开启ntpd这个服务器 +[root@localhost ~]# ntpq -p remote refid st t when poll reach delay offset jitter**=****=****=****=****=****=****=****=****=****=****=****=****=****=****=**=== 192.168.0.15 119.28.206.193 3 u 7 64 1 0.217 -288085 0.000 + > 来自 <[https://www.cnblogs.com/Sungeek/p/10197345.html](https://www.cnblogs.com/Sungeek/p/10197345.html)> \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/Harbor 开启https 认证.md b/实践积累/个人知识库/Linux/Harbor 开启https 认证.md new file mode 100755 index 0000000..9b29209 --- /dev/null +++ b/实践积累/个人知识库/Linux/Harbor 开启https 认证.md @@ -0,0 +1,127 @@ +openssl req \ +-newkey rsa:4096 -nodes -sha256 -keyout ca.key \ +-x509 -days 3650 -out ca.crt \ +-subj "/C=CN/ST=Guangdong/L=Guangzhou/O=zhdgps/OU=IT/CN=test/emailAddress=11111111@qq.com" + openssl req \ +-newkey rsa:4096 -nodes -sha256 -keyout harbor-registry.key \ +-out harbor-registry.csr \ +-subj "/C=CN/ST=Guangdong/L=Guangzhou/O=zhdgps/OU=IT/CN=10.10.200.175/emailAddress=974418136@qq.com" + echo subjectAltName = IP:10.10.200.175 > extfile.cnf + openssl x509 -req -days 3650 -in harbor-registry.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile extfile.cnf -out harbor-registry.crt + +## 因为Harbor发布时默认并不包含certificates,并使用http来提供registry请求服务。然而,我们建议在实际的生产环境中还是要使用安全的https。Harbor有一个Nginx实例以作为其他所有服务的反向代理。可以使用prepare脚本来配置Nginx以支持https。 +**1. 停止Harbor** +## 上一章我们使用的是Harbor默认的http方式工作,这里我们首先将Harbor停止,并删除掉原有的一些数据,以恢复到一个干净的环境: +## # docker-compose down -v**==****# ls /data/*********# rm -rf /data/database********# rm -rf /data/registry********# rm -rf /data/*********# rm -rf /var/log/harbor*********#** == +## 注意,可能是因为目前Harbor工作负载过重,导致上面调用**==docker-compose down -v**==经常会失败,可用如下方式来停止: +## # docker ps | grep -v CONTAINER | grep -v docs | awk '{print $1'} | xargs docker stop**==**==# docker ps | grep -v CONTAINER | grep -v docs | awk '{print $1'} | xargs docker rm -vf +**2. 获取证书** +## 这里假设你的registry主机名为**==reg.yourdomain.com****,并且通过DNS记录能够找到你运行Harbor的主机。首先你应该从CA处获得一个certificate。该certificate通常包含一个****a.crt****文件和一个****a.key****文件,例如:****yourdomain.com.crt****以及****yourdomain.com.key**==。 +## 在测试或开发环境下,你也许会使用一个自签名证书,而不是从CA那里获取。可以通过如下的命令产生你自己的证书: +**2.1 创建自签名根证书** +## 可以通过如下的方式来产生一个**==私钥****及****自签名证书**==: +## # openssl req \**==** **-newkey rsa:4096 -nodes -sha256 -keyout ca.key \****** **-x509 -days 365 -out ca.crt**== +**2.2 产生证书签名请求** +## 假如你使用类似于**==reg.yourdomain.com****的FQDN(Fully Qualified Domain Name)方式来连接registry主机,则你必须使用****reg.yourdomain.com**==来作为CN(Common Name)。否则,假如你使用IP地址来连接你的registry主机的话,CN可以指定为任何值(例如指定为你的名字): +## # openssl req \**==** **-newkey rsa:4096 -nodes -sha256 -keyout yourdomain.com.key \****** **-out yourdomain.com.csr**== +**2.3 为registry主机产生证书** +## 假如你使用类似于**==reg.yourdomain.com**==的FQDN(Full Qualified Domain Name)方式来连接registry主机,你可以使用如下的命令来为registry主机产生证书: +## # openssl x509 -req -days 365 -in yourdomain.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out yourdomain.com.crt==== +## 假如你是使用ip的话, 比如使用**==192.168.1.101**==来连接registry主机的话,你需要使用如下命令: +## # echo subjectAltName = IP:192.168.1.101 > extfile.cnf==== +## # openssl x509 -req -days 365 -in yourdomain.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile extfile.cnf -out yourdomain.com**==**==.crt +**3. 配置与安装** +## 在你获得**==yourdomain.com.crt****与****yourdomain.com.key****文件之后,你可以将它们放到一个目录,比如****/root/cert/**==: +## # cp yourdomain.com.crt /root/cert/**==****# cp yourdomain.com.key /root/cert/** == +## 然后修改**==harbor.cfg****配置文件,更新hostname及protocol,然后更新****ssl_cert****及****ssl_cert_key**==: +## #set hostname**==****hostname = reg.yourdomain.com********#set ui_url_protocol********ui_url_protocol = https********......********#The path of cert and key files for nginx, they are applied only the protocol is set to https** ******ssl_cert = /root/cert/yourdomain.com.crt********ssl_cert_key = /root/cert/yourdomain.com.key**== +## 然后再执行如下命令为Harbor产生配置文件: +## # ./prepare==== +## 假如当前**==Harbor****正在运行的话,停止并移除当前的运行实例。通过如下方式你的****image data**==仍会保留在文件系统中: +## # docker-compose down==== +## 最后,重启Harbor。 +## 在设置了**==https**==之后,你可以通过如下的步骤来进行验证: + +- **打开浏览器输入访问地址****https://reg.yourdomain.com****,就会显示出Harbor的 UI界面** +- **在安装有docker daemon的机器上(请确保没有****--insecure-registry****设置),你必须拷贝上述步骤所产生的****ca.crt****到****/etc/docker/certs.d/reg.yourdomain.com****目录(或者****registry host IP****目录)。假如该目录并不存在的话,请创建该目录。假如你将nginx 443端口映射到了其他端口的话,则你必须创建****/etc/docker/certs.d/reg.yourdomain.com:port****目录(或者****registry host IP:port****目录),然后运行相应的docker命令行来验证https是否工作正常:** + +## # docker login reg.yourdomain.com==== +## 假如你已经将nginx 443端口映射到了其他端口的话,你需要在登录时添加相应的端口,例如: +## # docker login reg.yourdomain.com:port==== +**4. Troubleshooting** +## 1) 你也许从一个certificate issuer处获得了一个intermediate certificate。在这种情况下,你可以将该intermediate certificate与你自己的certificate合并,创建出一个certificate bundle。你可以通过如下命令来实现: +## # cat intermediate-certificate.pem >> yourdomain.com.crt +## 2) 在有一些docker daemon运行的操作系统上,你也许需要在操作系统级别信任该证书 + +- **在Ubuntu操作系统上,你可以通过如下命令来完成** + +## # cp youdomain.com.crt /usr/local/share/ca-certificates/reg.yourdomain.com.crt**==****# update-ca-certificates**== + +- **在Redhat(Centos等)操作系统上,你可以通过如下命令来完成** + +## # cp yourdomain.com.crt /etc/pki/ca-trust/source/anchors/reg.yourdomain.com.crt**==****# update-ca-trust**== +**5. 部署示例** +## 我们当前部署环境ip地址为====192.168.69.128 +**5.1 获得证书文件** +**1) 产生根证书** +## # openssl req \**==** **-newkey rsa:4096 -nodes -sha256 -keyout ca.key \****** **-x509 -days 365 -out ca.crt \****** **-subj "/C=CN/ST=Guangdong/L=Shenzhen/O=test_company/OU=IT/CN=test/emailAddress=11111111@qq.com"**== +## # ls**==****ca.crt ca.key**== +**2) 产生证书签名请求** +## # openssl req \**==** **-newkey rsa:4096 -nodes -sha256 -keyout harbor-registry.key \****** **-out harbor-registry.csr \****** **-subj "/C=CN/ST=Guangdong/L=Shenzhen/O=test_company/OU=IT/CN=192.168.69.128/emailAddress=11111111@qq.com"**== +## # ls**==****ca.crt ca.key harbor-registry.csr harbor-registry.key**== +**3) 为registry产生证书** +## # echo subjectAltName = IP:192.168.69.128 > extfile.cnf==== +## # openssl x509 -req -days 365 -in harbor-registry.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile extfile.cnf -out harbor-registry.crt==== +## # ls**==**==ca.crt ca.key ca.srl extfile.cnf harbor-registry.crt harbor-registry.csr harbor-registry.key +**5.2 配置及安装** +## 1) 拷贝harbor-registry证书到**==/opt/cert**==目录 +## # mkdir -p /opt/cert**==****# cp harbor-registry.crt /opt/cert/********# cp harbor-registry.key /opt/cert/**== +## 2) 修改harbor.cfg配置文件 +## #set hostname**==****hostname = 192.168.69.128********#set ui_url_protocol********ui_url_protocol = https********......********#The path of cert and key files for nginx, they are applied only the protocol is set to https** ******ssl_cert = /opt/cert/harbor-registry.crt********ssl_cert_key = /opt/cert/harbor-registry.key**== +## 3) 重新产生配置文件 +## # ./prepare==== +## 4) 关闭harbor +## # docker-compose down** ** +## 5) 查看docker daemon是否有**==--insecure-registry**==选项 +## 如果仍有该选项,请将其去掉,并执行如下命令重启docker daemon: +## # systemctl daemon-reload**==****# systemctl restart docker**== +## 6) 重启Harbor +## # docker-compose up -d**==****Creating network "harbor_harbor" with the default driver********Creating harbor-log ... done********Creating registry ... done********Creating harbor-adminserver ... done********Creating harbor-db ... done********Creating harbor-ui ... done********Creating harbor-jobservice ... done********Creating nginx ... done**== +## # docker ps**==****CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES********c7b4d837fefc vmware/nginx-photon:v1.4.0 "nginx -g 'daemon of…" 6 seconds ago Up 3 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp nginx********257ec984fc98 vmware/harbor-jobservice:v1.4.0 "/harbor/start.sh" 6 seconds ago Up 4 seconds (health: starting) harbor-jobservice********331fe98b1623 vmware/harbor-ui:v1.4.0 "/harbor/start.sh" 8 seconds ago Up 5 seconds (health: starting) harbor-ui********d155d8a3cf00 vmware/harbor-db:v1.4.0 "/usr/local/bin/dock…" 10 seconds ago Up 7 seconds (health: starting) 3306/tcp harbor-db********183a8f508491 vmware/harbor-adminserver:v1.4.0 "/harbor/start.sh" 10 seconds ago Up 7 seconds (health: starting) harbor-adminserver********579642c3cecc vmware/registry-photon:v2.6.2-v1.4.0 "/entrypoint.sh serv…" 10 seconds ago Up 7 seconds (health: starting) 5000/tcp registry********06a1618f789e vmware/harbor-log:v1.4.0 "/bin/sh -c /usr/loc…" 10 seconds ago Up 9 seconds (health: starting) 127.0.0.1:1514->10514/tcp harbor-log**== +## 7) 通过https形式访问Harbor + +- **通过浏览器访问** + +## 这里首先需要将上面产生的**==ca.crt****导入到浏览器的****受信任的根证书**==中。然后就可以通过https进行访问(这里经过测试,Chrome浏览器、IE浏览器可以正常访问,但360浏览器不能正常访问) + +- **通过docker命令来访问** + +## 首先新建**==/etc/docker/certs.d/192.168.69.128****目录,然后将上面产生的****ca.crt**==拷贝到该目录: +## # mkdir -p /etc/docker/certs.d/192.168.69.128**==****# cp ca.crt /etc/docker/certs.d/192.168.69.128/**== +## 然后登录到docker registry: +## # docker login 192.168.69.128**==****Username (admin): admin********Password:** ******Login Succeeded**== +## 用向**==registry**==中上传一个镜像: +## # docker images**==****192.168.69.128/library/redis alpine c27f56585938 3 weeks ago 27.7MB**== +## [root@localhost test]# docker push 192.168.69.128/library/redis:alpine**==****The push refers to repository [192.168.69.128/library/redis]********f6b9463783dc: Pushed** ******222a85888a99: Pushed** ******1925395eabdd: Pushed** ******c3d278563734: Pushed** ******ad9247fe8c63: Pushed** ******cd7100a72410: Pushed** ******alpine: digest: sha256:9d017f829df3d0800f2a2582c710143767f6dda4df584b708260e73b1a1b6db3 size: 1568**== + +- **通过curl命令来访问 registry API版本号** + +## 查询registry API版本号: +## # curl -iL -X GET** **https://192.168.69.128/v2** **--cacert ca.crt**==****HTTP/1.1 301 Moved Permanently********Server: nginx********Date: Tue, 10 Apr 2018 09:33:39 GMT********Content-Type: text/html********Content-Length: 178********Location:** **https://192.168.69.128/v2/********Connection: keep-alive**== +## HTTP/1.1 401 Unauthorized**==****Server: nginx********Date: Tue, 10 Apr 2018 09:33:39 GMT********Content-Type: application/json; charset=utf-8********Content-Length: 87********Connection: keep-alive********Docker-Distribution-Api-Version: registry/2.0********Set-Cookie: beegosessionID=575f32ac760f52c8cf1cdb748e48ab5e; Path=/; HttpOnly********Www-Authenticate: Bearer realm="https://192.168.69.128/service/token",service="harbor-registry"**== +## {"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":null}]}==== +## # curl -iL -X GET -u admin:Harbor12345** **https://192.168.69.128/service/token?account=admin\&service=harbor-registry** **--cacert ca.crt**==****HTTP/1.1 200 OK********Server: nginx********Date: Tue, 10 Apr 2018 09:34:39 GMT********Content-Type: application/json; charset=utf-8********Content-Length: 1100********Connection: keep-alive********Set-Cookie: beegosessionID=77bc62dcdc4a810a0e208487a89f069a; Path=/; HttpOnly**== +## {**==** **"token": "nHLZqMPw",****** **"expires_in": 1800,****** **"issued_at": "2018-04-10T09:34:39Z"********}**== +## # curl -iL -X GET -H "Content-Type: application/json" -H "Authorization: Bearer nHLZqMPw"** **https://192.168.69.128/v2** **--cacert ca.crt**==****HTTP/1.1 301 Moved Permanently********Server: nginx********Date: Tue, 10 Apr 2018 09:36:48 GMT********Content-Type: text/html********Content-Length: 178********Location:** **https://192.168.69.128/v2/********Connection: keep-alive**== +## HTTP/1.1 200 OK**==****Server: nginx********Date: Tue, 10 Apr 2018 09:36:48 GMT********Content-Type: application/json; charset=utf-8********Content-Length: 2********Connection: keep-alive********Docker-Distribution-Api-Version: registry/2.0********Set-Cookie: beegosessionID=e651b65d891617a999254ec875c1c63c; Path=/; HttpOnly**== +## 上面为了显示,我们对返回过来的**==token****做了适当的裁剪。此外这里****curl****命令不适用****-k**==选项,表示需要对服务器证书进行检查。 + +- **通过curl来访问registry中的镜像列表** + +## # curl -iL -X GET -u admin:Harbor12345** **https://192.168.69.128/service/token?account=admin\&service=harbor-registry\&scope=registry:catalog:*** **--cacert ca.crt**==****HTTP/1.1 200 OK********Server: nginx********Date: Mon, 09 Apr 2018 09:33:52 GMT********Content-Type: application/json; charset=utf-8********Content-Length: 1166********Connection: keep-alive********Set-Cookie: beegosessionID=648fd5a5ec4f06389d45c02f7f5971b4; Path=/; HttpOnly**== +## {**==** **"token": "A7yfEdUBYD3bDhLM",****** **"expires_in": 1800,****** **"issued_at": "2018-04-09T09:33:52Z"********}**== +## # curl -iL -X GET -H "Content-Type: application/json" -H "Authorization: Bearer LA7yfEdUBYD3bDhLM"** **http://192.168.69.128/v2/_catalog** **--cacert ca.crt**==****HTTP/1.1 200 OK********Server: nginx********Date: Mon, 09 Apr 2018 09:36:35 GMT********Content-Type: application/json; charset=utf-8********Content-Length: 34********Connection: keep-alive********Docker-Distribution-Api-Version: registry/2.0********Set-Cookie: beegosessionID=1b84e760ab0234045f06680e56e28818; Path=/; HttpOnly**== +## {"repositories":["library/redis"]}==== +## 上面为了显示,我们对返回过来的**==token****做了适当的裁剪。此外这里****curl****命令不适用****-k**==选项,表示需要对服务器证书进行检查。 + > 来自 <[https://ivanzz1001.github.io/records/post/docker/2018/04/09/docker-harbor-https](https://ivanzz1001.github.io/records/post/docker/2018/04/09/docker-harbor-https)> + > 来自 <[https://ivanzz1001.github.io/records/post/docker/2018/04/09/docker-harbor-https](https://ivanzz1001.github.io/records/post/docker/2018/04/09/docker-harbor-https)> \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/INDEX_Linux.md b/实践积累/个人知识库/Linux/INDEX_Linux.md new file mode 100755 index 0000000..3d7f067 --- /dev/null +++ b/实践积累/个人知识库/Linux/INDEX_Linux.md @@ -0,0 +1,49 @@ +--- +title: Linux 索引 +tags: + - 索引 +created: 2026-04-21 +--- + +# Linux + +> 自动生成的索引文件 + +## 文件列表 + +| 文件名 | 大小 | 说明 | +|--------|------|------| +| [[CentOS_CentOS7防火墙设置]] | 9KB | | +| [[CentOS_Centos7安装搭建NTP服务器和NTP客户端同步时间]] | 3KB | | +| [[CentOS_Harbor 开启https 认证]] | 15KB | | +| [[CentOS_Jenkins是开源的,使用Java编写的持续集成的工具,在Centos上可以通过yum命令行直接安装。记录下安装的过程,方便以后查找。]] | 1KB | | +| [[CentOS_SELinux]] | 10KB | | +| [[CentOS_centos支持rz、sz命令]] | 388B | | +| [[CentOS_查看CentOS版本方法]] | 1KB | | +| [[CentOS_用户管理]] | 479B | | +| [[CentOS_调整 home分区 扩大 root分区]] | 1KB | | +| [[CentOS_软件到底安装在哪里-opt or -usr or -usr-local]] | 1KB | | +| [[Ubuntu 16.04 64bit 系统的根目录下有这些文件夹]] | 2KB | | +| [[Vim命令合集]] | 8KB | | +| [[ubuntu中管理用户和用户组]] | 512B | | +| [[ubuntu查看进程]] | 355B | | +| [[前言]] | 1KB | | +| [[常用命令]] | 11KB | | +| [[常用命令2]] | 23KB | | +| [[更改所有子文件和子目录所有者权限]] | 1012B | | +| [[查看目录大小]] | 405B | | +| [[百度云_百度云一年]] | 166B | | +| [[给双系统的ubuntu挂载windows的硬盘]] | 1KB | | +| [[阿里云_Php]] | 1KB | | +| [[阿里云_Ubuntu 16.04 wordpress环境搭建]] | 182B | | +| [[阿里云_Ubuntu ftp使用]] | 4KB | | +| [[阿里云_Ubuntu管理apache2]] | 4KB | | +| [[阿里云_Ubuntu管理mysql]] | 13KB | | +| [[阿里云_Ubuntu管理php]] | 592B | | +| [[阿里云_Ubuntu管理wordpress]] | 2KB | | +| [[阿里云_Untitled-20260407231646]] | 0B | | +| [[阿里云_mysql用户权限设置]] | 3KB | | +| [[阿里云_远程实例]] | 351B | | + +--- +*共 31 个文件* diff --git a/实践积累/个人知识库/Linux/Jenkins是开源的,使用Java编写的持续集成的工具,在Centos上可以通过yum命令行直接安装。记录下安装的过程,方便以后查找。.md b/实践积累/个人知识库/Linux/Jenkins是开源的,使用Java编写的持续集成的工具,在Centos上可以通过yum命令行直接安装。记录下安装的过程,方便以后查找。.md new file mode 100755 index 0000000..d03d92e --- /dev/null +++ b/实践积累/个人知识库/Linux/Jenkins是开源的,使用Java编写的持续集成的工具,在Centos上可以通过yum命令行直接安装。记录下安装的过程,方便以后查找。.md @@ -0,0 +1,20 @@ +J**enkins是开源的,使用Java编写的持续集成的工具,在Centos上可以通过yum命令行直接安装。记录下安装的过程,方便以后查找。** +## 安装 java +## $ sudo yum** **install** **-y** **java**==**==...... +## 安装Jenkins +## $ sudo wget -O /etc/yum.repos.d/jenkins.repo** **http:**==//jenkins-ci.org/redhat/jenkins.repo********$ sudo rpm --****import** **http:****//pkg.jenkins-ci.org/redhat/jenkins-ci.org.key********$ sudo yum install -y jenkins******==...... +## 配置 +## Jenkins 的安装目录是:/var/lib/jenkins/ +## Jenkins 的皮遏制文件地址:/etc/sysconfig/jenkins +## 这里介绍下三个比较重要的配置: +## JENKINS_HOME +## JENKINS_USER +## JENKINS_PORT +## JENKINS_HOME是Jenkins的主目录,Jenkins工作的目录都放在这里,Jenkins储存文件的地址,Jenkins的插件,生成的文件都在这个目录下。 +## JENKINS_USER是Jenkins的用户,拥有$JENKINS_HOME和/var/log/jenkins的权限。 +## JENKINS_PORT是Jenkins的端口,默认端口是8080,为了和别的系统占用端口冲突,建议改变。 +## 授权 +## 有时候Jenkins需要操作别的用户的文件或者执行脚本,那么就得有对应的权限,比如Jenkins用户执行docker命令进行镜像制作与上传,用如下的命令即可。 +## $ sudo usermod -a -G docker jenkins +## 启动 Jenkins +$ systemctl enable jenkins # 开机启动$ systemctl start jenkins # 启动jenkins \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/Php.md b/实践积累/个人知识库/Linux/Php.md new file mode 100755 index 0000000..ff29f03 --- /dev/null +++ b/实践积累/个人知识库/Linux/Php.md @@ -0,0 +1,16 @@ +## 首先,安装mysql +$ sudo apt-get install mysql-server$ sudo apt-get install mysql-client安装时输出root用户的密码 +## 在安装phpmyadmin +$ sudo apt-get install phpmyadmin$ sudo apt-get install php-mbstring$ sudo apt-get install php-gettext安装时选择自动配置数据库,输入数据库root账号的密码如果不安装以上两个php软件包,则会报错或者白屏,提示找不到/usr/share/php/php-gettext/gettext.inc之类的错误 +## 建立**==/var/www/html** ==下的软连接 +$ sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin +## 修改php配置文件 +$ sudo vim /etc/php/7.0/apache2/php.inidisplay_errors = On(显示错误日志,出现两次,都要改,不然无效)extension=php_mbstring.dll (开启mbstring) + +## 重启apache +$ sudo /etc/init.d/apache2 restart +## 1 +## 2 +## 访问端口localhost/phpmyadmin,输入账号密码即可 +## 重点提要:因为默认安装phpmyadmin时会安装apahce和php等依赖包,由于是16.04系统,会默认安装php7.0,php7.0又没有默认自带php-mbstring,php-gettext这两个包,所以会报错。 + > 来自 <[http://blog.csdn.net/l6807718/article/details/51374915](http://blog.csdn.net/l6807718/article/details/51374915)> \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/SELinux.md b/实践积累/个人知识库/Linux/SELinux.md new file mode 100755 index 0000000..cc96aa7 --- /dev/null +++ b/实践积累/个人知识库/Linux/SELinux.md @@ -0,0 +1,148 @@ +## 一、前言 +## 安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。 +## SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块。 +## SELinux 的结构及配置非常复杂,而且有大量概念性的东西,要学精难度较大。很多 Linux 系统管理员嫌麻烦都把 SELinux 关闭了。 +## 如果可以熟练掌握 SELinux 并正确运用,我觉得整个系统基本上可以到达"坚不可摧"的地步了(请永远记住没有绝对的安全)。 +## 掌握 SELinux 的基本概念以及简单的配置方法是每个 Linux 系统管理员的必修课。 +## 本文均在 CentOS 7.4.1708 系统中操作。 +## 本文纯属个人学习经验分享交流,出错再所难免,仅供参考!如果发现错误的地方,可以的话麻烦指点下,特别感谢! +## 二、SELinux 的作用及权限管理机制 +## 2.1 SELinux 的作用 +## SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。 +## 设想一下,如果一个以 root 身份运行的网络服务存在 0day 漏洞,黑客就可以利用这个漏洞,以 root 的身份在您的服务器上为所欲为了。是不是很可怕? +## SELinux 就是来解决这个问题的。 +## 2.2 DAC +## 在没有使用 SELinux 的操作系统中,决定一个资源是否能被访问的因素是:某个资源是否拥有对应用户的权限(读、写、执行)。 +## 只要访问这个资源的进程符合以上的条件就可以被访问。 +## 而最致命问题是,root 用户不受任何管制,系统上任何资源都可以无限制地访问。 +## 这种权限管理机制的主体是用户,也称为自主访问控制(DAC)。 +## 2.3 MAC +## 在使用了 SELinux 的操作系统中,决定一个资源是否能被访问的因素除了上述因素之外,还需要判断每一类进程是否拥有对某一类资源的访问权限。 +## 这样一来,即使进程是以 root 身份运行的,也需要判断这个进程的类型以及允许访问的资源类型才能决定是否允许访问某个资源。进程的活动空间也可以被压缩到最小。 +## 即使是以 root 身份运行的服务进程,一般也只能访问到它所需要的资源。即使程序出了漏洞,影响范围也只有在其允许访问的资源范围内。安全性大大增加。 +## 这种权限管理机制的主体是进程,也称为强制访问控制(MAC)。 +## 而 MAC 又细分为了两种方式,一种叫类别安全(MCS)模式,另一种叫多级安全(MLS)模式。 +## 下文中的操作均为 MCS 模式。 +## 2.4 DAC 和 MAC 的对比 +## 这里引用一张图片来说明。 +## 可以看到,在 DAC 模式下,只要相应目录有相应用户的权限,就可以被访问。而在 MAC 模式下,还要受进程允许访问目录范围的限制。 +## 三、SELinux 基本概念 +## 3.1 主体(Subject) +## 可以完全等同于进程。 +## 注:为了方便理解,如无特别说明,以下均把进程视为主体。 +## 3.2 对象(Object) +## 被主体访问的资源。可以是文件、目录、端口、设备等。 +## 注:为了方便理解,如无特别说明,以下均把文件或者目录视为对象。 +## 3.3 政策和规则(Policy & Rule) +## 系统中通常有大量的文件和进程,为了节省时间和开销,通常我们只是选择性地对某些进程进行管制。 +## 而哪些进程需要管制、要怎么管制是由政策决定的。 +## 一套政策里面有多个规则。部分规则可以按照需求启用或禁用(以下把该类型的规则称为布尔型规则)。 +## 规则是模块化、可扩展的。在安装新的应用程序时,应用程序可通过添加新的模块来添加规则。用户也可以手动地增减规则。 +## 在 CentOS 7 系统中,有三套政策,分别是: +## 1. targeted:对大部分网络服务进程进行管制。这是系统默认使用的政策(下文均使用此政策)。 +## 2. minimum:以 targeted 为基础,仅对选定的网络服务进程进行管制。一般不用。 +## 3. mls:多级安全保护。对所有的进程进行管制。这是最严格的政策,配置难度非常大。一般不用,除非对安全性有极高的要求。 +## 政策可以在 /etc/selinux/config 中设定。 +## 3.4 安全上下文(Security Context) +## 安全上下文是 SELinux 的核心。 +## 安全上下文我自己把它分为「进程安全上下文」和「文件安全上下文」。 +## 一个「进程安全上下文」一般对应多个「文件安全上下文」。 +## 只有两者的安全上下文对应上了,进程才能访问文件。它们的对应关系由政策中的规则决定。 +## 文件安全上下文由文件创建的位置和创建文件的进程所决定。而且系统有一套默认值,用户也可以对默认值进行设定。 +## 需要注意的是,单纯的移动文件操作并不会改变文件的安全上下文。 +## 安全上下文的结构及含义 +## 安全上下文有四个字段,分别用冒号隔开。形如:system_u:object_r:admin_home_t:s0。 +## 3.5 SELinux 的工作模式 +## SELinux 有三种工作模式,分别是: +## 1. enforcing:强制模式。违反 SELinux 规则的行为将被阻止并记录到日志中。 +## 2. permissive:宽容模式。违反 SELinux 规则的行为只会记录到日志中。一般为调试用。 +## 3. disabled:关闭 SELinux。 +## SELinux 工作模式可以在 /etc/selinux/config 中设定。 +## 如果想从 disabled 切换到 enforcing 或者 permissive 的话,需要重启系统。反过来也一样。 +## enforcing 和 permissive 模式可以通过 setenforce 1|0 命令快速切换。 +## 需要注意的是,如果系统已经在关闭 SELinux 的状态下运行了一段时间,在打开 SELinux 之后的第一次重启速度可能会比较慢。因为系统必须为磁盘中的文件创建安全上下文(我表示我重启了大约 10 分钟,还以为是死机了……)。 +## SELinux 日志的记录需要借助 auditd.service 这个服务,请不要禁用它。 +## 3.6 SELinux 工作流程 +## 这里引用一张图片,不必过多解释。 +## 注:上面的安全文本指的就是安全上下文。 +## 四、SELinux 基本操作 +## 4.1 查询文件或目录的安全上下文 +## 命令基本用法 +## ls -Z +## 用法举例 +## 查询 /etc/hosts 的安全上下文。 +## ls -Z /etc/hosts +## 执行结果 +## -rw-r--r--. root root system_u:object_r:net_conf_t:s0 /etc/hosts +## 4.2 查询进程的安全上下文 +## 命令基本用法 +## ps auxZ | grep -v grep | grep +## 用法举例 +## 查询 Nginx 相关进程的安全上下文。 +## ps auxZ | grep -v grep | grep nginx +## 执行结果 +## system_u:system_r:httpd_t:s0 root 7997 0.0 0.0 122784 2156 ? Ss 14:31 0:00 nginx: master process /usr/sbin/nginx +## system_u:system_r:httpd_t:s0 nginx 7998 0.0 0.0 125332 7560 ? S 14:31 0:00 nginx: worker process +## 4.3 手动修改文件或目录的安全上下文 +## 命令基本用法 +## chcon [...] +## 选项功能-u 修改安全上下文的用户字段-r 修改安全上下文的角色字段-t 修改安全上下文的类型字段-l 修改安全上下文的级别字段--reference 修改与指定文件或目录相一致的安全上下文-R递归操作-h修改软链接的安全上下文(不加此选项则修改软链接对应文件) +## 用法举例 +## 修改 test 的安全上下文为 aaa_u:bbb_r:ccc_t:s0。 +## chcon -u aaa_u -r bbb_r -t ccc_t test +## 4.4 把文件或目录的安全上下文恢复到默认值 +## 命令基本用法 +## restorecon [选项] [...] +## 选项功能-v打印操作过程-R递归操作 +## 用法举例 +## 添加一些网页文件到 Nginx 服务器的目录之后,为这些新文件设置正确的安全上下文。 +## restorecon -R /usr/share/nginx/html/ +## 4.5 查询系统中的布尔型规则及其状态 +## 命令基本用法 +## getsebool -a +## 由于该命令要么查询所有规则,要么只查询一个规则,所以一般都是先查询所有规则然后用 grep 筛选。 +## 用法举例 +## 查询与 httpd 有关的布尔型规则。 +## getsebool -a | grep httpd +## 执行结果 +## httpd_anon_write --> off +## httpd_builtin_scripting --> on +## httpd_can_check_spam --> off +## httpd_can_connect_ftp --> off +## #以下省略 +## 4.6 开关一个布尔型规则 +## 命令基本用法 +## setsebool [选项] +## 选项功能-P重启依然生效 +## 用法举例 +## 开启 httpd_anon_write 规则。 +## setsebool -P httpd_anon_write on +## 4.7 添加目录的默认安全上下文 +## 命令基本用法 +## semanage fcontext -a -t "(/.*)?" +## 注:目录或文件的默认安全上下文可以通过 semanage fcontext -l 命令配合 grep过滤查看。 +## 用法举例 +## 为 Nginx 新增一个网站目录 /usr/share/nginx/html2 之后,需要为其设置与原目录相同的默认安全上下文。 +## semanage fcontext -a -t httpd_sys_content_t "/usr/share/nginx/html2(/.*)?" +## 4.8 添加某类进程允许访问的端口 +## 命令基本用法 +## semanage port -a -t -p +## 注:各种服务类型所允许的端口号可以通过 semanage port -l 命令配合 grep 过滤查看。 +## 用法举例 +## 为 Nginx 需要使用 10080 的端口用于 HTTP 服务。 +## semanage port -a -t http_port_t -p tcp 10080 +## 五、SELinux 错误分析和解决 +## 5.1 认识 SELinux 日志 +## 当开启了 SELinux 之后,很多服务的一些正常行为都会被视为违规行为(标题及下文中的错误均指违规行为)。 +## 这时候我们就需要借助 SELinux 违规日志来分析解决。 +## SELinux 违规日志保存在 /var/log/audit/audit.log 中。 +## /var/log/audit/audit.log 的内容大概是这样的。 +## type=LOGIN msg=audit(1507898701.391:515): pid=8523 uid=0 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=25 res=1 +## type=USER_START msg=audit(1507898701.421:516): pid=8523 uid=0 auid=0 ses=25 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='op=PAM:session_open grantors=pam_loginuid,pam_keyinit,pam_limits,pam_systemd acct="root" exe="/usr/sbin/crond" hostname=? addr=? terminal=cron res=success' +## ... +## 该文件的内容很多,而且混有很多与 SELinux 错误无关的系统审计日志。我们要借助 sealert 这个实用工具来帮忙分析(如果提示找不到命令的话请安装 setroubleshoot 软件包)。 +## 5.2 使用sealert分析错误 +## 命令基本用法 +## sealert -a /var/log/audit/audit.log +## 执行完命令之后,系统需要花一段时间去分析日志中的违规行为并给出分析报告。分析报告的结构讲解请看下图: + > 来自 <[https://blog.csdn.net/yanjun821126/article/details/80828908](https://blog.csdn.net/yanjun821126/article/details/80828908)> \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/Ubuntu 16.04 64bit 系统的根目录下有这些文件夹.md b/实践积累/个人知识库/Linux/Ubuntu 16.04 64bit 系统的根目录下有这些文件夹.md new file mode 100755 index 0000000..77d9894 --- /dev/null +++ b/实践积累/个人知识库/Linux/Ubuntu 16.04 64bit 系统的根目录下有这些文件夹.md @@ -0,0 +1,60 @@ +## bin core home lib64 mnt root snap tmp vmlinuz +## boot dev initrd.img lost+found opt run srv usr +## cdrom etc lib media proc sbin sys var + +## 下面, 我们逐个分析这些文件夹的用处 +## bin +## 系统 shell (终端) 命令存放于此 +## core +## home +## 除了root用户以外的用户默认主目录, 每个子目录都是一个用户名 +## lib64 +## mnt +## root +## root用户的主目录 +## snap +## tmp +## boot +## dev +## lost+found +## opt +## 供本系统所有用户使用软件一般安装在此 +**有人也喜欢把软件安装在** **/usr/local/** +## run +## srv +## usr +**/usr/** **目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变的。这个目录也包含你的Linux发行版本自带的主要的应用程序。** +**/usr/local/** **目录一般安装第三方的软件** +**/usr/local/bin** **放置用户自己安装的小的shell命令,和一些在/usr/local目录下大应用程序的符号连接。****/usr/local/bin/** **目录下的命令可以直接在shell里使用** +**/usr/share/fonts****是字体文件夹,可以在这里新建文件夹** **winFonts/****,把ttf格式的字体放进去** +## 然后将字体文件拷贝到此文件夹下: +sudo cp ~/Desktop/font/*.ttf /usr/share/fonts/winFonts/ + +- **1** +- **2** + +## 然后,改变权限: +sudo chmod 644 /usr/share/fonts/winFonts/*.ttf + +- **1** +- **2** + +## cdrom +## etc +## 系统全局配置文件一般在此 +## /etc/apt/ +## Ubuntu 软件源列表, 也就是 apt-get 命令执行时从哪些地方下载包的依据 +## lib +## media +## proc +## sbin +## sys +## var + > 来自 <[http://blog.csdn.net/caib1109/article/details/51764196](http://blog.csdn.net/caib1109/article/details/51764196)> + +**开始安装** +## cd /usr/share/fonts/winFonts/ +## sudo mkfontscale (创建雅黑字体的fonts.scale文件,它用来控制字体旋转缩放) +## sudo mkfontdir (创建雅黑字体的fonts.dir文件,它用来控制字体粗斜体产生) +## sudo fc-cache -fv (建立字体缓存信息,也就是让系统认识雅黑) + > 来自 <[http://blog.csdn.net/caib1109/article/details/51764196](http://blog.csdn.net/caib1109/article/details/51764196)> \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/Ubuntu 16.04 wordpress环境搭建.md b/实践积累/个人知识库/Linux/Ubuntu 16.04 wordpress环境搭建.md new file mode 100755 index 0000000..e3adfd9 --- /dev/null +++ b/实践积累/个人知识库/Linux/Ubuntu 16.04 wordpress环境搭建.md @@ -0,0 +1,2 @@ +**阿里云下Ubuntu16下LAMP+wordpress建站记录** + > 来自 <[http://blog.csdn.net/code12hour/article/details/63691403](http://blog.csdn.net/code12hour/article/details/63691403)> \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/Ubuntu ftp使用.md b/实践积累/个人知识库/Linux/Ubuntu ftp使用.md new file mode 100755 index 0000000..cd2116b --- /dev/null +++ b/实践积累/个人知识库/Linux/Ubuntu ftp使用.md @@ -0,0 +1,61 @@ +## 搞了下**==FTP****服务器,基本上能遇到的问题都遇到了****-****。**==-! +## 先说步骤====: +## 1.**==安装****vsftpd**==软件包 +sudo apt-get install vsftpd +## 2.====打开配置文件 +vim /etc/vsftpd.conf +## 3.====修改参数 +## 一些参数可以去掉注释激活,为了方便,你也可以注释全部,然后添加下面的设置 + +[![Exported image](Exported%20image%2020260407231630-0.gif)](javascript:void\(0\);) + +# 这些设置系统默认是开启的,可以不管listen=NOlisten_ipv6=YESdirmessage_enable=YESuse_localtime=YESxferlog_enable=YESconnect_from_port_20=YES +# 下面的就要自定义设置了,建议系统默认的不管,然后复制下面的 +# 是否允许匿名访问,NO为不允许anonymous_enable=NO#是否允许本地用户访问,就是linux本机中存在的用户,YES允许local_enable=YES#是否开启写模式,YES为开启write_enable=YES#新建文件权限,一般设置为022,那么新建后的文件的权限就是777-022=755local_umask=022 +# 是否启动userlist为通过模式,YES的话只有存在于userlist文件中的用户才能登录ftp(可以理解为userlist是一个白名单),NO的话,白名单失效,和下面一个参数配合使用userlist_enable=YES#是否启动userlist为禁止模式,YES表示在userlist中的用户禁止登录ftp(黑名单),NO表示黑名单失效,我们已经让userlist作为一个白名单,所以无需使用黑名单功能userlist_deny=NO#指定哪个文件作为userlist文件,我们稍后编辑这个文件userlist_file=/etc/vsftpd.user_list +# 是否限制本地所有用户切换根目录的权限,YES为开启限制,即登录后的用户不能访问ftp根目录以外的目录,当然要限制啦chroot_local_user=YES#是否启动限制用户的名单list为允许模式,上面的YES限制了所有用户,可以用这个名单作为白名单,作为例外允许访问ftp根目录以外chroot_list_enable=YES#设置哪个文件是list文件,里面的用户将不受限制的去访问ftp根目录以外的目录chroot_list_file=/etc/vsftpd.chroot_list#是否开启写模式,开启后可以进行创建文件夹等写入操作allow_writeable_chroot=YES +# 设置ftp根目录的位置,这个文件我们稍后自己创建local_root=/var/myftp + +[![Exported image](Exported%20image%2020260407231632-1.gif)](javascript:void\(0\);) + +## 重启====vsftpd + +sudo /etc/init.d/vsftpd restart + +## 4.**==添加****ftp**==用户 +## 顺便将将用户目录设置为我们上面的**==ftp**==根目录 +sudo useradd -d /var/myftp ftpuser +## 设置用户密码 +sudo passwd ftpuser +## 5.====创建需要的文件,设置文件夹权限 +## 上面我们指定了两个文件,**==userlist****文件和****list**==文件,有时候系统不会自动创建,你要自己创建 +vim /etc/vsftpd.user_list +## 然后添加**==ftpuser**==进去作为白名单的一员 +vim /etc/vsftpd.chroot_list +## 设为空即可 +## 创建用户文件夹,设置权限 +mkdir /var/myftp +## 权限设置可以根据你的使用场景来设置,我这里在根目录下禁止此用户写,然后下面建两个文件夹,一个**==download****只允许读取,****upload**==允许写和读 + + +[![Exported image](Exported%20image%2020260407231638-2.gif)](javascript:void\(0\);) + +chmod 555 /var/myftpcd /var/myftpmkdir uploadchmod 755 uploadmkdir downloadchmod 555 download + +[![Exported image](Exported%20image%2020260407231642-3.gif)](javascript:void\(0\);) + + +## 最后检查一下文件所有者,都改为====ftpuser +## 6.**==使用****ftp**==,解决各种问题 +## linux**==访问输入****ftp** **加** **你的**==IP +ftp xxx.xxx.xxx.xxx +## 输入用户名**==ftpuser**==和密码 +## 如果登录出现**==530**==错误: +vim /etc/pam.d/vsftpd +## 注释掉====#auth   required    pam_shells.so +## 然后**==ls**==一下,如果失败了,切换到被动模式即可 +passive mode +## 然后**==mkdir****一下发现无法创建文件夹** ==550 create directory operation failed +setsebool -P ftpd_disable_trans on/etc/init.d/vsftpd restart +## 即可 + > 来自 <[https://www.cnblogs.com/dupengcheng/p/6790143.html](https://www.cnblogs.com/dupengcheng/p/6790143.html)> \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/Ubuntu管理apache2.md b/实践积累/个人知识库/Linux/Ubuntu管理apache2.md new file mode 100755 index 0000000..b3e8ce1 --- /dev/null +++ b/实践积累/个人知识库/Linux/Ubuntu管理apache2.md @@ -0,0 +1,21 @@ +1. 首先,安装Apache2,安装命令:sudo apt-get install apache2 +[![UbuntuApache2](Exported%20image%2020260407231508-0.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=1)3.  安装完成后,进入到/etc/apache2中(根据自己的实际安装目录),这边我配置文件在/etc/apache2中。 我们看到没有想象中的httpd.conf配置文件,这里要说明的是apache2的配置文件是apache2.conf,而不是http.conf。 打开apache2.conf。写入两条语句ServerName localhostDirectoryIndex index.html index.htm index.php这里的ServerName localhost是为了防止最后开启apache2服务的时候会提示DNS出错。DirectoryIndex index.html index.htm index.php是默认目录的写法。保存退出。可以在apache2.conf中加入  AddDefaultCharset GB2312    设置默认字符集,定义服务器返回给客户机默认字符集(由于西欧UTF-8是Apache默认字符集,因此当访问有中文的网页时会出现乱码,这时只要将字符集改成GB2312,再重启Apache服务即可)Listen 192.168.1.1:80       设置监听ip是192.168.1.1的地址和端口为80Listen 192.168.1.2:8080     设置监听ip是192.168.1.2的地址和端口为8080Alias /down    "/sofТWare /download"   创建虚拟目录(创建名为down的虚拟目录,它对应的物理路径是:/sofТWare /download)Alias /ftp     "/var/ftp"                创建虚拟目录(创建名为ftp的虚拟目录,它对应的物理路径是:/var/ftp)       设置目录权限(此次写设置目录权限的语句)      Options FollowSymLinks        page:116      AllowOverride None +[![UbuntuApache2](Exported%20image%2020260407231510-1.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=2) +[![UbuntuApache2](Exported%20image%2020260407231513-2.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=3)7.  需要说明的是,在apache2中,根设置(默认主目录)在 /etc/apache2/sites-АVailable/default中,我们打开default,进行配置。如图,这里我们的默认主目录设置的路径是/var/www,文档最上方的VirtualHost后方的*代表通配符,即表示所有本机ip地址,监听端口为80,ServerName填写你注册的域名,没有可以不填。保存退出。 +[![UbuntuApache2](Exported%20image%2020260407231515-3.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=4) +[![UbuntuApache2](Exported%20image%2020260407231517-4.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=5)11.   至此,基本配置已经全部完成,查看本机ip地址。输入启用apache2的命令:/etc/init.d/apache2 restart.并在浏览器中输入本机ip地址。成功! +[![UbuntuApache2](Exported%20image%2020260407231522-5.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=6) +[![UbuntuApache2](Exported%20image%2020260407231525-6.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=7) +[![UbuntuApache2](Exported%20image%2020260407231527-7.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=8) + +## END +注意事项 + +18. 配置文件从httpd.conf变成了apache2.con > 来自 <[https://jingyan.baidu.com/article/9158e0006581d1a2541228b5.html](https://jingyan.baidu.com/article/9158e0006581d1a2541228b5.html)> + [![UbuntuApache2](Exported%20image%2020260407231553-8.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=1)[![UbuntuApache2](Exported%20image%2020260407231559-9.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=2) + [![UbuntuApache2](Exported%20image%2020260407231602-10.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=3)[![UbuntuApache2](Exported%20image%2020260407231605-11.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=4) + [![UbuntuApache2](Exported%20image%2020260407231610-12.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=5)[![UbuntuApache2](Exported%20image%2020260407231612-13.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=6) +[![UbuntuApache2](Exported%20image%2020260407231616-14.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=7) +[![UbuntuApache2](Exported%20image%2020260407231620-15.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=8) +> 来自 <[https://jingyan.baidu.com/article/9158e0006581d1a2541228b5.html](https://jingyan.baidu.com/article/9158e0006581d1a2541228b5.html)> +![plain aptget install apache2 aptget install libapa...](Exported%20image%2020260407231623-16.png) \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/Ubuntu管理mysql.md b/实践积累/个人知识库/Linux/Ubuntu管理mysql.md new file mode 100755 index 0000000..202db58 --- /dev/null +++ b/实践积累/个人知识库/Linux/Ubuntu管理mysql.md @@ -0,0 +1,304 @@ +一). ubuntu下mysql安装布局: +/usr/bin                      客户端程序和mysql_install_db +/db                             数据库和日志文件 +/var/run mysqld        服务器 +/etc/mysql mysql       配置文件my.cnf +/usr/share/mysql       字符集,基准程序和错误消息 +/etc/init.d/mysql        启动mysql服务器 +二). 设置mysql服务器随开关机自动启动和关闭: +系统 -> 系统管理 -> 服务 +进行到“服务设置”窗口后,激活mysql数据库服务即可 +三). 修改mysql数据库文件的存储目录: +MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步: +1、home目录下建立data目录 +## cd /home +## mkdir data +2、把MySQL服务进程停掉: +## mysqladmin -u root -p shutdown +3、把/var/lib/mysql整个目录移到/home/data +## mv /var/lib/mysql** **/home/data/ +这样就把MySQL的数据文件移动到了/home/data/mysql下 +4、找到my.cnf配置文件 +如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下: +## [root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf** **/etc/my.cnf +5、编辑MySQL的配置文件/etc/my.cnf +为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。操作如下: +## vi**  **my.cnf**  **(**==用****vi****工具编辑****my.cnf****文件,找到下列数据修改之**==) +## # The MySQL server +## [mysqld]**  **port** **= 3306 +## #socket**  **= /var/lib/mysql/mysql.sock**==(原内容,为了更稳妥用****“#”**==注释此行) +## socket**  **= /home/data/mysql/mysql.sock** **(加上此行) +6、修改MySQL启动脚本/etc/init.d/mysql +最后,需要修改MySQL启动脚本/etc/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。 +## [root@test1 etc]# vi** **/etc/init.d/mysql +## #datadir=/var/lib/mysql====(注释此行) +## datadir=/home/data/mysql** **(加上此行) +7、重新启动MySQL服务 +/etc/init.d/mysql start(启动:sudo /etc/init.d/mysql start 停止:sudo /etc/init.d/mysql stop 重启:sudo /etc/init.d/mysql restart) +或用reboot命令重启Linux +如果工作正常移动就成功了,否则对照前面的7步再检查一下。还要注意目录的属主和权限。 +四). 配置mysql数据库的INNODB存储引擎: +1 . 查看mysql存储引擎情况: 登录mysql数据库,在mysql>提示符下搞入show engines;命令。发现: InnoDB | YES,说明此mysql数据库服务器支持InnoDB引擎。 +2. 设置InnoDB为默认引擎:在配置文件my.cnf中的 [mysqld] 下面加入default-storage-engine=INNODB 一句,保存。 +3. 重启mysql服务器:mysqladmin -u root -p shutdown(回车),sudo /etc/init.d/mysql start(回车)。 +4. 登录mysql数据库,在mysql>提示符下搞入show engines;命令。如果出现 InnoDB |DEFAULT,则表示我们 设置InnoDB为默认引擎成功。 +ps: 这里我用重启命令sudo /etc/init.d/mysql restart,出现错误信息, 所以用了上面(步骤3)那种关闭服务又启动的笨方法。 +五)、MYSQL数据库表大小写问题 +vi /etc/mysql/my.cnf +在[mysqld]后添加 +lower_case_table_names=0 区分大小写 +lower_case_table_names=1 不区分大小写 +重启MYSQL服务 +MYSQL在LINUX下数据库名、表名、列名、别名大小写规则如下: +1.数据库名与表名是严格区分大小写的 +2.表的别名是严格区分大小写的 +3.列名与列的别名在所有的情况下均是忽略大小写的 +4.变量名也是严格区分大小写的 +MYSQL在WINDOWS下都不区分大小写 +六)、管理Mysql +1、删除 mysql + +1 sudo apt-get autoremove --purge mysql-server-5.0 +2 sudo apt-get remove mysql-server +3 sudo apt-get autoremove mysql-server +4 sudo apt-get remove mysql-common (非常重要) +上面的其实有一些是多余的,建议还是按照顺序执行一遍 + +清理残留数据 + +dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P +## 2、安装 mysql==== +1 sudo apt-get install mysql-server +2 sudo apt-get install mysql-client +3 sudo apt-get install php5-mysql(安装php5-mysql 是将php和mysql连接起来 ) +##  +## 一旦安装完成,MySQL 服务器应该自动启动。您可以在终端提示符后运行以下命令来检查 MySQL 服务器是否正在运行:==== +1 sudo netstat -tap | grep mysql + +当您运行该命令时,您可以看到类似下面的行: +tcp 0 0 localhost.localdomain:mysql *:* LISTEN - +如果服务器不能正常运行,您可以通过下列命令启动它: +1 sudo /etc/init.d/mysql restart + +3、进入mysql +$mysql -u root -p 管理员密码 +配置 MySQL 的管理员密码: +1 sudo mysqladmin -u root password newpassword +[MySQL 导入慢的解决方法](http://www.gagahappy.com/mysqldump-import-slow/) +MySQL导出的SQL语句在导入时有可能会非常非常慢。在导出时合理使用几个参数,可以大大加快导 入的速度。 +-e 使用包括几个VALUES列表的多行INSERT语法; +–max_allowed_packet=XXX 客户端/服务器之间通信的缓存区的最大大小; +–net_buffer_length=XXX TCP/IP和套接字通信缓冲区大小,创建长度达net_buffer_length的行。 +注意:max_allowed_packet和net_buffer_length不能比目标数据库的设定数值 大,否则可能出错。 +首先确定目标库的参数值 +mysql>show variables like ‘max_allowed_packet’; +mysql>show variables like ‘net_buffer_length’; +根据参数值书写mysqldump命令,如: +E:\eis>mysqldump -uroot -p eis_db goodclassification -e –max_allowed_packet=1048576 –net_buffer_length=16384 >good3.sql +## 三**==.**==从数据库导出数据库文件: +## 1.**==将数据库****mydb****导出到****e:\mysql\mydb.sql**==文件中: +## 打开开始**==->****运行****->****输入****cmd**    ==进入命令行模式 +## c:\>mysqldump -h localhost -u root -p mydb >e:\mysql\mydb.sql +## 然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功。 +## 2.**==将数据库****mydb****中的****mytable****导出到****e:\mysql\mytable.sql**==文件中: +## c:\>mysqldump -h localhost -u root -p mydb mytable>e:\mysql\mytable.sql +## 3.**==将数据库****mydb****的结构导出到****e:\mysql\mydb_stru.sql**==文件中: +## c:\>mysqldump -h localhost -u root -p mydb --add-drop-table >e:\mysql\mydb_stru.sql +## 四**==.**==从外部文件导入数据到数据库中: +## 从**==e:\mysql\mydb2.sql****中将文件中的****SQL**==语句导入数据库中: +## 1.**==从命令行进入****mysql****,然后用命令****CREATE DATABASE mydb2;****创建数据库****mydb2**==。 +## 2.**==退出****mysql** **可以输入命令****exit****;或者****quit**==; +## 3.**==在****CMD**==中输入下列命令: +## c:\>mysql -h localhost -u root -p mydb2 < e:\mysql\mydb2.sql +## 然后输入密码,就**==OK**==了。 +## 五**==.**==下面谈一下关于导入文件大小限制问题的解决: +## 默认情况下:**==mysql** **对导入文件大小有限制的,最大为****2M**==,所以当文件很大时候,直接无法导入,下面就这个问题的解决列举如下: +## 1.**==在****php.ini**==中修改相关参数: +## 影响**==mysql**==导入文件大小的参数有三个: +    **memory_limit=128M,upload_max_filesize=2M,post_max_size=8M** +## 修改**==upload_max_filesize=200 M**  ==这里修改满足你需要的大小, +## 可以同时修改其他两项====memory_limit=250M  post_max_size=200M +## 这样就可以导入**==200M****以下的****.sql**==文件了 + > 来自 <[http://blog.csdn.net/qingrx/article/details/7987030](http://blog.csdn.net/qingrx/article/details/7987030)> +![rootcocomap u mysqladmin u root p version Enter pa...](Exported%20image%2020260407231450-0.png) + +![ysql show databases Sg Database I information perf...](Exported%20image%2020260407231452-1.png) + +进入mysql +$mysql -u root -p 管理员密码 +## 进入MySQL Command line client下 + +## 查看当前使用的数据库: +## mysql>select database(); +## mysql>status; +## mysql>show tables; +## mysql>show databases;//可以查看有哪些数据库,返回数据库名(databaseName) +## mysql>use databaseName;  //更换当前使用的数据库 +## mysql>show tables; //返回当前数据库下的所有表的名称 +## 或者也可以直接用以下命令 +## mysql>show tables from databaseName;//databaseName可以用show databases得来 +## mysql查看表结构命令,如下: +## desc 表名; +## show columns from 表名; +## 或者 +## describe 表名; +## show create table 表名; +## 或者 +## use information_schema +## select * from columns where table_name='表名'; +## 查看警告: +## Rows matched: 1  Changed: 0  Warnings: 1 +## mysql> show warnings; + > 来自 <[http://database.51cto.com/art/201011/234471.htm](http://database.51cto.com/art/201011/234471.htm)> + + +![mysql use wordpress Database changed mysql show ta...](Exported%20image%2020260407231457-2.png) ![4. 4. aptget install mysqlserver aptget install ph...](Exported%20image%2020260407231502-3.png) + +4]如何创建和删除一个数据库? + +比如我要创建一个名为linux的数据库,应该运行如下命令 + +mysql> create database [数据库名]; + +所以我们应该运行如下的命令,来创建名为linux的数据库 + +mysql> create database linux; +Query OK, 1 row affected (0.00 sec) + +是不是建好了呢??肯定是建好了,因为都有OK了:) + +查看是不是有linux这个数据库了呢? + +代码: +mysql> show databases; ++----------+ +| Database | ++----------+ +| linux | +| mysql | +| test | ++----------+ +3 rows in set (0.00 sec) + +那我们如何删除一个数据库呢?? +mysql> drop database [数据库名]; + +比如我们要把刚才创建的linux数据库删除,应该用下面的命令; +mysql> drop database linux; +Query OK, 0 rows affected (0.00 sec) + +是不是已经删除了呢?? + +代码: +mysql> show databases; ++----------+ +| Database | ++----------+ +| mysql | +| test | ++----------+ +2 rows in set (0.00 sec) + +5]如何操作一个数据库呢,这个问题就比较多了,建议还是看一下mysql的手册吧。里面的东西太多了。如果操作一个数据库,首先是要指定一个数据库为当前数据库,应该用use命令 + +mysql>use [数据库]; + +比如我想指定linux这个数据库为当前数据库,应该是 + +mysql> use linux; +Database changed + +6]如何备份数据库?? + +比如我们要备份mysql中已经存在的名为linux的数据库,要用到命令mysqldump + +命令格式如下: + +shell> mysqldump -uroot -p linux > /root/linux.sql +Enter password:在这里输入数据库的密码 + +通过上面的命令,我们要明白两件事,首先备份数据库是要以数据库管理员的身份备份;其次:备份目的地是/root,备份的文件名是linux.sql。其实备份的位置和文件名,根据自己的情况来定。文件名可以自己来取,路径也可以自己来安排; + +比如我想把linux的数据库备份到/home/beinan,数据库的文件名为linuxsir031130.sql,所以应该输入如下的命令。 +shell> mysqldump -uroot -p linux > /home/beinan/linuxsir031130.sql +Enter password:在这里输入数据库管理员root的数据库密码 + +这样我们到/home/beinan目录下就能发现mysql中名为linux的数据库的备份文件linuxsir031130.sql + +综上所述,我们学习时要学会变通。:):) + +5]如何把把备份的数据库导入到数据库中? + +首先我们还是要操作上面几个过程,比如添加数据库管理员(如果您没有添加过mysql数据库管理员的话),创建数据库等。 + +比如我们要把在/home/beinan这个目录中的linuxsir031130.sql这个备份,导入名为linux的数据库中,应该如下操作; + +shell> mysql -uroot -p linux < /home/beinan/linuxsir031130.sql +Enter password:在这里输入密码 + +如果机器好,数据库比较小,几分钟就好了。 + +6]其它一些比较常用的mysql指令; + +查看状态 +mysql> show status; + +查看进程 + +代码: +mysql> show processlist; ++----+------+-----------+------+---------+------+-------+------------------+| Id | User | Host | db | Command | Time | State | Info | ++----+------+-----------+------+---------+------+-------+------------------+| 16 | root | localhost | NULL | Query | 0 | NULL | show processlist | ++----+------+-----------+------+---------+------+-------+------------------+ +1 row in set (0.00 sec) + +查看表,应该先指定一个数据库为当前数据库;比如是名为linux的数据库; + +mysql>use linux; +mysql> show tables; +Empty set (0.00 sec) + +7]对mysql数据库常用命令的一点补充; + +几个常用的mysql相关的管理命令 + +mysql 命令:基本文本的,显示和使用的mysql数据库。前面已经简单的提过用法;比如登录等。 + +mysqladmin 命令,用来创建和维护mysql数据库的命令,前面已经简单的提过; + +isamchk 是用来修复、检查和优化.ism后缀的数据库文件; + +mysqldump 是用于备份数据库,前面已经简单的说明过; + +myisamchk 用来修复.myi后缀的数据库文件; + +比如我们要检查名为linux的数据库.myi数据库表是否存在问题,应该用下面的命令; + +要把mysqld服务器停下来 +shell> ../share/mysql.server stop + +然后执行 +shell> myisamchk ../var/linux/*.MYI + +上面的命令的意思就是检查所有的.myi文件,数据库的目录在../var/linux/目录中 + +如果有问题,应该用-r参数来修复 +shell> myisamchk -r ../var/linux/*.MYI + +6]mysqlshow 命令:显示用户选择的数据库和表 +shell> mysqlshow -uroot -p [数据库名] + +比如我要查看名为linux的数据库;应该是: + +shell> mysqlshow -uroot -p linux + +好了,到这里,你可能已经知道命令行下的所有基本操作了~ + +ps:补充一个。。 + +更改ROOT帐号名。 + +```sql +update set user="新名字" where user="旧名字"; +``` + > 来自 <[http://blog.csdn.net/princewong/article/details/2003658](http://blog.csdn.net/princewong/article/details/2003658)> \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/Ubuntu管理php.md b/实践积累/个人知识库/Linux/Ubuntu管理php.md new file mode 100755 index 0000000..70ef392 --- /dev/null +++ b/实践积累/个人知识库/Linux/Ubuntu管理php.md @@ -0,0 +1,18 @@ +安装php7(我这里装了好多,我也不知道哪些是非必需的) +[plain] view plain copy +apt-get install php7.0 php7.0-curl php7.0-gd php7.0-json php7.0-opcache php7.0-xml mcrypt php7.0-curl php7.0-cgi php7.0-xmlrpc php7.0-gd php-pear + +重启apache2和mysql +[plain] view plain copy +systemctl restart apache2 +systemctl restart mysql + +测试php和apache2 +[plain] view plain copy +vim /var/www/html/info.php +输入 +[php] view plain copy + +保存后访问你的域名或者公网ip:your_server_ip/info.php,看看有没有对应的信息,有就说明成功了。 \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/Ubuntu管理wordpress.md b/实践积累/个人知识库/Linux/Ubuntu管理wordpress.md new file mode 100755 index 0000000..7f2983f --- /dev/null +++ b/实践积累/个人知识库/Linux/Ubuntu管理wordpress.md @@ -0,0 +1,82 @@ +WordPress的安装与配置 +下载wordpress: +[plain] view plain copy +wget https://wordpress.org/latest.zip +安装unzip: +[plain] view plain copy +apt-get install unzip +解压和后续操作 +[plain] view plain copy +unzip -q latest.zip -d /var/www/html/ +cd /var/www/html/wordpress +cp -a * .. +rm -r wordpress/ +chown www-data:www-data -R /var/www/html/ +创建上传目录: +[plain] view plain copy +mkdir -p /var/www/html/wp-content/uploads +chown www-data:www-data -R /var/www/html/wp-content/uploads + +mysql相关操作 +创建mysql账户: +[plain] view plain copy +mysql -u root -p +[sql] view plain copy +```sql +CREATE DATABASE wordpress character set utf8 collate utf8_bin; +``` +GRANT ALL PRIVILEGES on wordpress.* to 'wpuser'@'localhost' identified by 'your_password'; +FLUSH PRIVILEGES; +exit + +编辑配置文件 +[plain] view plain copy +cd /var/www/html +mv wp-config-sample.php wp-config.php +vim wp-config.php +[plain] view plain copy +/** The name of the database for WordPress */ +define('DB_NAME', 'wordpress'); /** MySQL database username */ +define('DB_USER', 'wpuser'); /** MySQL database password */ +define('DB_PASSWORD', 'your_password'); /** MySQL hostname */ +define('DB_HOST', 'localhost'); + +设置固定链接: +如果是设置了虚拟主机的话,这部分可能和下面的操作不一样,我也不太清楚,可以去google搜一下 +[plain] view plain copy +vim /etc/apache2/sites-available/000-default.conf +[plain] view plain copy +[...] +ServerAdmin webmaster@localhost +DocumentRoot /var/www/html +ServerName server1.example.com + +AllowOverride All + +[...] +就是在里面添加上ServerName到这一段 +允许URL的重写以及Apache2的重启 +[plain] view plain copy +a2enmod rewrite +service apache2 restart +创建.htaccess文件 +[plain] view plain copy +touch /var/www/html/.htaccess +chown :www-data /var/www/html/.htaccess +chmod 664 /var/www/html/.htaccess + +添加wordpress安全保护(其实我也不太懂具体作用) +访问 https://api.wordpress.org/secret-key/1.1/salt/, +然后打开wp-config.php +[plain] view plain copy +vim /var/www/html/wp-config.php +[plain] view plain copy +define('AUTH_KEY', 'put your unique phrase here'); +define('SECURE_AUTH_KEY', 'put your unique phrase here'); +define('LOGGED_IN_KEY', 'put your unique phrase here'); +define('NONCE_KEY', 'put your unique phrase here'); +define('AUTH_SALT', 'put your unique phrase here'); +define('SECURE_AUTH_SALT', 'put your unique phrase here'); +define('LOGGED_IN_SALT', 'put your unique phrase here'); +define('NONCE_SALT', 'put your unique phrase here'); +将其对应填入。 \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/Untitled-20260407231646.md b/实践积累/个人知识库/Linux/Untitled-20260407231646.md new file mode 100755 index 0000000..e69de29 diff --git a/实践积累/个人知识库/Linux/Vim命令合集.md b/实践积累/个人知识库/Linux/Vim命令合集.md new file mode 100755 index 0000000..0eba4d5 --- /dev/null +++ b/实践积累/个人知识库/Linux/Vim命令合集.md @@ -0,0 +1,175 @@ +**命令历史** +以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。 +**启动vim** +在命令行窗口中输入以下命令即可 +vim 直接启动vim +vim filename 打开vim并创建名为filename的文件 +**文件命令** +打开单个文件 +vim file +同时打开多个文件 +vim file1 file2 file3 ... +在vim窗口中打开一个新文件 +:open file +在新窗口中打开文件 +:split file +切换到下一个文件 +:bn +切换到上一个文件 +:bp +查看当前打开的文件列表,当前正在编辑的文件会用[]括起来。 +:args +打开远程文件,比如ftp或者share folder +:e [ftp://192.168.10.76/abc.txt](ftp://192.168.10.76/abc.txt) +:e [\\qadrive\test\1.txt](file:///\\qadrive\test\1.txt) +**vim的模式** +正常模式(按Esc或Ctrl+[进入) 左下角显示文件名或为空 +插入模式(按i键进入) 左下角显示--INSERT-- +可视模式(不知道如何进入) 左下角显示--VISUAL-- +**导航命令** +% 括号匹配 +**插入命令** +i 在当前位置生前插入 +I 在当前行首插入 +a 在当前位置后插入 +A 在当前行尾插入 +o 在当前行之后插入一行 +O 在当前行之前插入一行 +**查找命令** +/text  查找text,按n健查找下一个,按N健查找前一个。 +?text  查找text,反向查找,按n健查找下一个,按N健查找前一个。 +vim中有一些特殊字符在查找时需要转义  .*[]^%/?~$ +:set ignorecase  忽略大小写的查找 +:set noignorecase  不忽略大小写的查找 +查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或#键即可以该单词进行搜索,相当于/搜索。而#命令相当于?搜索。 +:set hlsearch  高亮搜索结果,所有结果都高亮显示,而不是只显示一个匹配。 +:set nohlsearch  关闭高亮搜索显示 +:nohlsearch  关闭当前的高亮显示,如果再次搜索或者按下n或N键,则会再次高亮。 +:set incsearch  逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成。 +:set wrapscan  重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。 +**替换命令** +ra 将当前字符替换为a,当期字符即光标所在字符。 +s/old/new/ 用old替换new,替换当前行的第一个匹配 +s/old/new/g 用old替换new,替换当前行的所有匹配 +%s/old/new/ 用old替换new,替换所有行的第一个匹配 +%s/old/new/g 用old替换new,替换整个文件的所有匹配 +:10,20 s/^/    /g 在第10行知第20行每行前面加四个空格,用于缩进。 +ddp 交换光标所在行和其下紧邻的一行。 +**移动命令** +h 左移一个字符 +l 右移一个字符,这个命令很少用,一般用w代替。 +k 上移一个字符 +j 下移一个字符 +以上四个命令可以配合数字使用,比如20j就是向下移动20行,5h就是向左移动5个字符,在Vim中,很多命令都可以配合数字使用,比如删除10个字符10x,在当前位置后插入3个!,3a!,这里的Esc是必须的,否则命令不生效。 +w 向前移动一个单词(光标停在单词首部),如果已到行尾,则转至下一行行首。此命令快,可以代替l命令。 +b 向后移动一个单词 2b 向后移动2个单词 +e,同w,只不过是光标停在单词尾部 +ge,同b,光标停在单词尾部。 +^ 移动到本行第一个非空白字符上。 +0(数字0)移动到本行第一个字符上, + 移动到本行第一个字符。同0健。 +$ 移动到行尾 3$ 移动到下面3行的行尾 +gg 移动到文件头。 = [[ +G(shift + g) 移动到文件尾。 = ]] +f(find)命令也可以用于移动,fx将找到光标后第一个为x的字符,3fd将找到第三个为d的字符。 +F 同f,反向查找。 +跳到指定行,冒号+行号,回车,比如跳到240行就是 :240回车。另一个方法是行号+G,比如230G跳到230行。 +Ctrl + e 向下滚动一行 +Ctrl + y 向上滚动一行 +Ctrl + d 向下滚动半屏 +Ctrl + u 向上滚动半屏 +Ctrl + f 向下滚动一屏 +Ctrl + b 向上滚动一屏 +**撤销和重做** +u 撤销(Undo) +U 撤销对整行的操作 +Ctrl + r 重做(Redo),即撤销的撤销。 +**删除命令** +x 删除当前字符 +3x 删除当前光标开始向后三个字符 +X 删除当前字符的前一个字符。X=dh +dl 删除当前字符, dl=x +dh 删除前一个字符 +dd 删除当前行 +dj 删除上一行 +dk 删除下一行 +10d 删除当前行开始的10行。 +D 删除当前字符至行尾。D=d$ +d$ 删除当前字符之后的所有字符(本行) +kdgg 删除当前行之前所有行(不包括当前行) +jdG(jd shift + g)   删除当前行之后所有行(不包括当前行) +:1,10d 删除1-10行 +:11,$d 删除11行及以后所有的行 +:1,$d 删除所有行 +J(shift + j)  删除两行之间的空行,实际上是合并两行。 +**拷贝和粘贴** +yy 拷贝当前行 +nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。 +p  在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。 +shift+p 在当前行前粘贴 +:1,10 co 20 将1-10行插入到第20行之后。 +:1,$ co $ 将整个文件复制一份并添加到文件尾部。 +正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制 +ddp交换当前行和其下一行 +xp交换当前字符和其后一个字符 +**剪切命令** +正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按d即可剪切 +ndd 剪切当前行之后的n行。利用p命令可以对剪切的内容进行粘贴 +:1,10d 将1-10行剪切。利用p命令可将剪切后的内容进行粘贴。 +:1, 10 m 20 将第1-10行移动到第20行之后。 +**退出命令** +:wq 保存并退出 +ZZ 保存并退出 +:q! 强制退出并忽略所有更改 +:e! 放弃所有修改,并打开原来文件。 +**窗口命令** +:split或new 打开一个新窗口,光标停在顶层的窗口上 +:split file或:new file 用新窗口打开文件 +split打开的窗口都是横向的,使用vsplit可以纵向打开窗口。 +Ctrl+ww 移动到下一个窗口 +Ctrl+wj 移动到下方的窗口 +Ctrl+wk 移动到上方的窗口 +关闭窗口 +:close 最后一个窗口不能使用此命令,可以防止意外退出vim。 +:q 如果是最后一个被关闭的窗口,那么将退出vim。 +ZZ 保存并退出。 +关闭所有窗口,只保留当前窗口 +:only +录制宏 +按q键加任意字母开始录制,再按q键结束录制(这意味着vim中的宏不可嵌套),使用的时候@加宏名,比如qa。。。q录制名为a的宏,@a使用这个宏。 +**执行shell命令** +:!command +:!ls 列出当前目录下文件 +:!perl -c script.pl 检查perl脚本语法,可以不用退出vim,非常方便。 +:!perl script.pl 执行perl脚本,可以不用退出vim,非常方便。 +:suspend或Ctrl - Z 挂起vim,回到shell,按fg可以返回vim。 +**注释命令** +perl程序中#开始的行为注释,所以要注释某些行,只需在行首加入# +3,5 s/^/#/g 注释第3-5行 +3,5 s/^#//g 解除3-5行的注释 +1,$ s/^/#/g 注释整个文档。 +:%s/^/#/g 注释整个文档,此法更快。 +**帮助命令** +:help or F1 显示整个帮助 +:help xxx 显示xxx的帮助,比如 :help i, :help CTRL-[(即Ctrl+[的帮助)。 +:help 'number' Vim选项的帮助用单引号括起 +:help 特殊键的帮助用<>扩起 +:help -t Vim启动参数的帮助用- +:help i_ 插入模式下Esc的帮助,某个模式下的帮助用模式_主题的模式 +帮助文件中位于||之间的内容是超链接,可以用Ctrl+]进入链接,Ctrl+o(Ctrl + t)返回 +**其他非编辑命令** +. 重复前一次命令 +:set ruler?  查看是否设置了ruler,在.vimrc中,使用set命令设制的选项都可以通过这个命令查看 +:scriptnames  查看vim脚本文件的位置,比如.vimrc文件,语法文件及plugin等。 +:set list 显示非打印字符,如tab,空格,行尾等。如果tab无法显示,请确定用set lcs=tab:>-命令设置了.vimrc文件,并确保你的文件中的确有tab,如果开启了expendtab,那么tab将被扩展为空格。 +Vim教程 +在Unix系统上 +$ vimtutor +在Windows系统上 +:help tutor + +:syntax 列出已经定义的语法项 +:syntax clear 清除已定义的语法规则 +:syntax case match 大小写敏感,int和Int将视为不同的语法元素 +:syntax case ignore 大小写无关,int和Int将视为相同的语法元素,并使用同样的配色方案 + > 来自 <[https://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html](https://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html)> \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/centos支持rz、sz命令.md b/实践积累/个人知识库/Linux/centos支持rz、sz命令.md new file mode 100755 index 0000000..14b4c70 --- /dev/null +++ b/实践积累/个人知识库/Linux/centos支持rz、sz命令.md @@ -0,0 +1,12 @@ +**centos支持rz、sz命令** + +yum install lrzsz + + +rz的用法 +在命令终端输入rz回车后,就会出现文件选择对话框,选择需要上传文件,一次可以指定多个文件,上传到服务器的路径为当前执行rz命令的目录。 +如图;选择要上传的文件–Add–OK + +s +sz的用法 +sz命令可以单下载一个文件,也可以多个文件同时下载 \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/mysql用户权限设置.md b/实践积累/个人知识库/Linux/mysql用户权限设置.md new file mode 100755 index 0000000..40240ca --- /dev/null +++ b/实践积累/个人知识库/Linux/mysql用户权限设置.md @@ -0,0 +1,28 @@ +## 关于**==mysql**==的用户管理,笔记 + +## 1====、创建新用户 +## 通过**==root**==用户登录之后创建 +## >>** **grant all privileges on *.* to** **testuser**==@localhost identified by** **"123456"** **;**  **//**  **创建新用户,用户名为****testuser****,密码为****123456** ==; +## >>** **grant all privileges on *.* to** **testuser**==@localhost identified by** **"123456"** **;**  **//**  **设置用户****testuser****,可以在本地访问**==mysql +## >>** **grant all privileges on *.* to** **testuser**==@"%" identified by** **"123456"** **;**   **//**  **设置用户****testuser****,可以在远程访问**==mysql +## >>** **flush privileges** **;**  **//**  **mysql** **新设置用户或更改密码后需用**==flush privileges****刷新****MySQL****的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动****mysql**==服务器,来使新设置生效 +## 2====、设置用户访问数据库权限 +## >>** **grant all privileges on** **test_db.*** **to** **testuser@localhost identified by "123456" ;**  **//**  **设置用户**==testuser****,只能访问数据库****test_db****,其他数据库均不能访问** ==; +## >>** **grant all privileges on** ***.*** **to** **testuser@localhost identified by "123456" ;**  **//**  **设置用户**==testuser****,可以访问****mysql****上的所有数据库** ==; +## >>** **grant all privileges on** **test_db.user_infor** **to** **testuser@localhost identified by "123456" ;**  **//**  **设置用户**==testuser****,只能访问数据库****test_db****的表****user_infor****,数据库中的其他表均不能访问** ==; +## 3====、设置用户操作权限 +## >>** **grant** **all privileges** **on *.* to** **testuser@localhost identified by "123456" WITH GRANT OPTION** **;**  **//**==设置用户****testuser****,拥有所有的操作权限,也就是管理员** ==; +## >> grant** **select** **on *.* to** **testuser@localhost identified by "123456" WITH GRANT OPTION** **;**  **//**==设置用户****testuser****,只拥有【查询】操作权限** ==; +## >>** **grant** **select,insert** **on *.* to** **testuser@localhost identified by "123456"**  **;**  **//**==设置用户****testuser****,只拥有【查询****\****插入】操作权限** ==; +## >>** **grant** **select,insert,update,delete** **on *.* to** **testuser@localhost identified by "123456"**  **;**  **//**==设置用户****testuser****,只拥有【查询****\****插入】操作权限** ==; +## >>** **REVOKE** **select,insert** **ON what FROM** **testuser**==//****取消用户****testuser****的【查询****\****插入】操作权限** ==; +## 4====、设置用户远程访问权限 +## >>** **grant all privileges on *.* to** **testuser@**==“192.168.1.100”** **identified by** **"123456"** **;**  **//****设置用户****testuser****,只能在客户端****IP****为****192.168.1.100****上才能远程访问****mysql** ==; +## 5**==、关于****root**==用户的访问设置 +## 设置所有用户可以远程访问**==mysql****,****修改****my.cnf****配置文件,将****bind-address = 127.0.0.1****前面加****“#”****注释掉****,这样就可以允许其他机器远程访问本机****mysql**==了; +## >>** **grant all privileges on *.* to** **root@"%" identified by** **"123456"** **;**   **//**  **设置用户**==root****,可以在远程访问**==mysql +## >>** **select host,user from user;**   **//**==查询****mysql**==中所有用户权限 +## 关闭**==root**==用户远程访问权限 +## >>** **delete from user where user="root" and host="%" ;**  **//**==禁止****root****用户在远程机器上访问**==mysql +## >>** **flush privileges** **;**  **//**==修改权限之后,刷新****MySQL**==的系统权限相关表方可生效 + > 来自 <[https://www.cnblogs.com/candle806/p/4048651.html](https://www.cnblogs.com/candle806/p/4048651.html)> \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/ubuntu中管理用户和用户组.md b/实践积累/个人知识库/Linux/ubuntu中管理用户和用户组.md new file mode 100755 index 0000000..7c2ba11 --- /dev/null +++ b/实践积累/个人知识库/Linux/ubuntu中管理用户和用户组.md @@ -0,0 +1,20 @@ +1. 添加一个用户组并指定id为1002 +sudo groupadd -g 1002 www + +2. 添加一个用户到www组并指定id为1003 +sudo useradd wyx -g 1002 -u 1003 -m + +3. 修改用户的密码 +sudo passwd wyx + +4. 删除一个用户 +sudo userdel wyx + +5. 为该用户添加sudo权限 +sudo usermod -a -G adm wyx +sudo usermod -a -G sudo wyx + +6. 查看所有用户和用户组: +cat /etc/passwd +cat /etc/group + > 来自 <[https://www.cnblogs.com/vincedotnet/p/4017574.html](https://www.cnblogs.com/vincedotnet/p/4017574.html)> \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/ubuntu查看进程.md b/实践积累/个人知识库/Linux/ubuntu查看进程.md new file mode 100755 index 0000000..1e7d365 --- /dev/null +++ b/实践积累/个人知识库/Linux/ubuntu查看进程.md @@ -0,0 +1,7 @@ +netstat –tln //查看服务监听端口 +netstat      //查看进程号 +ps –aux     //查看进程号 +ps –aux | more //全部查看 +ps –ef | grep mysql //查看mysql的进程 +kill -9 3306 //强制杀掉进程号3306 + > 来自 <[http://blog.sina.com.cn/s/blog_64492fe10100qqk3.html](http://blog.sina.com.cn/s/blog_64492fe10100qqk3.html)> \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/前言.md b/实践积累/个人知识库/Linux/前言.md new file mode 100755 index 0000000..f9bbcbe --- /dev/null +++ b/实践积累/个人知识库/Linux/前言.md @@ -0,0 +1,9 @@ +## Linux**==提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在****Linux****系** **统上工作离不开使用系统提供的命令。要想真正理解****Linux****系统,就必须从****Linux****命令学起,通过基础的命令学习可以进一步理解****Linux**==系统。 +## 不同**==Linux****发行版的命令数量不一样,但****Linux****发行版本最少的命令也有****200**==多个。这里笔者把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个部分一一介绍。 +## ◆** **安装和登录命令:**==login****、****shutdown****、****halt****、****reboot****、****install****、****mount****、****umount****、****chsh****、****exit****、****last**==; +## ◆** **文件处理命令:**==file****、****mkdir****、****grep****、****dd****、****find****、****mv****、****ls****、****diff****、****cat****、****ln**==; +## ◆** **系统管理相关命令:**==df****、****top****、****free****、****quota****、****at****、****lp****、****adduser****、****groupadd****、****kill****、****crontab**==; +## ◆** **网络操作命令:**==ifconfig****、****ip****、****ping****、****netstat****、****telnet****、****ftp****、****route****、****rlogin****、****rcp****、****finger****、****mail****、** **nslookup**==; +## ◆** **系统安全相关命令:**==passwd****、****su****、****umask****、****chgrp****、****chmod****、****chown****、****chattr****、****sudo ps****、****who**==; +## ◆** **其它命令:**==tar****、****unzip****、****gunzip****、****unarj****、****mtools****、****man****、****unendcode****、****uudecode**==。 + > 来自 <[https://www.cnblogs.com/tangbinblog/archive/2012/10/17/2727942.html](https://www.cnblogs.com/tangbinblog/archive/2012/10/17/2727942.html)> \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/常用命令.md b/实践积累/个人知识库/Linux/常用命令.md new file mode 100755 index 0000000..38c3ea6 --- /dev/null +++ b/实践积累/个人知识库/Linux/常用命令.md @@ -0,0 +1,182 @@ +## 下载内容 + +1. **sudo apt-get insall ……** +2. **sudo apt-get undate** +3. **sudo apt-get upgrade** +4. **sudo apt-get -f install** + +## 删除命令 + +1. **rm 文件** +2. **rm -r 文件夹** + +## 移动命令 + +1. **cp 文件 最终路径** +2. **cp -r 文件夹 最终路径 (这样可以把一个文件夹的所有文件全部移到最终路径)** + > +**apt-get:** +## debian系系统的软件包管理程序(其图形化前端就是大名鼎鼎的新立得了),会自动帮你搞定依赖关系 +## 最常用参数: +## update        —-与你的软件源(在/etc/apt/sources.list中列出)更新软件包列表,换源后需要执行 +## upgrade        —-根据update得到的源软件库与本地已经安装的对比,(如果需要升级就)全部升级 +## install        —-安装软件包(可以使用tab补全软件包的名字,比较方便) +## remove        —-卸载软件包 +## purge        —-卸载软件包,同时删除该软件的配置文件 +## source        —-从源里下载软件包的源码到当前目录(执行此命令的目录)并解压(除非指定–download-only参数) +## 该地址由/etc/apt/sources.list中的 deb-src 行指定 +## check        —-用来(自动)修复(已装)软件包之间的依赖关系 +## clean        —-清除/var/cache/apt/archives/包括其子目录partial/下的所有软件包缓存 +## autoclean    —-比clean常用,我的理解是删除低版本的缓存而保留高版本的(或者包括非当前源里的软件包?) +**aptitude:** +## 此为PT同学补充,他的说法是aptitude比apt-get少个横线,tab补全比较容易(=.=)~大概神牛都比较懒吧 +## 不得不提下蛋蛋童鞋以前说过的ubuntu彩蛋:) <仅限于UBUNTU 8.04> +## man apt        —-最后会看到 “本apt有着超级牛力” or “this APT has a super-cow power” +## man aptitude    —-会看到 “这个aptitude没有超级牛力” +## 看看aptitude的参数,你就会明白为什么aptitude会标称”高级软件包管理程序”了 +## 最常用参数: +## search        —-在(你的源的)所有软件包列表中搜索该软件,search的表达式可以很复杂,具体看man +## 其余常用参数同apt-get +**cat:** +## 把(一个或多个)文件内容(连接)显示到标准输出 +## 当文本文件很小,而且你只是想看下,并不打算用gedit或者vim之类编辑器编辑的时候,可以cat一下,我是用来配合grep使用 +**cd:** +## 切换当前工作目录 +## 不同于其他命令,这是一个shell内置命令,所以没有手册页可看…够基础,所以才会出现在本篇文章中(=.=)郁闷 +## 最常用参数: +## .        —-切换到当前目录(貌似没有什么意义)(.这个目录可以通过ls -a看到) +## ..        —-切换到上层目录 +## ~        —-回到家目录(/home/你的登录名/) +**chmod****:** +## 改变文件的权限位 +## linux文件系统的权限位有两种表示方法,要是详细说下,非得累死老鼠不可=.=,所以只说8进制数表示:) +## 简要介绍下:ls -l可以显示出文件的权限,比如(-rwxr-xr–),代表了三种用户的权限 +## 第一个rwx,代表文件所有者的权限,即(读,写,执行),用二进制表示为111,代表八进制中的4+2+1=7 +## 第二个r-x,代表文件所有者同一用户组其他用户的权限,即(读, ,执行),用二进制表示为101,代表八进制中的5=4+0+1 +## 第三个r–,代表其他用户的权限,即(读, , ),二进制表示为100,代表八进制的4=4+0+0 +## 所以这个文件的权限位为754 +## 这也就是chmod的用法,例如chmod 751 myfile #将该文件权限设定为rwxr-x–x +## 最常用参数: +## -v        —-列出当前正在执行的步骤 +## -R        —-递归式,即改变非空目录下的一切为指定权限 +**cp****:** +## 拷贝文件和目录 +## 最常用参数: +## -b        —-为每个已经存在的目的文件作个备份 +## -d        —-遇到软链接时不拷贝软链接所指向的文件;拷贝时保留links属性(链接数) +## -p        —-保留文件的访问权限,所有者,和时间戳 +## -R和-r    —-递归式拷贝(cp过程遇到非空目录才有效),即拷贝目录,子目录,子目录的子目录….. +## -a        —-作用同-dpR +## -s        —-并不真的做拷贝,而只是为每个文件作软链接(符号链接) +## -u        —-同下面 mv 的-u参数 +**head, tail** +## 就像这两个名字,一个显示文件头部,一个显示尾部 +## 最常用参数: +## -n        —-指定输出的(头部或尾部)行数, 当没有此参数时,默认显示10行 +**ifconfig****:** +## 配置网卡 +## 最常用参数: +## 没有参数        —-列出当前活动网卡的状态 +## -a            —-列出所有网卡的状态 +## interface    —-指定网卡名称比如eth0 +## up            —-唤醒该网卡 +## down        —-关闭该网卡 +## arp,mtu,netmask addr,…等等很多参数 =.= +**ln****:** +## 为文件建立链接 +## linux的链接分为两种:硬链接和软链接,ln默认建立硬链接(hard link),两种的区别请自己搜索:) +## 最常用参数: +## -s        —-建立软链接(符号链接,可以理解为win下的快捷方式) +## -f        —-如果要建立的链接名已经存在,则删除之 +**ls****:** +## 显示目录内容 +## 最常用参数: +## -a        —-显示指定目录所有文件,包括文件名以 . 开头的文件 +## -l        —-显示文件详细信息(包括文件类型,权限,修改时间,访问时间,大小,文件名…) +## -h        —-将文件大小以方便阅读的形式表示出来,配合 -l 参数使用,常有奇效 +**man****:** +## 阅读参考手册of~ +## 题外话:HX说这是linux最最难学的命令,因为man你学好了,就没有什么命令能难倒你了,=.=无敌了 +## man可以查的不仅仅是命令额(当然,因为man是无敌的嘛/ch) +## 最常用参数: +## man 阿拉伯数字 +## 阿拉伯数字1: 可执行程序(一般为用户安装的程序,如果提供了manpages的话)和shell命令 +## 阿拉伯数字2: 系统调用(例如 open调用,socket调用,chmod调用 等等等等),先装manpages-dev先 +## 阿拉伯数字3: 库函数调用(例如 man 3 printf),先装manpages-dev先 +## ……. +## 当你执行man ls 时, 和 man 1 ls结果是一样的,因为ls在man手册中只有一个入口 +## 当你想看chmod调用的手册页时,就要特别指定 man 2 chmod了~~因为chmod不止有一个入口 +## 在man的时候,可以通过j,k上下移动(和vi中类似),可以通过/查询,通过n,N查找下个,上个匹配(和vi类似) +## q退出(也和vi类似….) +## 比较有意思的一点: +## 由于man 本身是个命令,所以,连man都是可以man的 =.= +**mkdir****:** +## 创建一个目录 +## 最常用参数: +## -p        —-如果给出的路径中父目录不存在,则同时创建父目录 +**mount****:** +## 挂载文件系统(可理解为挂载一个分区) +## 最常用参数: +## -t        —-指定文件系统类型,比如iso9660(挂载iso镜像为光盘,相当于虚拟光驱),ntfs,ext3,rfs等等 +## -l        —-列出所有已经挂载的文件系统,支持卷标 +## -a        —-挂载fstab中记录的所有分区 +## -n        —-挂载的时候不写入/etc/mtab +## -o        —-相当常用的一个参数,指定挂载文件系统的”选项”,比如noatime,用来挂载BT专用分区很合适 +**mv****:** +## 移动或者更名文件,取决于目的目录是否为当前目录 +## 最常用参数: +## -b        —-为每个已经存在的目的文件做个备份(防止覆盖) +## -f        —-不提示是否覆盖已经存在的目的文件 +## -i        —-与-f参数相反 +## -u        —-仅当源文件比目的文件更新或者目的文件不存在时候才移动 +## -v        —-显示移动文件的进度(个人总是推荐使用此参数,明白你在做什么) +**ps,top:** +## 列出当前命令的执行状态,ps为静态,top为动态(top时’q’退出) +## ps:这个命令本人更常用些,推荐给你看看=.= +## 最常用参数(ps多用参数集合,而不是单个参数,并且配合grep使用) +## -ef        —-以标准语法列出当前所有进程状态,例如ps -ef | grep eva #列出eva的进程状态 +## aux        —-以BSD语法列出……………………………….. +## -ejH    —-列出进程树 +## -eLf    —-同时列出线程状态 +**rm, rmdir:** +## rm:删除文件或目录,rmdir:删除一个空目录(此命令个人认为没啥用,可以用rm -r替代) +## rm最常用参数: +## -f        —-不提示不存在的文件,直接跳过 +## -i        —-每个删除动作都提示 (=.= 删除多的话岂不是烦死) +## -I        —-删除多个文件(多于3个时)或者递归式删除(对于非空目录)提示一次 +## -r和-R    —-递归式删除该目录下的一切东东 +## -v        —-显示每个文件的删除动作(个人总是推荐使用此参数,明白你在做什么) +**sudo,su:** +## 这大概是装好系统之后第一个要用的命令吧? +## sudo我们主要用来临时提升权限,主要用以管理员(超级用户)的权限来运行命令,当需要修改当前登录用户力所不能及的文件/目录 +## 时需要用sudo,或者su -c,当然sudo和su的作用范围不仅仅如此 +## 可以使用visudo来编辑/etc/sudoers文件来修改sudo更详细的动作(比如记住密码的时间戳长度),请谨慎修改! +**sh:** +## 在终端解释执行 +## 类似于’./’的形式,但PT给了不同点: ‘./’仅仅对当前目录下有执行权限的程序才有效,’sh’则不管这套 +## 想想也是哈, ‘./’仅仅是给出了一个文件的路径(在当前目录下)而已, 但这个文件能不能执行就不好说了 +## 所以用sh总是正确的 +**shutdown:** +## 关闭系统,如果停留在TTY,请改用halt, poweroff等命令 +## 常用参数: +## +m        —-指定关机延迟的分钟 +## -c        —-取消一个等待关机的请求(关掉运行此命令的终端也可:)) +## now        —-立即关机 +## hh:mm    —-手动指定时间(以24小时计) +**tar:** +## 打包/解包 +## 这个tar不多说了吧..到处都是tar.gz,tar.bz2的东东 +## 和ps命令一样,tar一般不用单个参数,而是多个参数的组合,记住参数x是解压(extract),c是创建包(creat)即可 +## 最常用参数: +## -xvf    —-详细列出解包的步骤 +## -cvf    —-详细列出打包的步骤 +## -j        —-用来说明这是个tar.bz2包,例如tar -xjvf myfile.tar.bz2 +## -t        —-列出包中的文件列表 +## —–打包时常追加的参数: +## -r        —-追加到压缩包中 +## -u        —-只把比包中更新的文件追加进去 +## -h        —-不把符号链接添加到包中,而是添加此符号链接指向的文件 +## 附加说明:tar是个太强大的东东,常用的操作也就是打包解包,高级功能还是参阅man =.= +**touch:** +## 改变文件时间戳,默认包括修改时间和创建时间,默认修改为当前时间,默认如果文件不存在就新建(=.=是不是很罗嗦) + > 来自 <[http://www.ipc.me/ubuntu-useful-commands-collection-for-newbie.html](http://www.ipc.me/ubuntu-useful-commands-collection-for-newbie.html)> \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/常用命令2.md b/实践积累/个人知识库/Linux/常用命令2.md new file mode 100755 index 0000000..69271e5 --- /dev/null +++ b/实践积累/个人知识库/Linux/常用命令2.md @@ -0,0 +1,401 @@ +## 最近在项目中用到了Linux,然后自己只会那些简单的,发现头用的溜溜的,所以查了一下常用的命令,多查,多用。 +## 系统信息 +## arch 显示机器的处理器****架构****(1) +## uname -m 显示机器的处理器架构(2) +## uname -r 显示正在使用的内核版本 +## dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) +## hdparm -i /dev/hda 罗列一个磁盘的架构特性 +## hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 +## cat /proc/cpuinfo 显示CPU info的信息 +## cat /proc/interrupts 显示中断 +## cat /proc/meminfo 校验内存使用 +## cat /proc/swaps 显示哪些swap被使用 +## cat /proc/version 显示内核的版本 +## cat /proc/net/dev 显示网络适配器及统计 +## cat /proc/mounts 显示已加载的文件系统 +## lspci -tv 罗列 PCI 设备 +## lsusb -tv 显示 USB 设备 +## date 显示系统日期 +## cal 2007 显示2007年的日历表 +## date 041217002007.00 设置日期和时间 - 月日时分年.秒 +## clock -w 将时间修改保存到 BIOS + +## 关机 (系统的关机、重启以及登出 ) +## shutdown -h now 关闭系统(1) +## init 0 关闭系统(2) +## telinit 0 关闭系统(3) +## shutdown -h hours:minutes & 按预定时间关闭系统 +## shutdown -c 取消按预定时间关闭系统 +## shutdown -r now 重启(1) +## reboot 重启(2) +## logout 注销 + +## 文件和目录 +## cd /home 进入 '/ home' 目录' +## cd .. 返回上一级目录 +## cd ../.. 返回上两级目录 +## cd 进入个人的主目录 +## cd ~user1 进入个人的主目录 +## cd - 返回上次所在的目录 +## pwd 显示工作路径 +## ls 查看目录中的文件 +## ls -F 查看目录中的文件 +## ls -l 显示文件和目录的详细资料 +## ls -a 显示隐藏文件 +## ls *[0-9]* 显示包含数字的文件名和目录名 +## tree 显示文件和目录由根目录开始的树形结构(1) +## lstree 显示文件和目录由根目录开始的树形结构(2) +## mkdir dir1 创建一个叫做 'dir1' 的目录' +## mkdir dir1 dir2 同时创建两个目录 +## mkdir -p /tmp/dir1/dir2 创建一个目录树 +## rm -f file1 删除一个叫做 'file1' 的文件' +## rmdir dir1 删除一个叫做 'dir1' 的目录' +## rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容 +## rm -rf dir1 dir2 同时删除两个目录及它们的内容 +## mv dir1 new_dir 重命名/移动 一个目录 +## cp file1 file2 复制一个文件 +## cp dir/* . 复制一个目录下的所有文件到当前工作目录 +## cp -a /tmp/dir1 . 复制一个目录到当前工作目录 +## cp -a dir1 dir2 复制一个目录 +## ln -s file1 lnk1 创建一个指向文件或目录的软链接 +## ln file1 lnk1 创建一个指向文件或目录的物理链接 +## touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm) +## file file1 outputs the mime type of the file as text +## iconv -l 列出已知的编码 +## iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding. +## find . -maxdepth 1 -name *.jpg -print -exec convert "{}" -resize 80x60 "thumbs/{}" \; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick) + +## 文件搜索 +## find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录 +## find / -user user1 搜索属于用户 'user1' 的文件和目录 +## find /home/user1 -name \*.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件 +## find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件 +## find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件 +## find / -name \*.rpm -exec chmod 755 '{}' \; 搜索以 '.rpm' 结尾的文件并定义其权限 +## find / -xdev -name \*.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备 +## locate \*.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令 +## whereis halt 显示一个二进制文件、源码或man的位置 +## which halt 显示一个二进制文件或可执行文件的完整路径 + +## 挂载一个文件系统 +## mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在 +## umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出 +## fuser -km /mnt/hda2 当设备繁忙时强制卸载 +## umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用 +## mount /dev/fd0 /mnt/floppy 挂载一个软盘 +## mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom +## mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom +## mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom +## mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件 +## mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统 +## mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备 +## mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享 + +## 磁盘空间 +## df -h 显示已经挂载的分区列表 +## ls -lSr |more 以尺寸大小排列文件和目录 +## du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间' +## du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小 +## rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统) +## dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统) + +## 返回顶部索引 ^ + +## 用户和群组 +## groupadd group_name 创建一个新用户组 +## groupdel group_name 删除一个用户组 +## groupmod -n new_group_name old_group_name 重命名一个用户组 +## useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 "admin" 用户组的用户 +## useradd user1 创建一个新用户 +## userdel -r user1 删除一个用户 ( '-r' 排除主目录) +## usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性 +## passwd 修改口令 +## passwd user1 修改一个用户的口令 (只允许root执行) +## chage -E 2005-12-31 user1 设置用户口令的失效期限 +## pwck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户 +## grpck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组 +## newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组 + +## 返回顶部索引 ^ + +## 文件的权限 - 使用 "+" 设置权限,使用 "-" 用于取消 +## ls -lh 显示权限 +## ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示 +## chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限 +## chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限 +## chown user1 file1 改变一个文件的所有人属性 +## chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性 +## chgrp group1 file1 改变文件的群组 +## chown user1:group1 file1 改变一个文件的所有人和群组属性 +## find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件 +## chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限 +## chmod u-s /bin/file1 禁用一个二进制文件的 SUID位 +## chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的 +## chmod g-s /home/public 禁用一个目录的 SGID 位 +## chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件 +## chmod o-t /home/public 禁用一个目录的 STIKY 位 + +## 返回顶部索引 ^ + +## 文件的特殊属性 - 使用 "+" 设置权限,使用 "-" 用于取消 +## chattr +a file1 只允许以追加方式读写文件 +## chattr +c file1 允许这个文件能被内核自动压缩/解压 +## chattr +d file1 在进行文件系统备份时,dump程序将忽略这个文件 +## chattr +i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接 +## chattr +s file1 允许一个文件被安全地删除 +## chattr +S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘 +## chattr +u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件 +## lsattr 显示特殊的属性 + +## 返回顶部索引 ^ + +## 打包和压缩文件 +## bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件 +## bzip2 file1 压缩一个叫做 'file1' 的文件 +## gunzip file1.gz 解压一个叫做 'file1.gz'的文件 +## gzip file1 压缩一个叫做 'file1'的文件 +## gzip -9 file1 最大程度压缩 +## rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包 +## rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1' +## rar x file1.rar 解压rar包 +## unrar x file1.rar 解压rar包 +## tar -cvf archive.tar file1 创建一个非压缩的 tarball +## tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件 +## tar -tf archive.tar 显示一个包中的内容 +## tar -xvf archive.tar 释放一个包 +## tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下 +## tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包 +## tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包 +## tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包 +## tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包 +## zip file1.zip file1 创建一个zip格式的压缩包 +## zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包 +## unzip file1.zip 解压一个zip格式压缩包 + +## 返回顶部索引 ^ + +## RPM 包 - (Fedora, Redhat及类似系统) +## rpm -ivh package.rpm 安装一个rpm包 +## rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告 +## rpm -U package.rpm 更新一个rpm包但不改变其配置文件 +## rpm -F package.rpm 更新一个确定已经安装的rpm包 +## rpm -e package_name.rpm 删除一个rpm包 +## rpm -qa 显示系统中所有已经安装的rpm包 +## rpm -qa | grep httpd 显示所有名称中包含 "httpd" 字样的rpm包 +## rpm -qi package_name 获取一个已安装包的特殊信息 +## rpm -qg "System Environment/Daemons" 显示一个组件的rpm包 +## rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表 +## rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表 +## rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表 +## rpm -q package_name --whatprovides 显示一个rpm包所占的体积 +## rpm -q package_name --scripts 显示在安装/删除期间所执行的脚本l +## rpm -q package_name --changelog 显示一个rpm包的修改历史 +## rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供 +## rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表 +## rpm --import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书 +## rpm --checksig package.rpm 确认一个rpm包的完整性 +## rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性 +## rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间 +## rpm -Va 检查系统中所有已安装的rpm包- 小心使用 +## rpm -Vp package.rpm 确认一个rpm包还未安装 +## rpm2cpio package.rpm | cpio --extract --make-directories *bin* 从一个rpm包运行可执行文件 +## rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm 从一个rpm源码安装一个构建好的包 +## rpmbuild --rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包 + +## 返回顶部索引 ^ + +## YUM 软件包升级器 - (Fedora, RedHat及类似系统) +## yum install package_name 下载并安装一个rpm包 +## yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系 +## yum update package_name.rpm 更新当前系统中所有安装的rpm包 +## yum update package_name 更新一个rpm包 +## yum remove package_name 删除一个rpm包 +## yum list 列出当前系统中安装的所有包 +## yum search package_name 在rpm仓库中搜寻软件包 +## yum clean packages 清理rpm缓存删除下载的包 +## yum clean headers 删除所有头文件 +## yum clean all 删除所有缓存的包和头文件 + +## 返回顶部索引 ^ + +## DEB 包 (Debian, Ubuntu 以及类似系统) +## dpkg -i package.deb 安装/更新一个 deb 包 +## dpkg -r package_name 从系统删除一个 deb 包 +## dpkg -l 显示系统中所有已经安装的 deb 包 +## dpkg -l | grep httpd 显示所有名称中包含 "httpd" 字样的deb包 +## dpkg -s package_name 获得已经安装在系统中一个特殊包的信息 +## dpkg -L package_name 显示系统中已经安装的一个deb包所提供的文件列表 +## dpkg --contents package.deb 显示尚未安装的一个包所提供的文件列表 +## dpkg -S /bin/ping 确认所给的文件由哪个deb包提供 + +## 返回顶部索引 ^ + +## APT 软件工具 (Debian, Ubuntu 以及类似系统) +## apt-get install package_name 安装/更新一个 deb 包 +## apt-cdrom install package_name 从光盘安装/更新一个 deb 包 +## apt-get update 升级列表中的软件包 +## apt-get upgrade 升级所有已安装的软件 +## apt-get remove package_name 从系统删除一个deb包 +## apt-get check 确认依赖的软件仓库正确 +## apt-get clean 从下载的软件包中清理缓存 +## apt-cache search searched-package 返回包含所要搜索字符串的软件包名称 + +## 返回顶部索引 ^ + +## 查看文件内容 +## cat file1 从第一个字节开始正向查看文件的内容 +## tac file1 从最后一行开始反向查看一个文件的内容 +## more file1 查看一个长文件的内容 +## less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作 +## head -2 file1 查看一个文件的前两行 +## tail -2 file1 查看一个文件的最后两行 +## tail -f /var/log/messages 实时查看被添加到一个文件中的内容 + +## 返回顶部索引 ^ + +## 文本处理 +## cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT +## cat file1 | command( sed, grep, awk, grep, etc...) > result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件中 +## cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中 +## grep Aug /var/log/messages 在文件 '/var/log/messages'中查找关键词"Aug" +## grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以"Aug"开始的词汇 +## grep [0-9] /var/log/messages 选择 '/var/log/messages' 文件中所有包含数字的行 +## grep Aug -R /var/log/* 在目录 '/var/log' 及随后的目录中搜索字符串"Aug" +## sed 's/stringa1/stringa2/g' example.txt 将example.txt文件中的 "string1" 替换成 "string2" +## sed '/^$/d' example.txt 从example.txt文件中删除所有空白行 +## sed '/ *#/d; /^$/d' example.txt 从example.txt文件中删除所有注释和空白行 +## echo 'esempio' | tr '[:lower:]' '[:upper:]' 合并上下单元格内容 +## sed -e '1d' result.txt 从文件example.txt 中排除第一行 +## sed -n '/stringa1/p' 查看只包含词汇 "string1"的行 +## sed -e 's/ *$//' example.txt 删除每一行最后的空白字符 +## sed -e 's/stringa1//g' example.txt 从文档中只删除词汇 "string1" 并保留剩余全部 +## sed -n '1,5p;5q' example.txt 查看从第一行到第5行内容 +## sed -n '5p;5q' example.txt 查看第5行 +## sed -e 's/00*/0/g' example.txt 用单个零替换多个零 +## cat -n file1 标示文件的行数 +## cat example.txt | awk 'NR%2==1' 删除example.txt文件中的所有偶数行 +## echo a b c | awk '{print $1}' 查看一行第一栏 +## echo a b c | awk '{print $1,$3}' 查看一行的第一和第三栏 +## paste file1 file2 合并两个文件或两栏的内容 +## paste -d '+' file1 file2 合并两个文件或两栏的内容,中间用"+"区分 +## sort file1 file2 排序两个文件的内容 +## sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份) +## sort file1 file2 | uniq -u 删除交集,留下其他的行 +## sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件) +## comm -1 file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容 +## comm -2 file1 file2 比较两个文件的内容只删除 'file2' 所包含的内容 +## comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分 + +## 返回顶部索引 ^ + + +## 字符设置和文件格式转换 +## dos2unix filedos.txt fileunix.txt 将一个文本文件的格式从MSDOS转换成UNIX +## unix2dos fileunix.txt filedos.txt 将一个文本文件的格式从UNIX转换成MSDOS +## recode ..HTML < page.txt > page.html 将一个文本文件转换成html +## recode -l | more 显示所有允许的转换格式 + +## 返回顶部索引 ^ + +## 文件系统分析 +## badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块 +## fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性 +## fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性 +## e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性 +## e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性 +## fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性 +## fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性 +## fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性 +## dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性 + +## 返回顶部索引 ^ + +## 初始化一个文件系统 +## mkfs /dev/hda1 在hda1分区创建一个文件系统 +## mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统 +## mke2fs -j /dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统 +## mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统 +## fdformat -n /dev/fd0 格式化一个软盘 +## mkswap /dev/hda3 创建一个swap文件系统 + +## 返回顶部索引 ^ + +## SWAP文件系统 +## mkswap /dev/hda3 创建一个swap文件系统 +## swapon /dev/hda3 启用一个新的swap文件系统 +## swapon /dev/hda2 /dev/hdb3 启用两个swap分区 + +## 返回顶部索引 ^ + +## 备份 +## dump -0aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的完整备份 +## dump -1aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的交互式备份 +## restore -if /tmp/home0.bak 还原一个交互式备份 +## rsync -rogpav --delete /home /tmp 同步两边的目录 +## rsync -rogpav -e ssh --delete /home ip_address:/tmp 通过SSH通道rsync +## rsync -az -e ssh --delete ip_addr:/home/public /home/local 通过ssh和压缩将一个远程目录同步到本地目录 +## rsync -az -e ssh --delete /home/local ip_addr:/home/public 通过ssh和压缩将本地目录同步到远程目录 +## dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' 通过ssh在远程主机上执行一次备份本地磁盘的操作 +## dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件 +## tar -Puf backup.tar /home/user 执行一次对 '/home/user' 目录的交互式备份操作 +## ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' 通过ssh在远程目录中复制一个目录内容 +## ( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' 通过ssh在远程目录中复制一个本地目录 +## tar cf - . | (cd /tmp/backup ; tar xf - ) 本地将一个目录复制到另一个地方,保留原有权限及链接 +## find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents 从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录 +## find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 查找所有以 '.log' 结尾的文件并做成一个bzip包 +## dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个将 MBR (Master Boot Record)内容复制到软盘的动作 +## dd if=/dev/fd0 of=/dev/hda bs=512 count=1 从已经保存到软盘的备份中恢复MBR内容 + +## 返回顶部索引 ^ + +## 光盘 +## cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空一个可复写的光盘内容 +## mkisofs /dev/cdrom > cd.iso 在磁盘上创建一个光盘的iso镜像文件 +## mkisofs /dev/cdrom | gzip > cd_iso.gz 在磁盘上创建一个压缩了的光盘iso镜像文件 +## mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd 创建一个目录的iso镜像文件 +## cdrecord -v dev=/dev/cdrom cd.iso 刻录一个ISO镜像文件 +## gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - 刻录一个压缩了的ISO镜像文件 +## mount -o loop cd.iso /mnt/iso 挂载一个ISO镜像文件 +## cd-paranoia -B 从一个CD光盘转录音轨到 wav 文件中 +## cd-paranoia -- "-3" 从一个CD光盘转录音轨到 wav 文件中(参数-3) +## cdrecord --scanbus 扫描总线以识别scsi通道 +## dd if=/dev/hdc | md5sum 校验一个设备的md5sum编码,例如一张 CD + +## 返回顶部索引 ^ + +## 网络 - (以太网和WIFI无线) +## ifconfig eth0 显示一个以太网卡的配置 +## ifup eth0 启用一个 'eth0' 网络设备 +## ifdown eth0 禁用一个 'eth0' 网络设备 +## ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址 +## ifconfig eth0 promisc 设置 'eth0' 成混杂模式以嗅探数据包 (sniffing) +## dhclient eth0 以dhcp模式启用 'eth0' +## route -n show routing table +## route add -net 0/0 gw IP_Gateway configura default gateway +## route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route to reach network '192.168.0.0/16' +## route del 0/0 gw IP_gateway remove static route +## echo "1" > /proc/sys/net/ipv4/ip_forward activate ip routing +## hostname show hostname of system +## host** **www.example.com** **lookup hostname to resolve name to ip address and viceversa(1) +## nslookup** **www.example.com** **lookup hostname to resolve name to ip address and viceversa(2) +## ip link show show link status of all interfaces +## mii-tool eth0 show link status of 'eth0' +## ethtool eth0 show statistics of network card 'eth0' +## netstat -tup show all active network connections and their PID +## netstat -tupl show all network services listening on the system and their PID +## tcpdump tcp port 80 show all HTTP traffic +## iwlist scan show wireless networks +## iwconfig eth1 show configuration of a wireless network card +## hostname show hostname +## host** **www.example.com** **lookup hostname to resolve name to ip address and viceversa +## nslookup** **www.example.com** **lookup hostname to resolve name to ip address and viceversa +## whois** **www.example.com** **lookup on Whois database + +## GO TOP INDEX ^ +## Microsoft Windows networks (SAMBA) +## nbtscan ip_addr netbios name resolution +## nmblookup -A ip_addr netbios name resolution +## smbclient -L ip_addr/hostname show remote shares of a windows host +## smbget -Rr smb://ip_addr/share like wget can download files from a host windows via smb +## mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share mount a windows network share + > 来自 <[http://blog.csdn.net/ww130929/article/details/69788517](http://blog.csdn.net/ww130929/article/details/69788517)> \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/更改所有子文件和子目录所有者权限.md b/实践积累/个人知识库/Linux/更改所有子文件和子目录所有者权限.md new file mode 100755 index 0000000..7bd744f --- /dev/null +++ b/实践积累/个人知识库/Linux/更改所有子文件和子目录所有者权限.md @@ -0,0 +1,19 @@ +有两个修改命令可以用到,「change mode」&「change owner」 +## 即chmod以及chown,其中可以用递归参数**==-R**==来实现更改所有子文件和子目录的权限。 +## 1、利用chmod修改权限: +## 对Document/目录下的所有子文件与子目录执行相同的权限变更: +## chmod -R 700 Document/ + +## -R参数是递归 处理目录下的所有文件以及子文件夹 + +700是变更后的权限表示(只有所有者有读和写以及执行的权限) + +Document/ 是需要执行的目录 + +## 2、利用chown改变所有者: +## 对Document/ 目录下的所有文件与子目录执行相同的所有者变更,修改所有者为users用户组的username用户 +## chown -R username:users Document/ + +## username:users users用户组的username,用户组参数不是必须有 +## 参考:http://rabbit52.com/2011/linux/ubuntu/linux-chmod-chown + > 来自 <[http://blog.csdn.net/songyu0120/article/details/43408499](http://blog.csdn.net/songyu0120/article/details/43408499)> \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/查看CentOS版本方法.md b/实践积累/个人知识库/Linux/查看CentOS版本方法.md new file mode 100755 index 0000000..dccd56f --- /dev/null +++ b/实践积累/个人知识库/Linux/查看CentOS版本方法.md @@ -0,0 +1,38 @@ +有以下命令可以查看: + +# lsb_release -a +LSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch +Distributor ID: CentOS +Description:    CentOS release 5.4 (Final) +Release:        5.4 +Codename:       Final + + +这个命令适用于所有的linux,包括Redhat、SuSE、Debian、Centos等发行版。 + +root@MyMail ~ # uname +Linux +root@MyMail ~ # uname -r +2.6.18-164.el5 +[root@localhost ~]# uname -a +Linux localhost.localdomain 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:35 EDT 2010 i686 i686 i386 GNU/Linux + + +以下二种方法适用于RedHat,CentOS + +root@MyMail ~ # cat /etc/redhat-release +CentOS release 5.4 (Final) + +登录到linux执行rpm -q redhat-release + +# rpm -q redhat-release +或CentOS + +root@MyMail ~ # rpm -q centos-release +centos-release-5-4.el5.centos.1 + + +**当前****centos** **版本与****redhat****对应的版本的命令** +# cat /proc/version +Linux version 2.6.9-78.ELsmp (mockbuild@builder16.centos.org) (gcc version 3.4.6 20060404 (Red Hat 3.4.6-10)) #1 SMP Fri Jul 25 00:04:28 EDT 2008 + > 来自 <[https://www.cnblogs.com/zzdylan/p/9930144.html](https://www.cnblogs.com/zzdylan/p/9930144.html)> \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/查看目录大小.md b/实践积累/个人知识库/Linux/查看目录大小.md new file mode 100755 index 0000000..b4929e6 --- /dev/null +++ b/实践积累/个人知识库/Linux/查看目录大小.md @@ -0,0 +1,5 @@ +## du -sh /* +## 可以列出你整个VPS所有文件夹的大小。其中“/*”是控制分析哪个目录的,你根据上面的结果,然后灵活变化后面的路径就行了,例如: +## du -sh /usr/* +## 用这个命令来分析usr目录下的文件夹大小,最后定位到大文件,直接删除就行了。 + > 来自 <[https://www.hack520.com/504.html](https://www.hack520.com/504.html)> \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/用户管理.md b/实践积累/个人知识库/Linux/用户管理.md new file mode 100755 index 0000000..264f996 --- /dev/null +++ b/实践积累/个人知识库/Linux/用户管理.md @@ -0,0 +1,9 @@ +## 用户列表文件:====/etc/passwd +用户组列表文件:/etc/group +查看系统中有哪些用户:cut -d : -f 1 /etc/passwd +查看可以登录系统的用户:cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1 +查看用户操作:w命令(需要root权限) +查看某一用户:w 用户名 +查看登录用户:who +查看用户登录历史记录:last + > 来自 <[https://www.cnblogs.com/todarcy/p/11079228.html](https://www.cnblogs.com/todarcy/p/11079228.html)> \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/百度云一年.md b/实践积累/个人知识库/Linux/百度云一年.md new file mode 100755 index 0000000..24e006a --- /dev/null +++ b/实践积累/个人知识库/Linux/百度云一年.md @@ -0,0 +1,7 @@ +| | +| ------------- | +| 106.12.121.86 | + +我2be黑星 + +![BCC instancehkvxkrp70 A 0 VNC 201911315213 00OG3 1...](Exported%20image%2020260407231429-0.png) \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/给双系统的ubuntu挂载windows的硬盘.md b/实践积累/个人知识库/Linux/给双系统的ubuntu挂载windows的硬盘.md new file mode 100755 index 0000000..078e169 --- /dev/null +++ b/实践积累/个人知识库/Linux/给双系统的ubuntu挂载windows的硬盘.md @@ -0,0 +1,38 @@ +[https://blog.csdn.net/yaoxingshuai/article/details/50563245](https://blog.csdn.net/yaoxingshuai/article/details/50563245) + +楼主给笔记本电脑装了双系统,常年放在寝室开着,平时用实验室的电脑,偶尔需要笔记本的时候就远程控制。后来就发现了一个问题,我远程连接linux的时候,只能看见Linux这个分区的内容,windows的D、E、F盘都没有,这个时候如果要找这些盘符里的文件就比较麻烦了 + +于是乎,机智的楼主看了一下Linux里的设备文件 + +cd  /dev + +ls -l sd* + +能看见楼主的笔记本硬盘分了好几个区C D E F G H,为了确保准确,楼主又看了一下硬盘信息 + +fdisk -lu + +第四列Blocks指的分区大小,sda1=52,436,128B 大概50GB,这不是我的C盘么 + +最后一个sda9 = 12545024B 大概 12GB就是我安装Linux的盘符 + +sda2 = sda5+sda6+sda7+sda8+sda9 一共大概450G,于是机制的楼主推断出sda5便是我要的D盘; + +我的D盘,时尚时尚最时尚,我情不自禁的要把D盘挂载到Linux下,于是乎 + +cd /mnt   一般挂载到/mnt 或者 /media, 都可以 + +ls         发现目前啥都没有 + +mkdir thinkiii    我想把D盘挂载过来取名thinkiii,这个无所谓的 + +mount /dev/sda5   /mnt/thinkiii    这样便把sda5也就是D盘挂载到/mnt/thinkiii了 + +cd /mnt/thinkiii + +ls            便可查看D盘的文件了 + + +———————————————— +版权声明:本文为CSDN博主「浴前带刀侍卫」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 +原文链接:https://blog.csdn.net/yaoxingshuai/article/details/50563245 \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/调整 home分区 扩大 root分区.md b/实践积累/个人知识库/Linux/调整 home分区 扩大 root分区.md new file mode 100755 index 0000000..656781b --- /dev/null +++ b/实践积累/个人知识库/Linux/调整 home分区 扩大 root分区.md @@ -0,0 +1,88 @@ +**CentOS 7 调整 home分区 扩大 root分区** + +2. 查看分区 + +`df -h (centos-home`**和**`centos-root`**每人的名字可能不一样** + +``` +``` +) vgdisplay ( +``` + +``` +**查看空闲磁盘大小)**`` + +4. 备份home分区文件 + +``` +``` +tar cvf /tmp/home.tar /home +``` + +``` +6. 卸载/home,如果无法卸载,先终止使用/home文件系统的进程 + +`umount /home` **(卸载)** + +``` +``` + +fuser -km /home/ +``` + +``` +**(终止)**`` + +8. 删除/home所在的lv + +``` +``` +lvremove /dev/mapper/centos-home +``` + +``` +10. 扩展/root所在的lv + +``` +``` +lvextend -L +50G /dev/mapper/centos-root +``` + +``` +12. 扩展/root文件系统 + +``` +``` +xfs_growfs /dev/mapper/centos-root +``` + +``` +14. 重新创建home lv + +``` +``` +lvcreate -L 50G -n /dev/mapper/centos-home +``` + +``` +16. 创建文件系统 + +``` +``` +mkfs.xfs /dev/mapper/centos-home +``` + +``` +18. 挂载home + +``` +``` +mount /dev/mapper/centos-home +``` + +``` +20. home文件恢复 + +`tar xvf /tmp/home.tar -C /home/` + > 来自 <[https://www.jianshu.com/p/27c87f390175](https://www.jianshu.com/p/27c87f390175)> + > 来自 <[https://www.jianshu.com/p/27c87f390175](https://www.jianshu.com/p/27c87f390175)> \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/软件到底安装在哪里-opt or -usr or -usr-local.md b/实践积累/个人知识库/Linux/软件到底安装在哪里-opt or -usr or -usr-local.md new file mode 100755 index 0000000..f69b893 --- /dev/null +++ b/实践积累/个人知识库/Linux/软件到底安装在哪里-opt or -usr or -usr-local.md @@ -0,0 +1,12 @@ +/usr: 系统级的目录,可以理解为C:/Windows/;/usr/bin 存放应用程序;/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件,可以理解为C:/Windows/System32 +*比如Java的安装目录,我会放在这里。 + +/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。 +用户自己编译的软件默认会安装到这个目录下。 +*比如Hadoop,Tomcat的安装目录我一般会放在/usr/目录下 + +/opt:给主机额外安装软件所摆放的目录。用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。 +*比如临时上传到Linux里的软件;tar.gz rpm等文件,用作软件仓库。 +———————————————— +版权声明:本文为CSDN博主「佛系亚当」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 +原文链接:https://blog.csdn.net/adamlinsfz/article/details/84307097 \ No newline at end of file diff --git a/实践积累/个人知识库/Linux/远程实例.md b/实践积累/个人知识库/Linux/远程实例.md new file mode 100755 index 0000000..8d3e268 --- /dev/null +++ b/实践积累/个人知识库/Linux/远程实例.md @@ -0,0 +1,14 @@ +远程连接密码: 148880 + +120.78.214.77(公) + > + +Mysql root 1q2w3e4r +phpmyadmin 1q2w3e4r + +Wordpress admin chill wuzhuoshan@163.com 1q2w3e4r + +[ftp://cocomap.cn](ftp://cocomap.cn) chill 1q2w3e4r + +网站统计——百度 ,双十二事变 +[https://tongji.baidu.com/web/11004934/overview/index](https://tongji.baidu.com/web/11004934/overview/index) \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/CAP定理(CAP theorem).md b/实践积累/个人知识库/数据库/CAP定理(CAP theorem).md new file mode 100755 index 0000000..280b28b --- /dev/null +++ b/实践积累/个人知识库/数据库/CAP定理(CAP theorem).md @@ -0,0 +1,15 @@ +==在计算机科学中, CAP定理(CAP theorem), 又被称作 布鲁尔定理(Brewer's theorem), 它指出对于一个分布式计算系统来说,不可能同时满足以下三点:== + +- **一致性(Consistency)** ==(所有节点在同一时间具有相同的数据)== +- **可用性(Availability)** ==(保证每个请求不管成功或者失败都有响应)== +- **分隔容忍(Partition tolerance)** ==(系统中任意信息的丢失或失败不会影响系统的继续运作)== + +==CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个。== +==因此,根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP 原则三 大类:== + +- ==CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。== +- ==CP - 满足一致性,分区容忍性的系统,通常性能不是特别高。== +- ==AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。== +![captheoramimage](Exported%20image%2020260407225428-0.png) + > 来自 <[http://www.runoob.com/mongodb/nosql.html](http://www.runoob.com/mongodb/nosql.html)> + > 来自 <[http://www.runoob.com/mongodb/nosql.html](http://www.runoob.com/mongodb/nosql.html)> \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/Centos7安装mariadb,支持远程访问.md b/实践积累/个人知识库/数据库/Centos7安装mariadb,支持远程访问.md new file mode 100755 index 0000000..47a9fd8 --- /dev/null +++ b/实践积累/个人知识库/数据库/Centos7安装mariadb,支持远程访问.md @@ -0,0 +1,25 @@ +1、安装MariaDB:yum -y install mariadb mariadb-server +2、设置开机启动:systemctl enable mariadb +3、启动MariaDB:systemctl start mariadb +4、初始化配置:mysql_secure_installation +       4.1、设置密码,会提示先输入密码 +Enter current password for root (enter for none):<–初次运行直接回车 +Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车 +             New password: <– 设置root用户的密码 +             Re-enter new password: <– 再输入一次你设置的密码 +       4.2、其他配置 +Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车 +Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车, +Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车 +Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车 +初始化MariaDB完成,接下来测试登录 +mysql -uroot -p你的密码 +完成。 +==5、设置远程登录:== +      ==使用mysql -uroot -p密码登录后,执行命令:== +      ==GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码的明文' WITH GRANT OPTION;== +      ==FLUSH PRIVILEGES;== +==6、如果远程访问,并且数据量很大,则需要进行如下配置,否则会出现==**MySQL server has gone away** ==的== + ==错误     :== +   ==set global max_allowed_packet=1024*1024*16;== + > 来自 <[https://blog.csdn.net/lianshaohua/article/details/88380898](https://blog.csdn.net/lianshaohua/article/details/88380898)> \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/Cpu 占用过高.md b/实践积累/个人知识库/数据库/Cpu 占用过高.md new file mode 100755 index 0000000..db9e315 --- /dev/null +++ b/实践积累/个人知识库/数据库/Cpu 占用过高.md @@ -0,0 +1,15 @@ +```sql +SELECT TOP 10 +``` +total_worker_time/execution_count AS avg_cpu_cost, plan_handle, +execution_count, +(SELECT SUBSTRING(text, statement_start_offset/2 + 1, +(CASE WHEN statement_end_offset = -1 +THEN LEN(CONVERT(nvarchar(max), text)) * 2 +ELSE statement_end_offset +```sql +END - statement_start_offset)/2) +FROM sys.dm_exec_sql_text(sql_handle)) AS query_text +FROM sys.dm_exec_query_stats +``` +ORDER BY [avg_cpu_cost] DESC \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/HiMonitor1.0 升级到1.3脚本注意事项.md b/实践积累/个人知识库/数据库/HiMonitor1.0 升级到1.3脚本注意事项.md new file mode 100755 index 0000000..f7d78bb --- /dev/null +++ b/实践积累/个人知识库/数据库/HiMonitor1.0 升级到1.3脚本注意事项.md @@ -0,0 +1,132 @@ +DeviceInfo 表需要新增 [HeightDeviation]列 + +执行脚本,以及修改对应的ProjectID +其他的 + +```sql +USE [HiMonitorDB] +GO +``` +/****** Object: Table [dbo].[DynamicCalculationConfig] Script Date: 2018/7/5 15:04:35 ******/ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +```sql +CREATE TABLE [dbo].[DynamicCalculationConfig]( +``` +[ID] [int] IDENTITY(1,1) NOT NULL, +[IsUse] [int] NULL, +[SolveMode] [int] NULL, +[RobustMode] [int] NULL, +[RatioThrdDYN] [float] NULL, +[SolvingStrategy] [int] NULL, +[RelatedProject] [int] NULL, +[FilterWindowSize] [float] NULL, +[SolveStoreInterval] [float] NULL, +CONSTRAINT [PK_DynamicCalculationConfig] PRIMARY KEY CLUSTERED +( +[ID] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +GO +/****** Object: Table [dbo].[RoutineConfig] Script Date: 2018/7/5 15:04:35 ******/ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +SET ANSI_PADDING ON +GO +```sql +CREATE TABLE [dbo].[RoutineConfig]( +``` +[ID] [int] IDENTITY(1,1) NOT NULL, +[RelatedProject] [int] NULL, +[ObsType] [int] NULL, +[ObsFreq] [int] NULL, +[Intervals] [float] NULL, +[EleCutOff] [float] NULL, +[ExcludeSats] [varchar](300) NULL, +[UsedSys] [varchar](300) NULL, +[IsSaveRawData] [int] NULL, +[SaveRawDataType] [int] NULL, +[SaveDataInterval] [int] NULL, +CONSTRAINT [PK_RoutineConfig] PRIMARY KEY CLUSTERED +( +[ID] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +GO +SET ANSI_PADDING OFF +GO +/****** Object: Table [dbo].[RTKCalculationConfig] Script Date: 2018/7/5 15:04:35 ******/ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +```sql +CREATE TABLE [dbo].[RTKCalculationConfig]( +``` +[ID] [int] IDENTITY(1,1) NOT NULL, +[IsUse] [int] NULL, +[MaxHorRTK] [float] NULL, +[MaxVerRTK] [float] NULL, +[RatioThrdRTK] [float] NULL, +[DeforMode] [int] NULL, +[SolvingStrategy] [int] NULL, +[RelatedProject] [int] NULL, +[FilterWindowSize] [float] NULL, +[SolveStoreInterval] [float] NULL, +CONSTRAINT [PK_RTKCalculationConfig] PRIMARY KEY CLUSTERED +( +[ID] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +GO +/****** Object: Table [dbo].[StaticeCalculationConfig] Script Date: 2018/7/5 15:04:35 ******/ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +```sql +CREATE TABLE [dbo].[StaticeCalculationConfig]( +``` +[ID] [int] IDENTITY(1,1) NOT NULL, +[IsUse] [int] NULL, +[MaxHorSTC] [float] NULL, +[MaxVerSTC] [float] NULL, +[RatioThrdSTC] [float] NULL, +[SolvingStrategy] [int] NULL, +[SessLengthSTC] [int] NULL, +[CalcFreqSTC] [int] NULL, +[RelatedProject] [int] NULL, +CONSTRAINT [PK_StaticeMonitorConfig] PRIMARY KEY CLUSTERED +( +[ID] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +GO +SET IDENTITY_INSERT [dbo].[DynamicCalculationConfig] ON + +```sql +INSERT [dbo].[DynamicCalculationConfig] ([ID], [IsUse], [SolveMode], [RobustMode], [RatioThrdDYN], [SolvingStrategy], [RelatedProject], [FilterWindowSize], [SolveStoreInterval]) VALUES (1, 0, 0, 0, 3, NULL, 2, 10, 30) +``` +SET IDENTITY_INSERT [dbo].[DynamicCalculationConfig] OFF +SET IDENTITY_INSERT [dbo].[RoutineConfig] ON + +```sql +INSERT [dbo].[RoutineConfig] ([ID], [RelatedProject], [ObsType], [ObsFreq], [Intervals], [EleCutOff], [ExcludeSats], [UsedSys], [IsSaveRawData], [SaveRawDataType], [SaveDataInterval]) VALUES (1, 2, 0, 0, 15, 12, NULL, N'0&1&2', 0, 0, 24) +``` +SET IDENTITY_INSERT [dbo].[RoutineConfig] OFF +SET IDENTITY_INSERT [dbo].[RTKCalculationConfig] ON + +```sql +INSERT [dbo].[RTKCalculationConfig] ([ID], [IsUse], [MaxHorRTK], [MaxVerRTK], [RatioThrdRTK], [DeforMode], [SolvingStrategy], [RelatedProject], [FilterWindowSize], [SolveStoreInterval]) VALUES (1, 1, 0.02, 0.04, 2.5, 0, 0, 2, 120, 30) +``` +SET IDENTITY_INSERT [dbo].[RTKCalculationConfig] OFF +SET IDENTITY_INSERT [dbo].[StaticeCalculationConfig] ON INSERT [dbo].[StaticeCalculationConfig] ([ID], [IsUse], [MaxHorSTC], [MaxVerSTC], [RatioThrdSTC], [SolvingStrategy], [SessLengthSTC], [CalcFreqSTC], [RelatedProject]) VALUES (5, 0, 0.02, 0.02, 2.5, NULL, 5, 5, 12) +SET IDENTITY_INSERT [dbo].[StaticeCalculationConfig] OFF \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/INDEX_数据库.md b/实践积累/个人知识库/数据库/INDEX_数据库.md new file mode 100755 index 0000000..b9318b6 --- /dev/null +++ b/实践积累/个人知识库/数据库/INDEX_数据库.md @@ -0,0 +1,54 @@ +--- +title: 数据库 索引 +tags: + - 索引 +created: 2026-04-21 +--- + +# 数据库 + +> 自动生成的索引文件 + +## 文件列表 + +| 文件名 | 大小 | 说明 | +|--------|------|------| +| [[CAP定理(CAP theorem)]] | 1KB | | +| [[Cpu 占用过高]] | 420B | | +| [[HiMonitor1.0 升级到1.3脚本注意事项]] | 4KB | | +| [[MariaDB_Centos7安装mariadb,支持远程访问]] | 1KB | | +| [[PostgreSQL_Pg12 安装过程]] | 1KB | | +| [[PostgreSQL_Postgresql 帐号密码修改方法]] | 267B | | +| [[PostgreSQL_pg_hba.conf]] | 1KB | | +| [[PostgreSQL_postgresql删除还有活动连接的数据库]] | 246B | | +| [[PostgreSQL_systemctl start postgresql-12.service -- 启动服务]] | 223B | | +| [[SQL SERVER 游标使用]] | 2KB | | +| [[SQLSERVER 数据库恢复挂起的解决办法]] | 362B | | +| [[SQLSERVER存储过程基本语法]] | 6KB | | +| [[三峡数据变形值直接导出]] | 552B | | +| [[关系型数据库遵循ACID规则]] | 1KB | | +| [[内蒙古数据FTP推送脚本快速获取]] | 440B | | +| [[单个HiMonitor 站点数据]] | 873B | | +| [[去重]] | 229B | | +| [[合肥董铺水库中间数据]] | 2KB | | +| [[回补中间一段时间的GNSS数据]] | 1KB | | +| [[循环批量删除数据库表]] | 814B | | +| [[循环造固定数据值脚本]] | 744B | | +| [[循环遍历插数据]] | 591B | | +| [[批量创建app 表索引]] | 820B | | +| [[批量删除表]] | 458B | | +| [[批量删除超前数据脚本]] | 903B | | +| [[批量删除超前数据脚本(监测云)]] | 1KB | | +| [[批量增加非聚集索引]] | 1KB | | +| [[按日分组求均值]] | 221B | | +| [[新增站点基准信息增加]] | 547B | | +| [[无日志文件附加数据库失败解决]] | 1KB | | +| [[松滋 2号店循环造rtk]] | 1KB | | +| [[模拟一段数据]] | 1KB | | +| [[解除数据库占用连接]] | 491B | | +| [[运行中数据库收缩脚本]] | 743B | | +| [[链接服务器远程查询]] | 1B | | +| [[附加数据库]] | 105B | | + +--- +*共 36 个文件* diff --git a/实践积累/个人知识库/数据库/Pg12 安装过程.md b/实践积累/个人知识库/数据库/Pg12 安装过程.md new file mode 100755 index 0000000..87161bb --- /dev/null +++ b/实践积累/个人知识库/数据库/Pg12 安装过程.md @@ -0,0 +1,18 @@ +1. ==Install the repository RPM:========yum install== ==https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm== +2. ==Install the client packages:========yum install postgresql12== +3. ==Optionally install the server packages:========yum install postgresql12-server== +4. ==Optionally initialize the database and enable automatic start:========/usr/pgsql-12/bin/postgresql-12-setup initdb========systemctl enable postgresql-12========systemctl start postgresql-12== > 来自 <[https://www.postgresql.org/download/linux/redhat/](https://www.postgresql.org/download/linux/redhat/)> +[Service] +Type=notify + +User=postgres +Group=postgres + +# Note: avoid inserting whitespace in these Environment= lines, or you may +# break postgresql-setup. + +# Location of database directory +Environment=PGDATA=/var/lib/pgsql/12/data/ + +初始化之后,数据文件会存在 /var/lib/pgsql/12/data + > 来自 <[https://www.postgresql.org/download/linux/redhat/](https://www.postgresql.org/download/linux/redhat/)> \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/Postgresql 帐号密码修改方法.md b/实践积累/个人知识库/数据库/Postgresql 帐号密码修改方法.md new file mode 100755 index 0000000..d844689 --- /dev/null +++ b/实践积累/个人知识库/数据库/Postgresql 帐号密码修改方法.md @@ -0,0 +1,4 @@ +==#su postgres== ======-bash-3.2$psql - postgres== ======postgres=#alter user postgres with password 'new password';== ==////====一定要加分号执行========postgres=#\q== + +su - postgres +psql -U postgresalter user postgres with encrypted password '1'; \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/SQL SERVER 游标使用.md b/实践积累/个人知识库/数据库/SQL SERVER 游标使用.md new file mode 100755 index 0000000..15da4bd --- /dev/null +++ b/实践积累/个人知识库/数据库/SQL SERVER 游标使用.md @@ -0,0 +1,72 @@ +我们在处理数据的时候,经常会出现需要循环处理数据的需求,如果我们能用CTE或者其他语句处理的话,没有问题,但有时候往往处理起来比较困难,这时候我们可以选择使用游标处理,选择使用哪种形式,要考虑效率问题,一般游标效率不高,但也有适合使用的场景。 + +       游标分为静态游标和动态游标,静态游标的数据是固定的,不会因为数据表的改变而改变;动态游标的数据是随着数据表变化而变化的,游标默认是动态游标,通过关键字STATIC设置,OK,上测试数据: + +--测试数据 +```sql +if not object_id(N'Tempdb..#T') is null +drop table #T +Go +Create table #T([id] int,[name] nvarchar(22)) +Insert #T +select 1,N'张三' union all +select 2,N'李四' union all +select 3,N'王五' union all +select 4,N'赵六' +Go +``` +--测试数据结束 +       我们先看静态游标的使用方法: + +```sql +DECLARE @id INT , @name NVARCHAR(50) --声明变量,需要读取的数据 +DECLARE cur CURSOR STATIC --声明静态游标 +``` +FOR +```sql +SELECT * FROM #T +OPEN cur --打开游标 +FETCH NEXT FROM cur INTO @id, @name --取数据 +WHILE ( @@fetch_status = 0 ) --判断是否还有数据 +``` +BEGIN +```sql +SELECT '数据: ' + RTRIM(@id) + @name +UPDATE #T SET name='测试' WHERE id=4 --测试静态动态用 +FETCH NEXT FROM cur INTO @id, @name --这里一定要写取下一条数据 +``` +END +CLOSE cur --关闭游标 +DEALLOCATE cur +       结果如下,我们可以看到ID是4的数据没有改变,依然是赵六,而不是UPDATE之后的测试: + +       我们再来看一下,动态游标,去掉STATIC关键字即可: + +```sql +DECLARE @id INT , @name NVARCHAR(50) --声明变量,需要读取的数据 +DECLARE cur CURSOR --去掉STATIC关键字即可 +``` +FOR +```sql +SELECT * FROM #T +OPEN cur --打开游标 +FETCH NEXT FROM cur INTO @id, @name --取数据 +WHILE ( @@fetch_status = 0 ) --判断是否还有数据 +``` +BEGIN +```sql +SELECT '数据: ' + RTRIM(@id) + @name +UPDATE #T SET name='测试' WHERE id=4 --测试静态动态用 +FETCH NEXT FROM cur INTO @id, @name --这里一定要写取下一条数据 +``` +END +CLOSE cur --关闭游标 +DEALLOCATE cur +       我们看结果,可以看到ID为4的数据已经更改为测试: + +       以上是游标的用法,以及动态、静态游标的介绍使用。 +--------------------- +作者:二月十六 +来源:CSDN +原文:https://blog.csdn.net/sinat_28984567/article/details/79811887 +版权声明:本文为博主原创文章,转载请附上博文链接! \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/SQLSERVER 数据库恢复挂起的解决办法.md b/实践积累/个人知识库/数据库/SQLSERVER 数据库恢复挂起的解决办法.md new file mode 100755 index 0000000..29cfea4 --- /dev/null +++ b/实践积累/个人知识库/数据库/SQLSERVER 数据库恢复挂起的解决办法.md @@ -0,0 +1,17 @@ +如果你的数据库还处于挂起状态,请把我下面代码的test改为你的库名,然后执行完,刷新就正常了: +USE master +GO +```sql +ALTER DATABASE test SET SINGLE_USER +GO +ALTER DATABASE test SET EMERGENCY +GO +``` +DBCC CHECKDB(test,REPAIR_ALLOW_DATA_LOSS) +go +```sql +ALTER DATABASE test SET ONLINE +GO +ALTER DATABASE test SET MULTI_USER +GO +``` \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/SQLSERVER存储过程基本语法.md b/实践积累/个人知识库/数据库/SQLSERVER存储过程基本语法.md new file mode 100755 index 0000000..f2376ec --- /dev/null +++ b/实践积累/个人知识库/数据库/SQLSERVER存储过程基本语法.md @@ -0,0 +1,311 @@ +一、定义变量 +--简单赋值 +```sql +declare @a int +set @a=5 +print @a --使用select语句赋值 +declare @user1 nvarchar(50) +select @user1='张三' +print @user1 +declare @user2 nvarchar(50) +select @user2 = Name from ST_User where ID=1 +print @user2 --使用update语句赋值 +declare @user3 nvarchar(50) +update ST_User set @user3 = Name where ID=1 +print @user3 + +``` +二、表、临时表、表变量 + +--创建临时表1 +```sql +create table #DU_User1 +``` +( +[ID] [int] NOT NULL, +[Oid] [int] NOT NULL, +[Login] [nvarchar](50) NOT NULL, +[Rtx] [nvarchar](4) NOT NULL, +[Name] [nvarchar](5) NOT NULL, +[Password] [nvarchar](max) NULL, +[State] [nvarchar](8) NOT NULL +); +--向临时表1插入一条记录 +```sql +insert into #DU_User1 (ID,Oid,[Login],Rtx,Name,[Password],State) values (100,2,'LS','0000','临时','321','特殊'); --从ST_User查询数据,填充至新生成的临时表 +select * into #DU_User2 from ST_User where ID<8 --查询并联合两临时表 +select * from #DU_User2 where ID<3 union select * from #DU_User1 --删除两临时表 +drop table #DU_User1 +drop table #DU_User2 --创建临时表 +CREATE TABLE #t +``` +( +[ID] [int] NOT NULL, +[Oid] [int] NOT NULL, +[Login] [nvarchar](50) NOT NULL, +[Rtx] [nvarchar](4) NOT NULL, +[Name] [nvarchar](5) NOT NULL, +[Password] [nvarchar](max) NULL, +[State] [nvarchar](8) NOT NULL, +) --将查询结果集(多条数据)插入临时表 +```sql +insert into #t select * from ST_User +``` +--不能这样插入 +--select * into #t from dbo.ST_User --添加一列,为int型自增长子段 +```sql +alter table #t add [myid] int NOT NULL IDENTITY(1,1) +``` +--添加一列,默认填充全球唯一标识 +```sql +alter table #t add [myid1] uniqueidentifier NOT NULL default(newid()) select * from #t +drop table #t +``` +--给查询结果集增加自增长列 --无主键时: +```sql +select IDENTITY(int,1,1)as ID, Name,[Login],[Password] into #t from ST_User +select * from #t --有主键时: +select (select SUM(1) from ST_User where ID<= a.ID) as myID,* from ST_User a order by myID +``` +--定义表变量 +```sql +declare @t table +``` +( +id int not null, +msg nvarchar(50) null +) +```sql +insert into @t values(1,'1') +insert into @t values(2,'2') +select * from @t +``` +三、循环 + +--while循环计算1到100的和 +```sql +declare @a int +declare @sum int +set @a=1 +set @sum=0 +while @a<=100 +``` +begin +```sql +set @sum+=@a +set @a+=1 +``` +end +print @sum +四、条件语句 + +--if,else条件分支 +if(1+1=2) +begin +print '对' +end +else +begin +print '错' +```sql +end --when then条件分支 +declare @today int +declare @week nvarchar(3) +set @today=3 +set @week=case +``` +when @today=1 then '星期一' +when @today=2 then '星期二' +when @today=3 then '星期三' +when @today=4 then '星期四' +when @today=5 then '星期五' +when @today=6 then '星期六' +when @today=7 then '星期日' +else '值错误' +end +```sql +print @week + +``` +五、游标 + +```sql +declare @ID int +declare @Oid int +declare @Login varchar(50) --定义一个游标 +declare user_cur cursor for select ID,Oid,[Login] from ST_User +``` +--打开游标 +```sql +open user_cur +while @@fetch_status=0 +``` +begin +--读取游标 +```sql +fetch next from user_cur into @ID,@Oid,@Login +print @ID +``` +--print @Login +end +close user_cur +--摧毁游标 +deallocate user_cur +六、触发器 + +  触发器中的临时表: + +  Inserted +  存放进行insert和update 操作后的数据 +  Deleted +  存放进行delete 和update操作前的数据 + +--创建触发器 +```sql +Create trigger User_OnUpdate +``` +On ST_User +for Update +As +```sql +declare @msg nvarchar(50) +``` +--@msg记录修改情况 +```sql +select @msg = N'姓名从“' + Deleted.Name + N'”修改为“' + Inserted.Name + '”' from Inserted,Deleted +``` +--插入日志表 +```sql +insert into [LOG](MSG)values(@msg) --删除触发器 +drop trigger User_OnUpdate +``` +七、存储过程 + +--创建带output参数的存储过程 +```sql +CREATE PROCEDURE PR_Sum +``` +@a int, +@b int, +@sum int output +AS +BEGIN +```sql +set @sum=@a+@b +END --创建Return返回值存储过程 +CREATE PROCEDURE PR_Sum2 +``` +@a int, +@b int +AS +BEGIN +Return @a+@b +```sql +END --执行存储过程获取output型返回值 +declare @mysum int +execute PR_Sum 1,2,@mysum output +print @mysum --执行存储过程获取Return型返回值 +declare @mysum2 int +execute @mysum2= PR_Sum2 1,2 +print @mysum2 +``` +八、自定义函数 + +  函数的分类: + +    1)标量值函数 + +    2)表值函数 + +        a:内联表值函数 + +        b:多语句表值函数 + +    3)系统函数 + +--新建标量值函数 +```sql +create function FUNC_Sum1 +``` +( +@a int, +@b int +) +returns int +as +begin +return @a+@b +```sql +end --新建内联表值函数 +create function FUNC_UserTab_1 +``` +( +@myId int +) +returns table +as +return (select * from ST_User where ID<@myId) --新建多语句表值函数 +```sql +create function FUNC_UserTab_2 +``` +( +@myId int +) +returns @t table +( +[ID] [int] NOT NULL, +[Oid] [int] NOT NULL, +[Login] [nvarchar](50) NOT NULL, +[Rtx] [nvarchar](4) NOT NULL, +[Name] [nvarchar](5) NOT NULL, +[Password] [nvarchar](max) NULL, +[State] [nvarchar](8) NOT NULL +) +as +begin +```sql +insert into @t select * from ST_User where ID<@myId +``` +return +```sql +end --调用表值函数 +select * from dbo.FUNC_UserTab_1(15) +``` +--调用标量值函数 +```sql +declare @s int +set @s=dbo.FUNC_Sum1(100,50) +print @s --删除标量值函数 +drop function FUNC_Sum1 +``` +谈谈自定义函数与存储过程的区别: + +一、自定义函数: + +  1. 可以返回表变量 + +  2. 限制颇多,包括 + +    不能使用output参数; + +    不能用临时表; + +    函数内部的操作不能影响到外部环境; + +    不能通过select返回结果集; + +    不能update,delete,数据库表; + +  3. 必须return 一个标量值或表变量 + +  自定义函数一般用在复用度高,功能简单单一,争对性强的地方。 + +二、存储过程 + +  1. 不能返回表变量 + +  2. 限制少,可以执行对数据库表的操作,可以返回数据集 + +  3. 可以return一个标量值,也可以省略return + +   存储过程一般用在实现复杂的功能,数据操纵方面。 \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/pg_hba.conf.md b/实践积累/个人知识库/数据库/pg_hba.conf.md new file mode 100755 index 0000000..d4309f4 --- /dev/null +++ b/实践积累/个人知识库/数据库/pg_hba.conf.md @@ -0,0 +1,11 @@ +METHOD指定如何处理客户端的认证。常用的有ident,md5,password,trust,reject +ident是Linux下PostgreSQL默认的local认证方式,凡是能正确登录服务器的操作系统用户(注:不是数据库用户)就能使用本用户映射的数据库用户不需密码登录数据库。用户映射文件为pg_ident.conf,这个文件记录着与操作系统用户匹配的数据库用户,如果某操作系统用户在本文件中没有映射用户,则默认的映射数据库用户与操作系统用户同名。比如,服务器上有名为user1的操作系统用户,同时数据库上也有同名的数据库用户,user1登录操作系统后可以直接输入psql,以user1数据库用户身份登录数据库且不需密码。很多初学者都会遇到psql -U username登录数据库却出现“username ident 认证失败”的错误,明明数据库用户已经createuser。原因就在于此,使用了ident认证方式,却没有同名的操作系统用户或没有相应的映射用户。解决方案:1、在pg_ident.conf中添加映射用户;2、改变认证方式。 +md5是常用的密码认证方式,如果你不使用ident,最好使用md5。密码是以md5形式传送给数据库,较安全,且不需建立同名的操作系统用户。 +password是以明文密码传送给数据库,建议不要在生产环境中使用。 +trust是只要知道数据库用户名就不需要密码或ident就能登录,建议不要在生产环境中使用。 +reject是拒绝认证。 +在文件查找 listen_addresses,他的值说明 +如果希望只能从本地计算机访问PostgreSQL数据库,就将该项设置为'localhost'; +如果希望从局域网访问PostgreSQL数据库,就将该项设置为PostgreSQL数据库的局域网IP地址; +如果希望从互联网访问PostgreSQL数据库,就将该项设置为PostgreSQL数据库的互联网IP地址; +如果希望从任何地方都可以访问PostgreSQL数据库,就将该配置项设置为“*”; \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/postgresql删除还有活动连接的数据库.md b/实践积累/个人知识库/数据库/postgresql删除还有活动连接的数据库.md new file mode 100755 index 0000000..2ec06b6 --- /dev/null +++ b/实践积累/个人知识库/数据库/postgresql删除还有活动连接的数据库.md @@ -0,0 +1,7 @@ +```sql +select `pg_terminate_backend(pid)` from `pg_stat_activity` where `datname`='testdb' and `pid`<>`pg_backend_pid();` +``` +==上面sql表示的是关闭数据库testdb的活动连接,接下来就可以用== +```sql +drop database `testdb;` +``` \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/systemctl start postgresql-12.service -- 启动服务.md b/实践积累/个人知识库/数据库/systemctl start postgresql-12.service -- 启动服务.md new file mode 100755 index 0000000..7aff084 --- /dev/null +++ b/实践积累/个人知识库/数据库/systemctl start postgresql-12.service -- 启动服务.md @@ -0,0 +1 @@ +systemctl start postgresql-12.service // 启动服务systemctl stop postgresql-12.service // 关闭服务systemctl restart postgresql-12.service // 重启服务systemctl status postgresql-12.service // 查看状态 \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/三峡数据变形值直接导出.md b/实践积累/个人知识库/数据库/三峡数据变形值直接导出.md new file mode 100755 index 0000000..2b9e14e --- /dev/null +++ b/实践积累/个人知识库/数据库/三峡数据变形值直接导出.md @@ -0,0 +1,26 @@ +/****** Script for SelectTopNRows command from SSMS ******/ + +```sql +declare @bx float +declare @by float +declare @bh float +select @bx=a.BaseX,@by=a.BaseY,@bh=a.BaseH from DataSyncPushConnector.dbo.DataSyncStation a +join [HiMonitorDB].[dbo].DeviceInfo b +``` +on a.DeviceName=b.DeviceName +```sql +where a.DeviceName='WZ0504' + +SELECT [GPSIndex] +``` +,[aDatetime] +,[X] +,[Y] +,[Height] +,([X]-@bx)*1000 as dx +,([Y]-@by)*1000 as dy +,([Height]-@bh)*1000 as dh +```sql +FROM [HiMonitorDB].[dbo].[wz0504_stc] a where aDatetime >'2020-04-1' +``` +order by aDatetime desc \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/关系型数据库遵循ACID规则.md b/实践积累/个人知识库/数据库/关系型数据库遵循ACID规则.md new file mode 100755 index 0000000..1f48d43 --- /dev/null +++ b/实践积累/个人知识库/数据库/关系型数据库遵循ACID规则.md @@ -0,0 +1,14 @@ +**关系型数据库遵循ACID规则** +==事务在英文中是transaction,和现实世界中的交易很类似,它有如下四个特性:== +**1、A (Atomicity) 原子性** +==原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。== +==比如银行转账,从A账户转100元至B账户,分为两个步骤:1)从A账户取100元;2)存入100元至B账户。这两步要么一起完成,要么一起不完成,如果只完成第一步,第二步失败,钱会莫名其妙少了100元。== +**2、C (Consistency) 一致性** +==一致性也比较容易理解,也就是说数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。== +==例如现有完整性约束a+b=10,如果一个事务改变了a,那么必须得改变b,使得事务结束后依然满足a+b=10,否则事务失败。== +**3、I (Isolation) 独立性** +==所谓的独立性是指并发的事务之间不会互相影响,如果一个事务要访问的数据正在被另外一个事务修改,只要另外一个事务未提交,它所访问的数据就不受未提交事务的影响。== +==比如现在有个交易是从A账户转100元至B账户,在这个交易还未完成的情况下,如果此时B查询自己的账户,是看不到新增加的100元的。== +**4、D (Durability) 持久性** +==持久性是指一旦事务提交后,它所做的修改将会永久的保存在数据库上,即使出现宕机也不会丢失。== + > 来自 <[http://www.runoob.com/mongodb/nosql.html](http://www.runoob.com/mongodb/nosql.html)> \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/内蒙古数据FTP推送脚本快速获取.md b/实践积累/个人知识库/数据库/内蒙古数据FTP推送脚本快速获取.md new file mode 100755 index 0000000..da6e343 --- /dev/null +++ b/实践积累/个人知识库/数据库/内蒙古数据FTP推送脚本快速获取.md @@ -0,0 +1,12 @@ +```sql +select a.DeviceName,b.ProjectID,a.id as DeviceId,a.MonTypeID,b.StationCode, b.Latitude as B ,b.Longitude as L,c.ConvertXValue as OriginX,c.ConvertYValue as OriginY,c.ConvertZValue as OriginZ from safeMonitorMgr.dbo.Mgr_Device as a +right join safeMonitorMgr.dbo.station as b +``` +on a.StationID=b.Id +```sql +right join safeMonitorMgr.dbo.HimonitorSyncConfig as c +``` +on c.DeviceID=a.id +```sql +where b.ProjectID =84 or b.ProjectID=85 +``` \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/单个HiMonitor 站点数据.md b/实践积累/个人知识库/数据库/单个HiMonitor 站点数据.md new file mode 100755 index 0000000..e17ce59 --- /dev/null +++ b/实践积累/个人知识库/数据库/单个HiMonitor 站点数据.md @@ -0,0 +1,26 @@ +```sql +declare @dt datetime --时间 +declare @gpsindex numeric(18,2) --GPSIndex +declare @rand float --随机数 +``` +--declare @GPSINDEX1 bigint +```sql +declare @adatetime1 datetime +declare @endDate datetime; --结束时间 +declare @X1 float +declare @Y1 float +declare @H1 float +declare @DX1 float +declare @DY1 float +declare @DH1 float +set @dt = GETDATE(); + +set @gpsindex = convert(bigint, datediff(ss, '1970-01-01 00:00:00', @dt))*1000 + datepart(ms,@dt) SET @DX1 = (rand()*-10 + 10)/4000 +SET @DY1 = (rand()*-10 + 9)/4000 +SET @DH1 =(rand()*-10 + 8)/4000 +SET @X1 = 4877965.53002158+ @DX1 +SET @Y1 = 537751.2022376+ @DY1 +SET @H1 = 888.1181+ @DH1 +SET @adatetime1 = DATEADD(S,@gpsindex/1000,'1970-01-01 00:00:00') +insert into HiMonitorDb.[dbo].plq_4_STC([GPSIndex],[aDatetime],[X],[Y],[Height],[dltaX],[dltaY],[dltaH])VALUES(@gpsindex,@adatetime1,@X1,@Y1,@H1,@DX1,@DY1,@DH1) +``` \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/去重.md b/实践积累/个人知识库/数据库/去重.md new file mode 100755 index 0000000..6be0ac4 --- /dev/null +++ b/实践积累/个人知识库/数据库/去重.md @@ -0,0 +1,15 @@ +begin tran + +```sql +select distinct * into #temp from DataSyncStationSX +delete DataSyncStationSX +go +insert DataSyncStationSX select * from #temp Sqlclub +go +drop table #temp + +select * from DataSyncStationSX +``` +order by sid + +commit \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/合肥董铺水库中间数据.md b/实践积累/个人知识库/数据库/合肥董铺水库中间数据.md new file mode 100755 index 0000000..80e90d3 --- /dev/null +++ b/实践积累/个人知识库/数据库/合肥董铺水库中间数据.md @@ -0,0 +1,103 @@ +```sql +USE [ZHDMTProj] +GO + +``` +/****** Object: StoredProcedure [dbo].[sp_ZHDMTProjProcedure20190615] Script Date: 2019/6/14 14:28:33 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +```sql +CREATE proc [dbo].[sp_ZHDMTProjProcedure20190615] +``` +( +@stationName nvarchar(500), +@dt datetime, +@endDate datetime +) +as --declare @dt datetime --时间 +```sql +declare @gpsindex numeric(18,2) --GPSIndex +declare @rand float --随机数 +declare @count int --计数 +``` +--declare @GPSINDEX1 bigint +```sql +declare @adatetime1 datetime +``` +--declare @endDate datetime; --结束时间 +```sql +declare @X1 float +declare @Y1 float +declare @H1 float +declare @DX1 float +declare @DY1 float +declare @DH1 float +declare @DX0 float +declare @DY0 float +declare @DH0 float +declare @X0 float +declare @Y0 float +declare @H0 float +declare @SELECT_SQL1 nvarchar(500) +declare @INSERT_SQL1 nvarchar(500) +``` +吴 卓山 于 2019-06-14 14:28 修改 +--set @dt = '2018-05-22 09:08:00.000'; +--set @endDate= '2018-12-13 11:19:00.000'; +--select @X1 = X,@Y1 = Y,@H1 = Height,@DX1=dltaX,@DY1=dltaY,@DH1=dltaH from MYB1_RTK where aDatetime = @dt + +```sql +SELECT @X0 =[Sx] , @Y0=[Sy] , @H0 =[Sh] --去station表拿基准 +FROM [ZHDMTProj].[dbo].[station] where sName=@stationName + + +SET @SELECT_SQL1='SELECT top 1 @DX0=dltaX , @DY0=dltaY , @DH0 =dltaH +FROM [ZHDMTProj].[dbo].'+ @stationName+' order by aDatetime desc'; +EXEC sp_executesql @SELECT_SQL1, N'@DX0 float out,@DY0 float out,@DH0 float out,@stationName nvarchar(500)',@DX0 out,@DY0 out,@DH0 out,@stationName + +``` +--求出基准坐标 +--set @X0=@X1-@DX1 +--set @Y0=@Y1-@DY1 +--set @H0=@H1-@DH1 +```sql +select @X0,@Y0,@H0 +``` +while(@dt < @endDate) begin +```sql +set @gpsindex = convert(bigint, datediff(ss, '1970-01-01 00:00:00', @dt))*1000 + datepart(ms,@dt) +SET @DX1 = @DX0+(rand()*-2 + 1.2) +SET @DY1 =@DY0+ (rand()*-2 +1.2) +SET @DH1 =@DH0+(rand()*-2 + 1.2) +SET @X1 = @X0+ @DX1/1000 +SET @Y1 = @Y0+ @DY1/1000 +SET @H1 = @H0+ @DH1/1000 +SET @adatetime1 = DATEADD(S,@gpsindex/1000,'1970-01-01 00:00:00') +BEGIN TRY SET @INSERT_SQL1=' insert into [ZHDMTProj].[dbo].'+ @stationName+' +``` +([GPSIndex],[aDatetime],[X],[Y],[Height],[dltaX],[dltaY],[dltaH]) +VALUES(@gpsindex,@adatetime1,@X1,@Y1,@H1,@DX1,@DY1,@DH1)' + +```sql +EXEC sp_executesql @INSERT_SQL1, +``` +N'@gpsindex bigint,@adatetime1 datetime,@X1 float,@Y1 float,@H1 float,@DX1 float,@DY1 float,@DH1 float' +,@gpsindex,@adatetime1,@X1,@Y1,@H1,@DX1,@DY1,@DH1 + +--insert into [ZHDMTProj].[dbo].LY03([GPSIndex],[aDatetime],[X],[Y],[Height],[dltaX],[dltaY],[dltaH])VALUES(@gpsindex,@adatetime1,@X1,@Y1,@H1,@DX1,@DY1,@DH1) END TRY +BEGIN +CATCH END CATCH +--**************** +```sql +set @count = @count + 1 +set @dt = DATEADD(HOUR,1,@dt) --每次递增5min +``` +end + + +GO \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/回补中间一段时间的GNSS数据.md b/实践积累/个人知识库/数据库/回补中间一段时间的GNSS数据.md new file mode 100755 index 0000000..a6d4f7e --- /dev/null +++ b/实践积累/个人知识库/数据库/回补中间一段时间的GNSS数据.md @@ -0,0 +1,52 @@ +```sql +declare @dt datetime --时间 +declare @gpsindex numeric(18,2) --GPSIndex +declare @rand float --随机数 +declare @count int --计数 +``` +--declare @GPSINDEX1 bigint +```sql +declare @adatetime1 datetime +declare @endDate datetime; --结束时间 +declare @X1 float +declare @Y1 float +declare @H1 float +declare @DX1 float +declare @DY1 float +declare @DH1 float +declare @X0 float +declare @Y0 float +declare @H0 float + +set @dt = '2020-1-17 12:30:00.000'; +set @endDate= '2020-5-18 18:00:00.000'; +select top 1 @X1 = X,@Y1 = Y,@H1 = Height,@DX1=dltaX,@DY1=dltaY,@DH1=dltaH from DC_GB09_STC where aDatetime < @dt order by aDatetime desc +``` +--求出基准坐标 +```sql +set @X0=@X1-@DX1 +set @Y0=@Y1-@DY1 +set @H0=@H1-@DH1 +select @X0,@Y0,@H0 +``` +while(@dt < @endDate) begin + +```sql +set @gpsindex = convert(bigint, datediff(ss, '1970-01-01 00:00:00', @dt))*1000 + datepart(ms,@dt) +SET @DX1 = RAND()*8-8/2; +SET @DY1 = RAND()*8-8/2; +SET @DH1 = RAND()*10-10/2; +SET @X1 = @X0+ @DX1/1000 +SET @Y1 = @Y0+ @DY1/1000 +SET @H1 = @H1+ @DH1/1000 +SET @adatetime1 = DATEADD(S,@gpsindex/1000,'1970-01-01 00:00:00') +BEGIN TRY insert into DC_GB09_STC([GPSIndex],[aDatetime],[X],[Y],[Height],[dltaX],[dltaY],[dltaH])VALUES(@gpsindex,@adatetime1,@X1,@Y1,@H1,@DX1,@DY1,@DH1) +END TRY BEGIN +``` +CATCH END CATCH +--**************** +```sql +set @count = @count + 1 +set @dt = DATEADD(MINUTE,30,@dt) --每次递增5min +``` +end \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/循环批量删除数据库表.md b/实践积累/个人知识库/数据库/循环批量删除数据库表.md new file mode 100755 index 0000000..a1137da --- /dev/null +++ b/实践积累/个人知识库/数据库/循环批量删除数据库表.md @@ -0,0 +1,55 @@ +--创建临时表 +```sql +create table #Man( +``` +id int identity(1,1), +tbName nvarchar(50) +) --往临时表插入数据 +```sql +insert into #Man +select name from sys.tables +where create_date<='2018-03-10 15:36:35.687' and name not in ('DeviceNetState','EphInfo','FilterStatistic','UserInfo','AlmInfo') +``` +order by create_date desc + +--确认 +```sql +select * from #Man + +``` +commit +rollback +begin tran + + +--定义循环变量 +```sql +declare @i int +set @i = 1 +declare @count int +select @count = count(*) from #Man + +``` +--print @count + +```sql +declare @str nvarchar(500) +declare @tb nvarchar(50) + +``` +while(@i <= @count) begin + +```sql +select @tb = isnull(tbName, '') from #Man where id = @i +``` +--循环执行语句 +```sql +set @str = 'drop table [' + @tb+ ']' +``` +exec(@str) + +```sql +set @str = '' +set @i = @i + 1 +``` +end \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/循环造固定数据值脚本.md b/实践积累/个人知识库/数据库/循环造固定数据值脚本.md new file mode 100755 index 0000000..5aa20dc --- /dev/null +++ b/实践积累/个人知识库/数据库/循环造固定数据值脚本.md @@ -0,0 +1,33 @@ +-- +```sql +declare @BeginDate datetime +declare @EndDate datetime + +declare @water1 float +declare @water2 float + +declare @gpsIndex nvarchar(50) + +set @BeginDate = '2018-08-27 00:00:00.000' +set @EndDate = '2018-08-27 18:59:59.997' +set @water1 = 2.16 +set @water2 = 1.07 + +``` +while(@BeginDate < @EndDate) begin +```sql +set @gpsIndex =convert(nvarchar(50),convert(bigint, datediff(ss, '1970-01-01 00:00:00', @BeginDate))*1000 + datepart(ms,@BeginDate)) + +insert into [ZHDMTProj].[dbo].[库水位1] ([GPSIndex],[aDatetime],[X]) +``` +values(@gpsIndex, @BeginDate, @water1) +```sql +insert into [ZHDMTProj].[dbo].[库水位2] ([GPSIndex],[aDatetime],[X]) +``` +values(@gpsIndex, @BeginDate, @water2) + +-- +```sql +set @BeginDate=DATEADD(MINUTE,1,@BeginDate) +``` +end \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/循环遍历插数据.md b/实践积累/个人知识库/数据库/循环遍历插数据.md new file mode 100755 index 0000000..23a2912 --- /dev/null +++ b/实践积累/个人知识库/数据库/循环遍历插数据.md @@ -0,0 +1,26 @@ +```sql +declare @x numeric(18,2) --X +declare @dt datetime --时间 +declare @gpsindex numeric(18,2) --GPSIndex +declare @rand float --随机数 +declare @count int --计数 + +set @x = 0 +set @count = 1 +set @dt = '2018-07-02 12:00:00' + +``` +while(@dt < getdate()) begin + +```sql +set @gpsindex = convert(bigint, datediff(ss, '1970-01-01 00:00:00', @dt))*1000 + datepart(ms,@dt) + + +insert into [ZHDMTProj].[dbo].[Flowmeter01]([GPSIndex],[aDatetime],[X]) values(@gpsindex, @dt, @x) --目标表 +``` +--**************** +```sql +set @count = @count + 1 +set @dt = DATEADD(ss,15,@dt) --每次递增30秒 +``` +end \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/批量创建app 表索引.md b/实践积累/个人知识库/数据库/批量创建app 表索引.md new file mode 100755 index 0000000..9da72c1 --- /dev/null +++ b/实践积累/个人知识库/数据库/批量创建app 表索引.md @@ -0,0 +1,36 @@ +```sql +use safeMonitorApp +``` +--声明一个变量 +```sql +declare @tbname as nvarchar(100); +``` +--声明一个游标用来遍历查询到的结果 +```sql +declare C_userID CURSOR for +select distinct TABLE_NAME from information_schema.COLUMNS +where TABLE_NAME like '%_App' --or TABLE_NAME like '%_App_' +``` +--打开游标 +```sql +open C_userID; +``` +--获取游标指向的数据 +```sql +fetch next from C_userID into @tbname; +while @@FETCH_STATUS = 0 +``` +BEGIN +--执行具体的操作 +--创建非聚集索引 +--create NONCLUSTERED INDEX 索引名称 ON 表名(字段名) +EXEC('create NONCLUSTERED INDEX '+'IX_'+@tbname+ ' ON '+@tbname+ '([deviceId] ASC,[CollectTime] DESC)') +--游标指向下一条数据 +```sql +FETCH next from C_userID into @tbname; +``` +END +--关闭游标 +CLose C_userID +--释放游标 +DEALLOCATE C_userID; \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/批量删除表.md b/实践积累/个人知识库/数据库/批量删除表.md new file mode 100755 index 0000000..74f94a3 --- /dev/null +++ b/实践积累/个人知识库/数据库/批量删除表.md @@ -0,0 +1,19 @@ +--------参数定义------------------- DECLARE @Table NVARCHAR(30) +```sql +DECLARE tmpCur CURSOR FOR +SELECT name FROM sys.objects WHERE TYPE='U' AND name LIKE N'%_SRC%' --删除所有含有"_QueryLog"的表 +OPEN tmpCur +FETCH NEXT FROM tmpCur INTO @Table WHILE @@FETCH_STATUS = 0 +``` +BEGIN +```sql +DECLARE @sql VARCHAR(100) +SELECT @sql = 'drop table ' + @Table +``` +EXEC(@sql) +```sql +FETCH NEXT FROM tmpCur INTO @Table +``` +END +CLOSE tmpCur +DEALLOCATE tmpCur \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/批量删除超前数据脚本.md b/实践积累/个人知识库/数据库/批量删除超前数据脚本.md new file mode 100755 index 0000000..35a6d53 --- /dev/null +++ b/实践积累/个人知识库/数据库/批量删除超前数据脚本.md @@ -0,0 +1,40 @@ +begin tran +commit +--rollback +--声明一个变量 +```sql +declare @tbname as nvarchar(100); +``` +--声明一个游标用来遍历查询到的结果 +```sql +declare C_userID CURSOR for +select distinct TABLE_NAME from information_schema.COLUMNS +where TABLE_NAME like '%_STC' or TABLE_NAME like '%_DYN' or TABLE_NAME like '%_RTK' +``` +--打开游标 +```sql +open C_userID; +``` +--获取游标指向的数据 +```sql +fetch next from C_userID into @tbname; +while @@FETCH_STATUS = 0 +``` +BEGIN +--执行具体的操作 +--删除未来的数据 +--DELETE +--FROM [HiMonitorDB].[dbo].[11350069_STC] +--WHERE aDatetime >'2020-02-03' + +--create NONCLUSTERED INDEX 索引名称 ON 表名(字段名) +EXEC('delete from [HiMonitorDB].[dbo].['+@tbname+'] where aDatetime>getdate()') +--游标指向下一条数据 +```sql +FETCH next from C_userID into @tbname; +``` +END +--关闭游标 +CLose C_userID +--释放游标 +DEALLOCATE C_userID; \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/批量删除超前数据脚本(监测云).md b/实践积累/个人知识库/数据库/批量删除超前数据脚本(监测云).md new file mode 100755 index 0000000..fe8fe5b --- /dev/null +++ b/实践积累/个人知识库/数据库/批量删除超前数据脚本(监测云).md @@ -0,0 +1,77 @@ +--声明一个变量 +```sql +declare @tbname as nvarchar(100); +``` +--声明一个游标用来遍历查询到的结果 +```sql +declare C_userID CURSOR for +select distinct TABLE_NAME from information_schema.COLUMNS +where TABLE_NAME like '%2020_SRC' +``` +--打开游标 +```sql +open C_userID; +``` +--获取游标指向的数据 +```sql +fetch next from C_userID into @tbname; +while @@FETCH_STATUS = 0 +``` +BEGIN +--执行具体的操作 +--删除未来的数据 +--DELETE +--FROM [HiMonitorDB].[dbo].[11350069_STC] +--WHERE aDatetime >'2020-02-03' + +--create NONCLUSTERED INDEX 索引名称 ON 表名(字段名) +EXEC('delete from [safeMonitorSrc].[dbo].['+@tbname+'] where CollectTime>GETDATE()') +--游标指向下一条数据 +```sql +FETCH next from C_userID into @tbname; +``` +END +--关闭游标 +CLose C_userID +--释放游标 +DEALLOCATE C_userID; + +begin tran +COMMIT +--声明一个变量 +```sql +declare @tbname as nvarchar(100); +``` +--声明一个游标用来遍历查询到的结果 +```sql +declare C_userID CURSOR for +select distinct TABLE_NAME from information_schema.COLUMNS +where TABLE_NAME like '%2020_APP' +``` +--打开游标 +```sql +open C_userID; +``` +--获取游标指向的数据 +```sql +fetch next from C_userID into @tbname; +while @@FETCH_STATUS = 0 +``` +BEGIN +--执行具体的操作 +--删除未来的数据 +--DELETE +--FROM [HiMonitorDB].[dbo].[11350069_STC] +--WHERE aDatetime >'2020-02-03' + +--create NONCLUSTERED INDEX 索引名称 ON 表名(字段名) +EXEC('delete from [safeMonitorAPP].[dbo].['+@tbname+'] where CollectTime>GETDATE()') +--游标指向下一条数据 +```sql +FETCH next from C_userID into @tbname; +``` +END +--关闭游标 +CLose C_userID +--释放游标 +DEALLOCATE C_userID; \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/批量增加非聚集索引.md b/实践积累/个人知识库/数据库/批量增加非聚集索引.md new file mode 100755 index 0000000..12ba312 --- /dev/null +++ b/实践积累/个人知识库/数据库/批量增加非聚集索引.md @@ -0,0 +1,66 @@ +--声明一个变量 +```sql +declare @tbname as nvarchar(100); +``` +--声明一个游标用来遍历查询到的结果 +```sql +declare C_userID CURSOR for +select distinct TABLE_NAME from information_schema.COLUMNS +where TABLE_NAME like '%_clean' +``` +--打开游标 +```sql +open C_userID; +``` +--获取游标指向的数据 +```sql +fetch next from C_userID into @tbname; +while @@FETCH_STATUS = 0 +``` +BEGIN +--执行具体的操作 +--创建非聚集索引 +--create NONCLUSTERED INDEX 索引名称 ON 表名(字段名) +EXEC('create NONCLUSTERED INDEX '+'IX_'+@tbname+ ' ON '+@tbname+ '([Style] ASC,[aDatetime] DESC)') +--游标指向下一条数据 +```sql +FETCH next from C_userID into @tbname; +``` +END +--关闭游标 +CLose C_userID +--释放游标 +DEALLOCATE C_userID; + +--声明一个变量 +```sql +declare @tbname as nvarchar(100); +``` +--声明一个游标用来遍历查询到的结果 +```sql +declare C_userID CURSOR for +select distinct TABLE_NAME from information_schema.COLUMNS +where TABLE_NAME like '%_2020_APP' +``` +--打开游标 +```sql +open C_userID; +``` +--获取游标指向的数据 +```sql +fetch next from C_userID into @tbname; +while @@FETCH_STATUS = 0 +``` +BEGIN +--执行具体的操作 +--创建非聚集索引 +--create NONCLUSTERED INDEX 索引名称 ON 表名(字段名) +EXEC('create NONCLUSTERED INDEX '+'IX_'+@tbname+ ' ON '+@tbname+ '([DeviceId] ASC,[CollectTime] DESC)') +--游标指向下一条数据 +```sql +FETCH next from C_userID into @tbname; +``` +END +--关闭游标 +CLose C_userID +--释放游标 DEALLOCATE C_userID; \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/按日分组求均值.md b/实践积累/个人知识库/数据库/按日分组求均值.md new file mode 100755 index 0000000..0776924 --- /dev/null +++ b/实践积累/个人知识库/数据库/按日分组求均值.md @@ -0,0 +1,7 @@ +SELECT +convert(char(10),aDatetime,120) +,round(avg([X]),6) +,round(avg([Y]),6) +,round(avg([Height]),6) FROM [ZHDMTProj].[dbo].[TLDZ1] +group by ( convert(char(10),aDatetime,120)) +order by ( convert(char(10),aDatetime,120)) \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/新增站点基准信息增加.md b/实践积累/个人知识库/数据库/新增站点基准信息增加.md new file mode 100755 index 0000000..f4f2d64 --- /dev/null +++ b/实践积累/个人知识库/数据库/新增站点基准信息增加.md @@ -0,0 +1,14 @@ +```sql +use HiMonitorDB; +select * from DataSyncStationSX +where sname in ('GJ1201','GB1201','GB1202','GB1203','GB1204','GB1205','GB1206') +begin tran +exec sp_NDrefrenceValue 'GB1201','2019-05-1 00:00:00.000',0,0,0 +exec sp_NDrefrenceValue 'GB1202', '2019-05-1 00:00:00.000',0,0,0 +exec sp_NDrefrenceValue 'GB1203', '2019-05-1 00:00:00.000',0,0,0 +exec sp_NDrefrenceValue 'GB1204', '2019-05-1 00:00:00.000',0,0,0 +exec sp_NDrefrenceValue 'GB1205', '2019-05-1 00:00:00.000',0,0,0 +exec sp_NDrefrenceValue 'GB1206', '2019-05-1 00:00:00.000',0,0,0 + +``` +commit \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/无日志文件附加数据库失败解决.md b/实践积累/个人知识库/数据库/无日志文件附加数据库失败解决.md new file mode 100755 index 0000000..3802a49 --- /dev/null +++ b/实践积累/个人知识库/数据库/无日志文件附加数据库失败解决.md @@ -0,0 +1,8 @@ +## 第一步:先建立一个同名数据库,停止SQL SERVER200**==8****,将原来的.mdf****数据库文件****覆盖刚新建的.mdf****数据库文件**==,重新启动数据库第二步:查询分析器执行, + +| | | +|---|---| +|1
2
3
4
5
6
7|**alter** **database** NEWDBNAME **set** emergency  
**declare** @databasename **varchar**(255)
**set** @databasename='NEWDBNAME'
**exec** sp_dboption @databasename, N'single', N'true'
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS) --将目标数据库置为单用户状态
dbcc checkdb(@databasename,REPAIR_REBUILD)
**exec** sp_dboption @databasename, N'single', N'false'| + +## 第三步:以上代码请同时运行,可能会出现“数据库其他多个文件与数据库主文件不匹配....”错误,请多次重试执行以上代码 。 + > 来自 <[https://zhidao.baidu.com/question/1754918389526048868.html?qbl=relate_question_0&word=sql2008%C8%D5%D6%BE%CE%C4%BC%FE%D3%EB%D6%F7%CE%C4%BC%FE%B2%BB%C6%A5%C5%E4](https://zhidao.baidu.com/question/1754918389526048868.html?qbl=relate_question_0&word=sql2008%C8%D5%D6%BE%CE%C4%BC%FE%D3%EB%D6%F7%CE%C4%BC%FE%B2%BB%C6%A5%C5%E4)> \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/松滋 2号店循环造rtk.md b/实践积累/个人知识库/数据库/松滋 2号店循环造rtk.md new file mode 100755 index 0000000..17f24a0 --- /dev/null +++ b/实践积累/个人知识库/数据库/松滋 2号店循环造rtk.md @@ -0,0 +1,58 @@ +rollback +commit +begin tran + +```sql +declare @x numeric(18,2) --X +declare @dt datetime --时间 +declare @gpsindex numeric(18,2) --GPSIndex +declare @rand float --随机数 +declare @count int --计数 + +set @x = 0 +set @count = 1 +set @dt = '2018-09-01 18:35:00' + +``` +while(@dt < getdate()) begin + +-- set @gpsindex = convert(bigint, datediff(ss, '1970-01-01 00:00:00', @dt))*1000 + datepart(ms,@dt) + + +```sql +declare @SELECT_SQL1 NVARCHAR(500) +declare @GPSINDEX1 bigint +declare @utcnow1 datetime +declare @adatetime1 datetime +declare @X1 float +declare @Y1 float +declare @H1 float +declare @DX1 float +declare @DY1 float +declare @DH1 float + +SET @SELECT_SQL1 = 'SELECT TOP 1 @X1=T.[X],@Y1 = T.[Y],@H1=T.[Height],@DX1=T.[dltaX],@DY1=T.[dltaY],@DH1=T.[dltaH] FROM [HMProject].[dbo].[SongZi2_RTK] AS T order by ADATETIME desc' + +EXEC sp_executesql @SELECT_SQL1, N'@X1 float out,@Y1 float out,@H1 float out,@DX1 float out,@DY1 float out,@DH1 float out',@X1 out,@Y1 out,@H1 out,@DX1 out,@DY1 out,@DH1 out + +SET @utcnow1 = GETDATE() +SET @GPSINDEX1 = (cast(datediff(ss,'1970-01-01',@dt) as bigint)*1000) - ((DateName(minute,@utcnow1))%10)*60000 - DateName(second,@utcnow1)*1000 +SET @X1 = @X1+ (rand()*-1 + 0.501)/2000 SET @Y1 = @Y1+ (rand()*-1 + 0.501)/2000 SET @H1 = @H1+ (rand()*-1 + 0.499)/2000 SET @DX1 = @DX1+ rand()/99 SET @DY1 = @DY1+ rand()/99 SET @DH1 = + +``` +@DH1+ rand()/99 +```sql +SET @adatetime1 = DATEADD(S,@GPSINDEX1/1000,'1970-01-01 00:00:00') + +BEGIN TRY insert into [HMProject].[dbo].[SongZi2_RTK]([GPSIndex],[aDatetime],[X],[Y],[Height],[dltaX],[dltaY],[dltaH])VALUES(@GPSINDEX1,@adatetime1,@X1,@Y1,@H1,@DX1,@DY1,@DH1) END TRY BEGIN + +``` +CATCH END CATCH + +--insert into [ZHDMTProj].[dbo].[Flowmeter01]([GPSIndex],[aDatetime],[X]) values(@gpsindex, @dt, @x) --目标表 +--**************** +```sql +set @count = @count + 1 +set @dt = DATEADD(MI,5,@dt) --每次递增5 min +``` +end \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/模拟一段数据.md b/实践积累/个人知识库/数据库/模拟一段数据.md new file mode 100755 index 0000000..a982660 --- /dev/null +++ b/实践积累/个人知识库/数据库/模拟一段数据.md @@ -0,0 +1,51 @@ +```sql +declare @dt datetime --时间 +declare @gpsindex numeric(18,2) --GPSIndex +declare @rand float --随机数 +declare @count int --计数 +``` +--declare @GPSINDEX1 bigint +```sql +declare @adatetime1 datetime +declare @endDate datetime; --结束时间 +declare @X1 float +declare @Y1 float +declare @H1 float +declare @DX1 float +declare @DY1 float +declare @DH1 float +declare @X0 float +declare @Y0 float +declare @H0 float + +set @dt = '2018-10-23 03:08:00.000'; +set @endDate= '2018-11-20 18:19:00.000'; +select @X1 = X,@Y1 = Y,@H1 = Height,@DX1=dltaX,@DY1=dltaY,@DH1=dltaH from MYB1_RTK where aDatetime = @dt +``` +--求出基准坐标 +```sql +set @X0=@X1-@DX1 +set @Y0=@Y1-@DY1 +set @H0=@H1-@DH1 +select @X0,@Y0,@H0 +``` +while(@dt < @endDate) begin + +```sql +set @gpsindex = convert(bigint, datediff(ss, '1970-01-01 00:00:00', @dt))*1000 + datepart(ms,@dt) SET @DX1 = (rand()*-10 + 10)/2000 +SET @DY1 = (rand()*-10 + 9)/2000 +SET @DH1 =(rand()*-10 + 8)/2000 +SET @X1 = @X0+ @DX1 +SET @Y1 = @Y0+ @DY1 +SET @H1 = @H1+ @DH1 +SET @adatetime1 = DATEADD(S,@gpsindex/1000,'1970-01-01 00:00:00') +BEGIN TRY insert into HiMonitorDb.[dbo].MYB1_RTK([GPSIndex],[aDatetime],[X],[Y],[Height],[dltaX],[dltaY],[dltaH])VALUES(@gpsindex,@adatetime1,@X1,@Y1,@H1,@DX1,@DY1,@DH1) +END TRY BEGIN +``` +CATCH END CATCH +--**************** +```sql +set @count = @count + 1 +set @dt = DATEADD(MINUTE,5,@dt) --每次递增5min +``` +end \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/解除数据库占用连接.md b/实践积累/个人知识库/数据库/解除数据库占用连接.md new file mode 100755 index 0000000..27e0db6 --- /dev/null +++ b/实践积累/个人知识库/数据库/解除数据库占用连接.md @@ -0,0 +1,22 @@ +use master +```sql +declare @spid int ; +declare @ddlstring nvarchar(max); +declare @dbname varchar(200); +set @dbname='数据库名'; +declare tmpcur cursor +for select distinct spid as spid from sys.sysprocesses +where dbid=db_id(@dbname) ; +OPEN tmpcur; +fetch tmpcur into @spid ; +while (@@FETCH_STATUS=0) +``` + begin +```sql +   set @ddlstring=N'Kill '+CONVERT( nvarchar,@spid) ; +   execute sp_executesql @ddlstring ; +   fetch tmpcur into @spid ; + end ; +``` +close tmpcur ; +deallocate tmpcur ; \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/运行中数据库收缩脚本.md b/实践积累/个人知识库/数据库/运行中数据库收缩脚本.md new file mode 100755 index 0000000..5d467f2 --- /dev/null +++ b/实践积累/个人知识库/数据库/运行中数据库收缩脚本.md @@ -0,0 +1,43 @@ +use master +go + +```sql +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_killspid]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) +drop procedure [dbo].[p_killspid] +GO + +create proc p_killspid +``` +@dbname varchar(200) --要关闭进程的数据库名 +as +```sql +declare @sql nvarchar(500) +declare @spid nvarchar(20) + +declare #tb cursor for +select spid=cast(spid as varchar(20)) from master..sysprocesses where dbid=db_id(@dbname) +open #tb +fetch next from #tb into @spid +while @@fetch_status=0 +``` +begin +exec('kill '+@spid) +```sql +fetch next from #tb into @spid +``` +end +close #tb +deallocate #tb +go + +--用法 +```sql +exec p_killspid 'safeMonitorMgr' +go +``` +DBCC SHRINKDATABASE (safeMonitorMgr) +go + +```sql +drop proc p_killspid +``` \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/链接服务器远程查询.md b/实践积累/个人知识库/数据库/链接服务器远程查询.md new file mode 100755 index 0000000..0817502 --- /dev/null +++ b/实践积累/个人知识库/数据库/链接服务器远程查询.md @@ -0,0 +1 @@ +> \ No newline at end of file diff --git a/实践积累/个人知识库/数据库/附加数据库.md b/实践积累/个人知识库/数据库/附加数据库.md new file mode 100755 index 0000000..db4f31f --- /dev/null +++ b/实践积累/个人知识库/数据库/附加数据库.md @@ -0,0 +1,3 @@ +```sql +exec sp_attach_single_file_db @dbname='ZHDMTProj_SX',@physname='F:\DataBases\ZHDMTProj_SX.mdf' +``` \ No newline at end of file diff --git a/实践积累/工作记录/传感器/INDEX_传感器.md b/实践积累/工作记录/传感器/INDEX_传感器.md new file mode 100755 index 0000000..2a63c4f --- /dev/null +++ b/实践积累/工作记录/传感器/INDEX_传感器.md @@ -0,0 +1,25 @@ +--- +title: 传感器 索引 +tags: + - 索引 +created: 2026-04-21 +--- + +# 传感器 + +> 自动生成的索引文件 + +## 文件列表 + +| 文件名 | 大小 | 说明 | +|--------|------|------| +| [[关于偶发数据不过滤的临时解决方法]] | 796B | | +| [[分体式超声波水位计]] | 69B | | +| [[地灾四级报警]] | 511B | | +| [[平差]] | 290B | | +| [[浸润线配置使用]] | 457B | | +| [[物联网卡]] | 161B | | +| [[葛南]] | 72B | | + +--- +*共 7 个文件* diff --git a/实践积累/工作记录/传感器/关于偶发数据不过滤的临时解决方法.md b/实践积累/工作记录/传感器/关于偶发数据不过滤的临时解决方法.md new file mode 100755 index 0000000..e021a2d --- /dev/null +++ b/实践积累/工作记录/传感器/关于偶发数据不过滤的临时解决方法.md @@ -0,0 +1,18 @@ +1、如果采集程序正常采集,而出现前端看不到最新数据。可能是原程序出现过滤bug。 +2、打开数据库,执行下列sql语句 查看雨量过滤表的数据情况。如果数据不齐全,就确认为数据过滤问题。 + +SELECT * +```sql +FROM [ZHDMTProj].[dbo].[YLJ_clean] where Style>0 +``` +order by aDatetime desc +3、停止SG采集程序,暂停数据入库。 +4、找到开始缺失的过滤时间点。 执行下列语句,删除影响程序运行的历史数据。(用缺失时间点替换下面的2018-07-01 23:59:59.000) +```sql +delete FROM [ZHDMTProj].[dbo].[YLJ_clean] +where aDatetime>'2018-07-01 23:59:59.000' + +``` +5、重启SG采集程序,1分钟以内就可以完成重新过滤审核任务。 + +6、打开网站验证数据是否正常展示。 \ No newline at end of file diff --git a/实践积累/工作记录/传感器/分体式超声波水位计.md b/实践积累/工作记录/传感器/分体式超声波水位计.md new file mode 100755 index 0000000..9e1e8cf --- /dev/null +++ b/实践积累/工作记录/传感器/分体式超声波水位计.md @@ -0,0 +1 @@ +分体式超声波水位计,型号:XJ-F-N-15C,13924135458上官 \ No newline at end of file diff --git a/实践积累/工作记录/传感器/地灾四级报警.md b/实践积累/工作记录/传感器/地灾四级报警.md new file mode 100755 index 0000000..5f9ca22 --- /dev/null +++ b/实践积累/工作记录/传感器/地灾四级报警.md @@ -0,0 +1,7 @@ +蓝色预警(Ⅳ级应急响应,地质灾害发生可能性较小) +预警等级、防御措施及应急响应级别一览表 +等级 颜色 色标 含 义 应急响应级别 +蓝色预警 蓝色(R=0,G=0,B=255) 灾害发生可能性较小 Ⅳ级 +黄色预警 黄色(R=255,G=255,B=0) 灾害发生可能性较大 ( 注意 ) Ⅲ级 +橙色预警 橙色(R=242,G=165,B=0) 灾害发生可能性大(预警) Ⅱ级 +红色预警 红色(R=255,G=0,B=0) 灾害发生可能性很大 (警报) Ⅰ级 \ No newline at end of file diff --git a/实践积累/工作记录/传感器/平差.md b/实践积累/工作记录/传感器/平差.md new file mode 100755 index 0000000..96e8feb --- /dev/null +++ b/实践积累/工作记录/传感器/平差.md @@ -0,0 +1,3 @@ +1. 经典平差:选择固定基准,网点位移是相对于固定点的变化量; +2. 秩亏自由网平差:选择全网重心基准,网点位移是相对于网的重心的变化量; +3. 拟稳平差:选择局部重心基准,网点位移是相对于拟稳点的重心的变化量。 \ No newline at end of file diff --git a/实践积累/工作记录/传感器/浸润线配置使用.md b/实践积累/工作记录/传感器/浸润线配置使用.md new file mode 100755 index 0000000..949cb49 --- /dev/null +++ b/实践积累/工作记录/传感器/浸润线配置使用.md @@ -0,0 +1,9 @@ +前端展示的曲线值为 孔口到 水面的距离。 +报警值设置为 从大到小。 + +SG中需要配置一个 孔口高程的值,然后数据库存的是孔口高程减去仪器测量的水深。 +如果不配置的话,就会出现负值。 + +![Exported image](Exported%20image%2020260407230251-0.png) + +![0 0](Exported%20image%2020260407230253-1.png) ![m 21s 41 1 2 9 97 191 9 28 57 18L55 172 21 152 75 ...](Exported%20image%2020260407230255-2.png) \ No newline at end of file diff --git a/实践积累/工作记录/传感器/物联网卡.md b/实践积累/工作记录/传感器/物联网卡.md new file mode 100755 index 0000000..59e655c --- /dev/null +++ b/实践积累/工作记录/传感器/物联网卡.md @@ -0,0 +1,2 @@ +![4008285656 8986 0317 4520 5378 259G CID 10649](Exported%20image%2020260407230310-0.jpeg) +![4G 10649 4G CHINA TELECOM](Exported%20image%2020260407230315-1.jpeg) \ No newline at end of file diff --git a/实践积累/工作记录/传感器/葛南.md b/实践积累/工作记录/传感器/葛南.md new file mode 100755 index 0000000..4fe8dab --- /dev/null +++ b/实践积累/工作记录/传感器/葛南.md @@ -0,0 +1 @@ +![GDA1901 GDAI 2 GDAI 2 19 5 1](Exported%20image%2020260407230305-0.png) \ No newline at end of file diff --git a/实践积累/工作记录/工作日志/202260406.md b/实践积累/工作记录/工作日志/202260406.md new file mode 100755 index 0000000..50dae59 --- /dev/null +++ b/实践积累/工作记录/工作日志/202260406.md @@ -0,0 +1,13 @@ + + +# 标题 + +今天的天气非常好 + +水文测报云的项目方案 + + + +- [ ] 明天需要做什么? +- [ ] 真的吗 +- [ ] 这么多啊 diff --git a/实践积累/工作记录/工作日志/2026-04-06.md b/实践积累/工作记录/工作日志/2026-04-06.md new file mode 100755 index 0000000..50dae59 --- /dev/null +++ b/实践积累/工作记录/工作日志/2026-04-06.md @@ -0,0 +1,13 @@ + + +# 标题 + +今天的天气非常好 + +水文测报云的项目方案 + + + +- [ ] 明天需要做什么? +- [ ] 真的吗 +- [ ] 这么多啊 diff --git a/实践积累/工作记录/工作日志/2026-04-07.md b/实践积累/工作记录/工作日志/2026-04-07.md new file mode 100755 index 0000000..00b553b --- /dev/null +++ b/实践积累/工作记录/工作日志/2026-04-07.md @@ -0,0 +1,2 @@ + +- [ ] 测试数据 diff --git a/实践积累/工作记录/工作日志/2026-04-21.md b/实践积累/工作记录/工作日志/2026-04-21.md new file mode 100755 index 0000000..5bc597b --- /dev/null +++ b/实践积累/工作记录/工作日志/2026-04-21.md @@ -0,0 +1,41 @@ +--- +title: 2026-04-21 工作日志 +tags: + - 日志 + - 每日 +created: 2026-04-21 +--- + +# 2026-04-21 工作日志 + +## 今日完成 + +- [x] 知识库整理归档 + - 整理了 实践积累 下所有笔记 + - 补充了 Docker / 数据库 / dotNet / Linux / GNSS / PMP 知识库 +- [x] Obsidian 知识库重新分类 +- [x] AI Agent 工程知识体系研究 + - Harness Engineering + - Superpowers + - Agentic SE + +## 明日待办 + +- [ ] 股票行情追踪(天际股份Q1财报4月29日) +- [ ] GitHub Trending(22:00) +- [ ] 美伊战争动态继续关注 + +## 备注 + +今天集中整理了知识库,将散落的技能笔记和新建的技术知识库做了系统归档。 + +--- + +## 今日行情(2026-04-20收盘) + +| 股票 | 收盘 | 涨跌 | +|------|------|------| +| 比亚迪 | 102.91 | -0.84% | +| 天际股份 | 34.49 | -1.93% | +| 永辉超市 | 3.95 | -3.89% | +| 拓普集团 | 60.57 | -0.66% | diff --git a/实践积累/工作记录/工作日志/工作日志首页.md b/实践积累/工作记录/工作日志/工作日志首页.md new file mode 100755 index 0000000..6983a70 --- /dev/null +++ b/实践积累/工作记录/工作日志/工作日志首页.md @@ -0,0 +1,28 @@ +--- +title: 工作日志 +tags: + - 日志 + - 工作 +created: 2026-04-21 +--- + +# 工作日志 + +日常工作的记录和追踪。 + +## 按月归档 + +- [[2026-04-21]] ← 今天 +- [[2026-04-07]] — 简单记录 +- [[2026-04-06]] — 水文测报云项目方案 + +## 索引 + +[[工作记录]] — 工作总览 + +--- + +## 待办事项提醒 + +- [ ] 天际股份Q1财报:4月29日 +- [ ] GitHub Trending:每日22:00 diff --git a/实践积累/工作记录/每周事务/10月第一周.md b/实践积累/工作记录/每周事务/10月第一周.md new file mode 100755 index 0000000..1a11f78 --- /dev/null +++ b/实践积累/工作记录/每周事务/10月第一周.md @@ -0,0 +1,16 @@ +- [x] 短信服务开通以及申请 + +- [x] 铜陵项目处理 +- [x] 10月PBC编写 提交 +- [x] 后端数据获取鉴权问题 +- [x] UI沟通 +- [x] 广州翰南项目技术支持 +- [x] 新源项目数据删除恢复 +- [x] 新源项目数据库清理与系统数据恢复 +- [x] 新疆薛磊原型系统查看 +- [x] 第三期新晋管理人员培训 +- [x] .net后端代码规范 +- [x] 项目详细计划更新 +- [ ] 新版app著作权提前申请 +- [x] 新源项目数据删除恢复 +- [x] 新疆薛磊原型系统查看 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/10月第二周.md b/实践积累/工作记录/每周事务/10月第二周.md new file mode 100755 index 0000000..528a927 --- /dev/null +++ b/实践积累/工作记录/每周事务/10月第二周.md @@ -0,0 +1,20 @@ +- [x] 七台河项目问题处理(数据恢复问题处理)邮件发送领导 +- [x] 深圳地质局危房监测需求交流 +- [x] 云南交科院数据恢复 +- [x] 巴东项目数据恢复与短信服务?,雨量采集 +- [x] 麻栗坝南瑞服务器宕机后数据同步恢复\ + + +- [x] 出差报销 + +- [x] svn代码迁移到集团svn +- [x] 实用型地灾数据处理专利申请编写 任务分配 +- [x] 前端发布一个测试版本到测试服务器 +- [x] .net后端代码规范(10月)任务分配 +- [x] APP 架构搭建 +- [x] 项目等相关文档 详细计划更新 并迁移到新的 svn +- [x] PDM 文件编码申请 + +- [x] 新疆新源反馈意见回复 +- [x] 中缅天然气管道工程地灾在线监测系统 (远程协助处理) +- [x] 成都理工短信接口账户分配 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/10月第四周.md b/实践积累/工作记录/每周事务/10月第四周.md new file mode 100755 index 0000000..fcb16d9 --- /dev/null +++ b/实践积累/工作记录/每周事务/10月第四周.md @@ -0,0 +1,13 @@ +- [x] 监测云Logo 设计(盾牌 安全,网 监测 草案) +- [x] SVN 迁移到集团 +- [x] 周例会首席架构师刘金涛加入 +- [x] 贺江华标书偏离表校核 +- [x] 测试计划上报 集成测试部 +- [x] 统计服务进展沟通(生勇) +- [x] 测试资源沟通(测试部门) +- [x] 监测云测试计划沟通(这周五提供后台服务3个的测试) +- [x] 明天上午十点到九楼腾云智绘无人机实景三维方面的沟通 +- [x] 十月PBC提交 +- [x] 杨硕安徽淮南NetMonitorC2C软件故障排查 +- [x] 工作计划沟通更新 +- [x] 成都理工短信服务开通沟通相关 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/11月第一周.md b/实践积累/工作记录/每周事务/11月第一周.md new file mode 100755 index 0000000..6db7f2b --- /dev/null +++ b/实践积累/工作记录/每周事务/11月第一周.md @@ -0,0 +1,10 @@ +- [x] 新疆新源完成主要几个修改点展示给客户,地质灾害灾后评价项目 需求功能确定 并进行立项(周三) +- [x] 麻栗坝验收材料文档编写(前后端) +- [ ] HiMonitor2.0 远程控制功能调试与恢复(涉及Z3 远程控制 Z3 默认的数据和控制端口为19999) + + +- [x] 成都理工短信服务开通沟通 +- [x] APP 原型与 功能确定 +- [x] 协助测试搭建测试环境 +- [ ] 后台框架无法使用window service bug调试 +- [x] 监测云平台架构设计书 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/11月第三周.md b/实践积累/工作记录/每周事务/11月第三周.md new file mode 100755 index 0000000..d916a69 --- /dev/null +++ b/实践积累/工作记录/每周事务/11月第三周.md @@ -0,0 +1,10 @@ +- [ ] 使用说明书一份。源码文档一份,共三份。——时间点2018年11月20日前。 +- [ ] 测试用例评审 11.19 +- [x] 321地质队数据跳动查找 +- [x] HiMonitor2.0 后台重启后 跳动bug ,精度信息保存 +- [x] 用户中心页面开发 +- [x] 巴东项目维护 +- [x] 铜陵项目维护 +- [x] WGS84坐标转换高斯平面坐标 新方法实现 +- [x] 新疆项目发布一个版本 +- [x] 后台服务框架优化,支持windows 服务运行 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/11月第二周.md b/实践积累/工作记录/每周事务/11月第二周.md new file mode 100755 index 0000000..59f1d50 --- /dev/null +++ b/实践积累/工作记录/每周事务/11月第二周.md @@ -0,0 +1,35 @@ +- [ ] SG 1.5的过滤bug 修复与提交测试 +- [ ] 申请IOS 开发证书资源 +- [ ] Cesium 三维地形下载 + +- [ ] 优生,综合展示模块一份,时间11月15日前—— +- [ ] 李然,数据管理模块一份,时间11月15日前—— +- [ ] 伟冰,数据分析模块一份,时间11月15日前—— +- [ ] 蓝轩,项目管理模块一份,时间11月15日前—— +- [ ] 蓝轩&伟冰,系统管理模块一份,时间11月15日前—— +- [ ] 生勇,后台服务模块一份。时间11月15日前—— +- [ ] 卓山,APP模块一份。 时间11月15日前—— +- [ ] 蓝轩,数据库设计说明书,2018.11.10 + +- [x] 地址灾后软著申请 需求规格说明书一份 +- [ ] 地质灾害使用说明书以及测试用例编写 +- [ ] 前端网站完善性检查与处理 +- [x] 立项阶段相关资料需求补充(一周,11月6日) +- [x] 策划阶段文档补充11月15日(QA) +- [x] 监测相关知识产权台账库整理 +- [x] 架构设计说明书以及对应的评审以及评审报告 +- [ ] 立项策划阶段文档列入PDM +- [ ] 策划阶段文档例如PDM +- [x] 西昌项目技术支持(干滩) +- [x] 七台河项目技术支持问题修复。 +- [x] 修改软件需求书,重新划分版本 +- [x] 数据纵向列转行研究脚本(不适宜) +- [x] 雨量计统计问题(猇亭与巴东) +- [x] 龙岩项目迁移 +- [x] 铜陵321地质队项目处理 +- [x] 集成测试问题测斜仪问题(端口没占用成功与设备分配可能存在问题) +- [ ] 后端服务的自测 +- [x] 报表组件NPOI CORE 2.1 +- [x] 118云服务器端口清理 +- [ ] 新疆项目按照修改意见修改,以及 +- [x] 新疆的新源自动登录去除 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/11月第四周.md b/实践积累/工作记录/每周事务/11月第四周.md new file mode 100755 index 0000000..fded199 --- /dev/null +++ b/实践积累/工作记录/每周事务/11月第四周.md @@ -0,0 +1,27 @@ +- [x] 重庆市场装备入库 测试协助 +- [x] 新疆新的反馈需求更改 +- [x] 灾后评价项目收尾以及部署到客户服务器上 +- [x] 文档编写以及 +- [x] 灾后评价项目新增两个页面 +- [x] 报警短信邮件模板 +- [ ] 模块设计文档 +- [ ] 数据库设计文档 +- [x] 报警短信模板处理 +- [x] HiMonitor2.0 优化 +- [ ] 新源项目需求文档重写 +- [x] 安全卫士SG 接入邮件和短信报警模块升级 +- [ ] 麻栗坝坐标调整(XYH方向为当地坐标系) +- [ ] 新监测云平台 行业工程坐标定制需求响应 +- [x] 南江地质队问题沟通 +- [x] 云南首优问题反馈 +- [x] 宜化股份问题处理反馈 +- [x] 江华路灯系统对接 +- [ ] 自测启动 +- [ ] 模块文档编写 +- [ ] 测试用例问题沟通与查漏补缺 +- [x] 施嘉利项目问题反馈处理 +- [x] 哈密亚克斯项目反馈处理 +- [x] 中南检测技术对接沟通 +- [x] 浙江卓诚项目建立HiMonitor 建立 +- [ ] 服务器数据同步启动与搭建 +- [ ] 安全卫士1.5.0版本准备发布 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/12月第一周.md b/实践积累/工作记录/每周事务/12月第一周.md new file mode 100755 index 0000000..fe4b979 --- /dev/null +++ b/实践积累/工作记录/每周事务/12月第一周.md @@ -0,0 +1,12 @@ +- [ ] 硬件部需求通过蓝牙进行设备管理需求调研 +- [x] 监测云平台删除不生效排查 +- [x] 研山尾矿库技术对接,接口上传研发 +- [x] 灾后评价测试报告 +- [x] 灾后评价项目总结报告 +- [x] 灾后评价项目软件发放通知书 +- [x] 灾后评价项目文档签名提交QA以及上传PDM +- [x] 前时标 专业术语 +- [x] 灾后损毁评估项目结项相关 +- [ ] APP 帮助说明 +- [x] App 关于我们 +- [ ] 12月PBC处理 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/12月第二周.md b/实践积累/工作记录/每周事务/12月第二周.md new file mode 100755 index 0000000..e16976a --- /dev/null +++ b/实践积累/工作记录/每周事务/12月第二周.md @@ -0,0 +1,10 @@ +- [x] 定制工程坐标系功能实现 +- [ ] 三维地形下载 +- [x] 监测云手机登录页实现 +- [x] 监测云12个工程数据模拟发送 +- [x] 研山数据接口对接 +- [x] 福建龙岩技术支持 +- [x] 研山两个尾矿库技术支持 +- [x] 安建大智能路灯项目对接沟通 +- [x] 陕西禾草沟迁移 +- [x] 服务器内存增加64G内存申请 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/20190814.md b/实践积累/工作记录/每周事务/20190814.md new file mode 100755 index 0000000..170d966 --- /dev/null +++ b/实践积累/工作记录/每周事务/20190814.md @@ -0,0 +1,3 @@ +论文gis+变形监测,一种空间数据模型 +专利技术底稿gnss变形监测 +Gis技术培训 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/20190912.md b/实践积累/工作记录/每周事务/20190912.md new file mode 100755 index 0000000..227956b --- /dev/null +++ b/实践积累/工作记录/每周事务/20190912.md @@ -0,0 +1,17 @@ +- [x] 唐山研山尾矿库部署 +- [x] 云南麻栗坝水位由小时同步改成实时同步 +- [x] 山东黄金矿部署 +- [ ] 405数据推送问题 +- [ ] 解算云需求规划和技术架构路线确立 +- [x] 国贸satlab版监测云 +- [x] 多维监测仪上位机以及接入开发 +- [ ] GIS实习课题推进 +- [x] 佛山天泽项目推进(丹灶水位监测系统) +- [ ] ios版手机app 开发推进 +- [x] 监测云v1.0 验收报告推进 +- [ ] IOS账号企业开发者申请(等依萍回来) +- [ ] 天泽与河钢项目定制开发小项目立项 +- [ ] 解算云需要中测支持资源清单(HGO 源码) +- [ ] 监测组工作计划汇报(监测月例会) +- [x] 监测云v1.0体系审核问题点-整改 +- [ ] 新疆凯弘项目 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/20190923.md b/实践积累/工作记录/每周事务/20190923.md new file mode 100755 index 0000000..07de379 --- /dev/null +++ b/实践积累/工作记录/每周事务/20190923.md @@ -0,0 +1,14 @@ +- [x] 山东黄金矿部署 +- [ ] 405数据推送问题 +- [x] 解算云需求规划和技术架构路线确立(MVP 初始版本:MVP最小可行性设计) +- [x] GIS实习课题推进 +- [ ] 佛山天泽项目推进(丹灶水位监测系统) +- [ ] ios版手机app 开发推进 +- [x] 监测云v1.0 验收报告推进 +- [ ] IOS账号企业开发者申请(等依萍回来) +- [ ] 天泽与河钢项目定制开发小项目立项 +- [ ] 解算云需要中测支持资源清单(HGO 源码) +- [x] 监测组工作计划汇报(监测月例会) +- [x] 监测云v1.0体系审核问题点-整改 +- [x] 新疆凯弘项目 +- [ ] 抚顺项目处理推进 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/201910.md b/实践积累/工作记录/每周事务/201910.md new file mode 100755 index 0000000..99d516c --- /dev/null +++ b/实践积累/工作记录/每周事务/201910.md @@ -0,0 +1,6 @@ +- [ ] 中海达解算云分工 +- [ ] 中海达解算云立项相关工作 +- [ ] 中海达解算云业务需求评审邮件 +- [ ] 中海达解算云./// +- [ ] 河钢集团项目沟通 +- [ ] 重庆平台对接沟通 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/6月第一周.md b/实践积累/工作记录/每周事务/6月第一周.md new file mode 100755 index 0000000..875124d --- /dev/null +++ b/实践积累/工作记录/每周事务/6月第一周.md @@ -0,0 +1,31 @@ +**公共模块** + +- [x] 安全卫士产品版本思维导图初步版本以及项目组沟通讨论会 +- [ ] 产品版本规划整理并与林总汇报沟通 +- [ ] 竞争对手资料收集以及分析工作开展 +- [ ] 产品历史需求整理分析 +- [ ] 114服务器和118云服务器整理以及登记 +- [ ] 尾矿库业务知识整理以及干滩计算4个公式(with 章优生) +- [ ] SG兼容传感器相关原理、安装业务,采集方式,算法等业务整理(to 生勇) +- [ ] SG兼容和轮询软件兼容传感器列表整理(to 生勇) +- [x] 研发组公共技术框架讨论邮件沟通 +- [x] UI以及C#人事招聘相关 +- [x] 周报以及周例会 + +**项目维护模块** + +- [x] 巴东项目反馈表处理(with蓝轩) +- [ ] 三峡项目问题维护处理(with秀平&清根) +- [x] 松滋楚星问题处理(with蓝轩) +- [ ] 铜陵项目维护跟进(with蓝轩&生勇) +- [ ] 三峡项目历史资料整理(from 贺鹏) + +**研发相关** + +- [ ] 新普惠雨量采集模块兼容到轮询软件 +- [x] 葛南锚索测力计以及同盛静力水准仪兼容工作 +- [ ] SG后端开发架构初步搭建 +- [ ] SG WEB 展示传感器兼容(孙伟冰) +- [x] HiMonitor 软件打包工作 +- [x] SG web 展示端程序打包 +- [x] SG Server 程序打包工作(版本1.4) \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/6月第三周.md b/实践积累/工作记录/每周事务/6月第三周.md new file mode 100755 index 0000000..b72c1d5 --- /dev/null +++ b/实践积累/工作记录/每周事务/6月第三周.md @@ -0,0 +1,8 @@ +- [ ] 团队GIS 基础知识培训下旬 +- [x] 测试任务编写以及提交 +- [ ] 数据库设计开始 +- [ ] 安全监测体系搭建 +- [x] 杨硕安装问题技术支持 +- [x] 张晓博宜化虎亭技术支持 +- [ ] 安装包bug 修复,参数配置缺失重新打包 +- [ ] 海康威视的视频摄像头接入技术预研Live555 流媒体 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/6月第二周.md b/实践积累/工作记录/每周事务/6月第二周.md new file mode 100755 index 0000000..87b5280 --- /dev/null +++ b/实践积累/工作记录/每周事务/6月第二周.md @@ -0,0 +1,15 @@ +- [ ] 新框架技术路线选型与尝试搭建(用户权限系统以及EF CODE) +- [x] 楚星浸润线数据跳动问题跟进 +- [x] 楚星浸润线数据历史数据重新过滤以及库水位清理 +- [x] 楚星数据库日志达25G 已清理 +- [x] 楚星浸润线采集单位为压强测不到水位值。 +- [x] 发现SG 出现 采集数据不入库bug 以及1.4版 不过滤库水位 +- [x] 硬件传感器相关整理以及示意图展示与付喜光讨论(to 生勇) +- [x] HiMonitor 2.0 开发环境整理搭建 +- [x] 葛南拉绳裂缝计兼容开发(集成测试部不通过,不兼容了) +- [x] 新需求-原始数据展示(付) +- [ ] 旧版安全卫士云平台代码整理与托管 +- [ ] 干滩计算规则bug修复与沟通 +- [x] 贺江华 滑坡演示SG网站以及云解算平台展示账户 +- [x] 麻栗坝水库工程监测系统升级改造 项目计划 +- [ ] 蓝轩开始设计监测底层数据库(表,视图,存储过程) \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/6月第四周.md b/实践积累/工作记录/每周事务/6月第四周.md new file mode 100755 index 0000000..b977757 --- /dev/null +++ b/实践积累/工作记录/每周事务/6月第四周.md @@ -0,0 +1,16 @@ +- [x] 数据库设计沟通与推进 +- [ ] 产品研发计划mpp +- [ ] 后端开发框架的搭建 +- [x] GIS基础技术交流 +- [x] 郴州项目技术支撑 +- [ ] SG测斜仪使用配置说明 +- [x] 浸润线数据库存储正值,前端显示为负值问题 +- [x] 新疆新源原型开发沟通 +- [ ] Himonitor的web api 数据同步功能开发(2.0) +- [x] Himonitor 1.2 版本 的站点信息以及解算数据同步到SG工程库 +- [ ] SG 重启不稳定bug +- [ ] SG v1.4测试 +- [ ] pBC计划以及周报 +- [ ] ABP数据库迁移工具开发 +- [x] 源码发布管理并且清理svn目录 +- [x] 《中海达在线监测发布平台软件》技术参数编写 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/7月第一周.md b/实践积累/工作记录/每周事务/7月第一周.md new file mode 100755 index 0000000..498d044 --- /dev/null +++ b/实践积累/工作记录/每周事务/7月第一周.md @@ -0,0 +1,10 @@ +- [x] 版本V1.4.1 内部测试安排 +- [x] 猇亭项目验收问题解决 +- [ ] .Net人员招聘 +- [x] 测斜仪相关配置文档说明以及沟通 +- [ ] 视频监控展示开发工作与测试 +- [x] 版本v1.4.2 发布与测试 +- [ ] 安全卫士守护进程开发 +- [x] 安全监测云平台简介与功能清单(概要需求分析) +- [x] 巴东项目处理(测斜仪,浸润线,解算问题) +- [x] 周报,PBC \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/7月第三周.md b/实践积累/工作记录/每周事务/7月第三周.md new file mode 100755 index 0000000..9b14ace --- /dev/null +++ b/实践积累/工作记录/每周事务/7月第三周.md @@ -0,0 +1,12 @@ +- [x] 云平台概要需求沟通以及相关开发资源需求(人力) +- [x] 云南项目水雨情项目同步沟通与开发 +- [x] SGv1.4.3版本发布沟通 +- [x] 采集软件兼容情况整理 +- [x] 四川电力塔杆监测项目软著申请问题跟进(截图以及代码和文档说明) +- [x] 电力线路铁塔变形监测系统后端软件 电力线路铁塔变形监测系统前端软件 软著申请表填写 +- [x] 电力线路铁塔变形监测系统前端软件原型制作 +- [x] 泽东问题跟进处理…跟进中 +- [x] 贺江华浙江演示需要搭建一个尾矿库展示系统,要求流畅完善全面 +- [x] 安全卫士登录页替换 +- [ ] 新框架研发测试 +- [x] 吉林吉辉矿业 2015年项目软件问题查看与初步恢复 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/7月第二周.md b/实践积累/工作记录/每周事务/7月第二周.md new file mode 100755 index 0000000..5f3439b --- /dev/null +++ b/实践积累/工作记录/每周事务/7月第二周.md @@ -0,0 +1,10 @@ +- [x] 概要需求编写 +- [x] 云南项目测试与跟进 +- [x] 新疆项目跟进 +- [x] V1.4.3版本发布与测试 +- [x] 智珍谷雅安项目 数据库恢复 +- [x] 杨硕HiMonitor 注册问题解决 +- [x] 杨硕陕西大溪沟问题处理 +- [x] 杨硕湖南郴州项目维护 +- [x] 张玉祥泽东项目部署支持 +- [x] 张晓博巴东项目技术支持 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/7月第五周.md b/实践积累/工作记录/每周事务/7月第五周.md new file mode 100755 index 0000000..75cec55 --- /dev/null +++ b/实践积累/工作记录/每周事务/7月第五周.md @@ -0,0 +1,12 @@ +- [x] 泽东项目技术支持 +- [x] 宜化、巴东、猇亭等小问题处理 +- [x] 框架搭建——完成后台服务调用示例开发 +- [x] 云服务器使用规划以及迁移方案制定 +- [x] 监测云项目立项流程申请 +- [x] 转正工作汇报 与ppt +- [x] 跟进hiMonitor 2.0 webapi以及其数据同步工作(章优生) +- [x] 跟进新接入传感器3个(洪生勇) +- [x] 跟进回补过滤工具研发(洪生勇) +- [x] HiMonitor2.0 ISO评审文档检查 ,没后续 +- [x] 麻栗坝代码Merge 主干所有更改472 +- [x] 董航项目截图和数据库结构支持 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/7月第四周.md b/实践积累/工作记录/每周事务/7月第四周.md new file mode 100755 index 0000000..4c62eb7 --- /dev/null +++ b/实践积累/工作记录/每周事务/7月第四周.md @@ -0,0 +1,8 @@ +- [x] 云平台概要开发计划与分工会议 +- [ ] 产品研发立项申请表 (YF003) +- [x] 吉林吉辉矿业 2015年项目软件恢复 +- [x] 项目月例会 汇报项目情况 +- [x] LayuiAdmin 整合到项目框架中 +- [ ] Himonitor 2.0准备启用,同步数据WEBAPI开发 +- [x] 林泉、栾安鹏 软件技术问题答疑 +- [x] 电力塔干软著申请表 填写 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/8月第一周.md b/实践积累/工作记录/每周事务/8月第一周.md new file mode 100755 index 0000000..296667e --- /dev/null +++ b/实践积累/工作记录/每周事务/8月第一周.md @@ -0,0 +1,14 @@ +- [x] 监测事业部的培训 技术交流 +- [x] 2018年最新版行政区划数据处理(章优生) +- [x] Sg webapi 研发及其同步研发沟通(章优生) +- [x] 框架新增Quartz定时作业模块 +- [x] Gis 综合展示页面展示需求沟通以及城市选择控件,原型开发 +- [x] 修改ABP默认表前缀 +- [x] PBC填下 +- [x] 参数库,仪器库数据库设计沟通与讨论 +- [x] DTU以及Vnet通信协议与生勇沟通。确认使用ntrip协议 +- [x] 框架日志模块(刘蓝轩) +- [x] 相关转正流程处理 +- [x] 董航售前技术支持,相关系统截图 +- [x] 云南南瑞服务器修改IP观测 +- [x] 麻栗坝云南网络以及设备实施 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/8月第三周.md b/实践积累/工作记录/每周事务/8月第三周.md new file mode 100755 index 0000000..5ddddd1 --- /dev/null +++ b/实践积累/工作记录/每周事务/8月第三周.md @@ -0,0 +1,19 @@ +- [x] Himonitor 使用规划 +- [x] supersocket日志兼容log4net + +- [x] 详细产品需求规格说明书推进 分工 + + +- [x] 传感器云同步接口程序处理 (章优生) +- [x] 水位计、裂缝计以及测斜仪新传感器接入相关工作沟通 +- [x] 葛南1901,接入采集处理 + +- [x] 三峡同步程序升级与上线。(章优生) +- [x] 云南麻栗坝项目远程协助实施(量水堰计接入,视频站点接入,第三方数据接入,水雨情同步问题查找,操作机访问恢复) +- [x] 协助集团的 改动HiMonitor2.0 符合对方的申请 +- [x] 张晓博楚星项目迁移gnss 迁移到hiMonitor2.0 +- [x] 张晓博松滋项目迁移gnss 迁移到hiMonitor2.0 +- [x] 118监测迁移邮件发送 +- [x] 10.10.200.211服务器恢复处理 +- [x] 张玉祥,合肥项目相关第三方对报警问题解答 +- [x] 转正会议(洪,孙,章) \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/8月第二周.md b/实践积累/工作记录/每周事务/8月第二周.md new file mode 100755 index 0000000..c4985c5 --- /dev/null +++ b/实践积累/工作记录/每周事务/8月第二周.md @@ -0,0 +1,23 @@ +- [x] 监测云项目策划 (与质量管理员)开发流程裁剪 +- [x] 菜单功能模块设计与开发(刘蓝轩) +(租户菜单分配,功能菜单界面维护。自动新增) +看来是要全部在LayUi界面开发。 +看来要抛弃原来的页面了啊! + +- [x] 租户侧 登录界面增加租户选择,命名为组织。 +- [x] 前端框架优化,新增整合Require.js和layui +- [x] HiMonitor 2.0 Server代码SVN维护 比对。 + + +- [x] 三峡同步程序升级与上线。(章优生) +- [x] 唐山研山数据库宕机处理_侯占勋,数据处理 +- [x] 唐山研山XF63卫星数据异常处理,升级HiMonitor1.3以及查找问题为比逊固件版本问题,需要进行升级。 +- [x] 唐山研山数据库水位数据恢复 +- [x] 贺江华售前技术支持,北斗地质灾害监测预警云平台软件_第三方软件需求分析 +- [x] 三峡问题处理,新增模拟数据需求开发(优生),历史数据同步(蓝轩)。后面就可以停掉作业,使用新版的程序了。 +- [x] 杨硕 新疆新华项目远程问题查看以及沟通 +- [x] 云南麻栗坝项目远程协助实施(吴卓山,生勇) +- [x] 钟关菲成都理工数据解算恢复 +- [x] 张晓博 松桃项目短信猫驱动问题修复,报警无法设置问题修复。声光报警器问题查找 +- [x] 新疆新源小项目开发(李然) +- [x] 电力塔杆相关需求文档和使用说明书编写沟通(生勇和伟冰) \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/8月第四周.md b/实践积累/工作记录/每周事务/8月第四周.md new file mode 100755 index 0000000..ab9615e --- /dev/null +++ b/实践积累/工作记录/每周事务/8月第四周.md @@ -0,0 +1,21 @@ +- [x] 监测云项目开发详细的模块分工与计划表(向配置管理员索要模板) +- [x] 详细产品需求规格说明书推进与编写 +- [x] APP详细需求分析文档设计 + + +- [x] 118服务器FTP 搭建,确认4G摄像头,图片上传方式不可行。 +- [x] 视频摄像机设备接入相关推进(28181,实时流与定时抓拍,直接使用萤石云接入即可)(300每月,免费接入100台设备,同时可以支持10~20人同时查看) +- [x] HiMonitor2.0 远程控制模块恢复(判断原有代码不可用,没有开发完善) + +- [x] 宜化楚星历史跳动数据删除问题沟通清理无效表格,以及模拟数据。 +- [x] 自动化毫米级动态监测预警系统平台软著相关文案编写(蓝轩,伟冰,优生) +- [x] 南江地质队项目迁移118 +- [x] 长堪所宜昌水田坝监测项目接入HiMonitor2.0 +- [x] 麻栗坝问题收尾(生勇雨量问题以及库容展示问题、报警设置问题) +- [x] 118监测云服务器的数据库定时备份设置 以及 硬盘容量告警 +- [x] 佛山验收问题收尾参与(蓝轩),Xspeed问题。 +- [x] 肇庆怀集项目恢复处理以及相关技术沟通 +- [x] 巴东项目问题沟通 +- [x] 培训签到表回补 +- [x] 北京分公司 西藏的项目 服务器问题处理( 重新编译为x86和.NET framework 4.0) +- [x] Vnet 远程工具软件升级需求征集与开展(两个版本。从操作,功能,bug等方面) \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/9月第一周.md b/实践积累/工作记录/每周事务/9月第一周.md new file mode 100755 index 0000000..851499b --- /dev/null +++ b/实践积累/工作记录/每周事务/9月第一周.md @@ -0,0 +1,11 @@ +- [x] 巴东项目收尾协助董航出差 +- [x] 海康摄像头视频接入萤石云接入(沟通李然实施与验证) +- [ ] PBC改革建议 +- [x] 麻栗坝数据库定时备份以及日志收缩处理 +- [x] 麻栗坝库容问题研发以及整改需求 +- [x] 校招相关会议 培训 +- [x] 成都电力院电塔杆项目实施协助。(传感器接入不稳定,要造数据… ) +- [x] 新疆新源项目实施 +- [x] 贺江华 松滋验收模拟数据….118 +- [x] 楚星雨量计数据过滤处理,库水位数据处理 +- [x] 提前批简历电话沟通 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/9月第三周.md b/实践积累/工作记录/每周事务/9月第三周.md new file mode 100755 index 0000000..51ecf26 --- /dev/null +++ b/实践积累/工作记录/每周事务/9月第三周.md @@ -0,0 +1,10 @@ +- [x] supersocket嵌入 + +- [x] 麻栗坝软件需求整改相关相关沟通。 +- [x] 监测云需求评审文档编辑与相关准备工作邮件 +- [x] 地图模块详细需求分析与沟通优生 +- [x] 需求评审ppt 制作 +- [x] 麻栗坝背景添加孔隙处理 + +- [x] 新版SG supersocket 启动问题排查 +- [x] 湖南长沙附近2019校招 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/9月第二周.md b/实践积累/工作记录/每周事务/9月第二周.md new file mode 100755 index 0000000..2e4f51b --- /dev/null +++ b/实践积累/工作记录/每周事务/9月第二周.md @@ -0,0 +1,19 @@ +- [ ] 项目策划阶段AQ相关文档处理 +- [ ] 业务需求书分析 以及 业务需求评审报告 +- [ ] 可行性分析报告(暂时无法编写) +- [x] PDM系统无法装上 +- [x] 9月初,监测云平台需求评审 +- [ ] 报表展示技术路线预研 +- [x] 框架新增Redies缓存模块 +- [x] 框架后台工作者模式优化 +- [x] 业务需求分析以及需求评审准备 + +- [x] 楚星、松滋项目维护 +- [x] 麻栗坝整改需求接收与沟通 +- [x] 南江地质队监测项目迁移 +- [x] 栾安鹏技术支持 +- [x] 监测软件质量问题反馈3条处理(潘,ISO要求) +- [x] 新源项目端口映射远程处理 +- [x] 麻栗坝上水位均值计算问题查找 +- [x] 西藏项目反馈表处理,与易清根 +- [x] 59.42.53.226: 6300 测试服务器清理以及网络梳理以及测试系统搭建 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/9月第四周.md b/实践积累/工作记录/每周事务/9月第四周.md new file mode 100755 index 0000000..eac4001 --- /dev/null +++ b/实践积累/工作记录/每周事务/9月第四周.md @@ -0,0 +1,25 @@ +- [x] 需求评审会ppt制作 +- [x] 需求评审会召开 +- [ ] 评审报告处理(遗留) +- [ ] 软件架构说明书编写 +- [ ] 立项相关文档完善 +- [x] PDM系统使用学习 +- [x] 麻栗坝后续软件整改完成 +- [x] 211测试服务器设置webdeploy +- [x] .NET CORE 部署尝试 +- [x] redis任务队列尝试与环境搭建 +- [x] 麻栗坝问题视频查看 修复 +- [x] 西藏问题查看修复跟进 +- [x] 阳春尾矿库问题处理 +- [x] 118服务器故障处理(由于张依萍手机没带!) +- [ ] SG 异常存储到数据库 + +- [ ] 二三维一体化标会工具bug +- [ ] 前后端实时通讯机制实现 +- [ ] 阿里云短信服务接入 +- [ ] 数据库基础数据完善(生勇) +- [ ] 新版轮询测试发布准备 +- [ ] 前端代码审查 +- [ ] 铜陵321项目迁移到118 +- [ ] 伟冰综合分析里面进行处理 +- [ ] 118服务器网络带宽能力验证 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/INDEX_每周事务.md b/实践积累/工作记录/每周事务/INDEX_每周事务.md new file mode 100755 index 0000000..4bee3bd --- /dev/null +++ b/实践积累/工作记录/每周事务/INDEX_每周事务.md @@ -0,0 +1,79 @@ +--- +title: 每周事务 索引 +tags: + - 索引 +created: 2026-04-21 +--- + +# 每周事务 + +> 自动生成的索引文件 + +## 文件列表 + +| 文件名 | 大小 | 说明 | +|--------|------|------| +| [[2018_10月第一周]] | 519B | | +| [[2018_10月第二周]] | 794B | | +| [[2018_10月第四周]] | 621B | | +| [[2018_11月第一周]] | 524B | | +| [[2018_11月第三周]] | 470B | | +| [[2018_11月第二周]] | 1KB | | +| [[2018_11月第四周]] | 1KB | | +| [[2018_12月第一周]] | 474B | | +| [[2018_12月第二周]] | 365B | | +| [[2018_6月第一周]] | 1KB | | +| [[2018_6月第三周]] | 344B | | +| [[2018_6月第二周]] | 965B | | +| [[2018_6月第四周]] | 667B | | +| [[2018_7月第一周]] | 422B | | +| [[2018_7月第三周]] | 764B | | +| [[2018_7月第二周]] | 359B | | +| [[2018_7月第五周]] | 596B | | +| [[2018_7月第四周]] | 374B | | +| [[2018_8月第一周]] | 685B | | +| [[2018_8月第三周]] | 888B | | +| [[2018_8月第二周]] | 1KB | | +| [[2018_8月第四周]] | 1KB | | +| [[2018_9月第一周]] | 569B | | +| [[2018_9月第三周]] | 349B | | +| [[2018_9月第二周]] | 831B | | +| [[2018_9月第四周]] | 898B | | +| [[2019_20190814]] | 100B | | +| [[2019_20190912]] | 747B | | +| [[2019_20190923]] | 652B | | +| [[2019_201910]] | 213B | | +| [[2019_春节后]] | 0B | | +| [[2019_第一周0101 - 0106]] | 398B | | +| [[2019_第七周0211 - 0217]] | 6B | | +| [[2019_第三周0114 - 0120]] | 339B | | +| [[2019_第九周0225 - 0303]] | 202B | | +| [[2019_第二十一周0520-0526]] | 0B | | +| [[2019_第二十七周0708-0713]] | 0B | | +| [[2019_第二十三周0603-0609]] | 370B | | +| [[2019_第二十二周0527-0602]] | 0B | | +| [[2019_第二十五周0624-0628]] | 453B | | +| [[2019_第二十八周0714-0720]] | 474B | | +| [[2019_第二十六周0701-0707]] | 200B | | +| [[2019_第二十周0513 - 0519]] | 418B | | +| [[2019_第二十四周0610-0615]] | 868B | | +| [[2019_第二十四周0617-0621]] | 285B | | +| [[2019_第二周0107 - 0113]] | 583B | | +| [[2019_第五周0128 - 0203]] | 290B | | +| [[2019_第八周0218 - 0224]] | 335B | | +| [[2019_第六周0204 - 0210]] | 6B | | +| [[2019_第十一周0311 - 0317]] | 321B | | +| [[2019_第十七周0422 - 0428]] | 651B | | +| [[2019_第十三周0325 - 0331]] | 373B | | +| [[2019_第十九周0506 - 0512]] | 46B | | +| [[2019_第十二周0318 - 0324]] | 265B | | +| [[2019_第十五周0408 - 0414]] | 282B | | +| [[2019_第十八周0429 - 0505]] | 240B | | +| [[2019_第十六周0415 - 0421]] | 282B | | +| [[2019_第十周0304 - 0310]] | 495B | | +| [[2019_第十四周0401 - 0407]] | 607B | | +| [[2019_第四周0121 - 0127]] | 472B | | +| [[2019_贵州北斗监测测试]] | 5KB | | + +--- +*共 61 个文件* diff --git a/实践积累/工作记录/每周事务/春节后.md b/实践积累/工作记录/每周事务/春节后.md new file mode 100755 index 0000000..e69de29 diff --git a/实践积累/工作记录/每周事务/第一周0101 - 0106.md b/实践积累/工作记录/每周事务/第一周0101 - 0106.md new file mode 100755 index 0000000..c16e936 --- /dev/null +++ b/实践积累/工作记录/每周事务/第一周0101 - 0106.md @@ -0,0 +1,10 @@ +- [x] 监测云简要介绍文档处理 +- [x] 监测云测试跟进 +- [ ] 监测云Bug处理与跟进 +- [ ] 监测云收尾会议以及下一步开发计划PBC +- [ ] 监测云三维展示效果路线预研 +- [ ] 软件部服务器环境搭建跟进 +- [ ] SG1.5版本打包与发布 +- [ ] 监测云平台模块文档编写 +- [ ] 监测云平台用户说明文档 +- [ ] 监测云平台技术员培训 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第七周0211 - 0217.md b/实践积累/工作记录/每周事务/第七周0211 - 0217.md new file mode 100755 index 0000000..766e522 --- /dev/null +++ b/实践积累/工作记录/每周事务/第七周0211 - 0217.md @@ -0,0 +1 @@ +放假 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第三周0114 - 0120.md b/实践积累/工作记录/每周事务/第三周0114 - 0120.md new file mode 100755 index 0000000..5e47389 --- /dev/null +++ b/实践积累/工作记录/每周事务/第三周0114 - 0120.md @@ -0,0 +1,8 @@ +- [x] 广西百色华银铝项目兼容技术支持 +- [x] 合肥董铺水库项目出差处理 +- [x] PDM安装以及地灾显示项目文档处理 +- [x] 董铺水库北京54坐标转换处理 +- [ ] 周五前周报 +- [ ] 监测云采集支持串口服务器模式。 +- [ ] 香港地盆项目测试相关工作 +- [ ] 合肥出差报销处理 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第九周0225 - 0303.md b/实践积累/工作记录/每周事务/第九周0225 - 0303.md new file mode 100755 index 0000000..36f9967 --- /dev/null +++ b/实践积累/工作记录/每周事务/第九周0225 - 0303.md @@ -0,0 +1,7 @@ +- [x] 企业文化征集小组相关事宜 +- [x] 2018年终会 +- [x] 软著申请 +- [x] QA相关文档更改 +- [x] 香港REF2数据处理 +- [x] 监测云软件发布会 +- [x] 监测云进度计划变更 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第二十一周0520-0526.md b/实践积累/工作记录/每周事务/第二十一周0520-0526.md new file mode 100755 index 0000000..e69de29 diff --git a/实践积累/工作记录/每周事务/第二十七周0708-0713.md b/实践积累/工作记录/每周事务/第二十七周0708-0713.md new file mode 100755 index 0000000..e69de29 diff --git a/实践积累/工作记录/每周事务/第二十三周0603-0609.md b/实践积累/工作记录/每周事务/第二十三周0603-0609.md new file mode 100755 index 0000000..ce2080f --- /dev/null +++ b/实践积累/工作记录/每周事务/第二十三周0603-0609.md @@ -0,0 +1,12 @@ +- [x] 阳泉北斗接入配合 +- [x] 十堰项目数据对接 +- [x] 龙岩项目数据回补 +- [x] 铜陵321数据处理 +- [x] 唐山研山数据推送问题 +- [ ] 合肥董铺水库数据回补问题 +- [ ] 国贸演示配合 +- [ ] 监测v1.1推进与延期申请 +- [ ] 测试用例沟通 + +新员工监测软件介绍ppt与亮点6.28前 +监测软件发展方向与规划 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第二十二周0527-0602.md b/实践积累/工作记录/每周事务/第二十二周0527-0602.md new file mode 100755 index 0000000..e69de29 diff --git a/实践积累/工作记录/每周事务/第二十五周0624-0628.md b/实践积累/工作记录/每周事务/第二十五周0624-0628.md new file mode 100755 index 0000000..e857b20 --- /dev/null +++ b/实践积累/工作记录/每周事务/第二十五周0624-0628.md @@ -0,0 +1,12 @@ +- [x] 新橙北斗HiMonitor 重新打包 +- [x] 万州监测云部署-刘 +- [x] 次声地声 仪器模板以及 前端接入 +- [x] 加密系统问题收集 +- [x] 缅甸项目土压力传感器 到葛南1804兼容 +- [x] 测试问题跟进 + +- [x] 新员工软件培训PPT完善软件故障和项目接入流程,接入申请模板 +- [ ] 解算软件定制只接受vnet 和Z3的数据流 +- [ ] 实习项目课题书 +- [x] 监测软件PPT优化 +- [ ] 周报 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第二十八周0714-0720.md b/实践积累/工作记录/每周事务/第二十八周0714-0720.md new file mode 100755 index 0000000..ac2b2ab --- /dev/null +++ b/实践积累/工作记录/每周事务/第二十八周0714-0720.md @@ -0,0 +1,13 @@ +- [x] 监测云v1.0 体系流程检查 +- [ ] 监测云v1.1验收文档补充 +- [ ] 解算云需求分析与框架搭建 +- [ ] 监测软件规划文档编写 +- [x] 香港机场项目解算迁移 +- [x] 贵州北斗测试收尾 +- [ ] 报销3份。。 +- [x] 监测云v1.0欠状态报告和结项流程 +- [x] 监测云培训 +- [ ] 贵州测试设备主板更换于库管沟通 +- [x] 香港问题处理回复处理 +- [ ] 广西百色数据人工抹平 +- [ ] 监测v1.0结项会议 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第二十六周0701-0707.md b/实践积累/工作记录/每周事务/第二十六周0701-0707.md new file mode 100755 index 0000000..cb6f230 --- /dev/null +++ b/实践积累/工作记录/每周事务/第二十六周0701-0707.md @@ -0,0 +1,7 @@ +贵州测试 +各种项目处理 +VRS选址算法编写 +贺江华 湖北 短信问题沟通 +- [x] 基于GZCORS的监测场景VRS选址算法实现 +- [ ] 深圳京基100测试项目 +抚顺问题对接中 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第二十周0513 - 0519.md b/实践积累/工作记录/每周事务/第二十周0513 - 0519.md new file mode 100755 index 0000000..807a6ec --- /dev/null +++ b/实践积累/工作记录/每周事务/第二十周0513 - 0519.md @@ -0,0 +1,10 @@ +- [x] 行业解决方案软件部署说明 +- [ ] 监测技术监测软件培训PPT说明 +- [x] 监测云v1.1架构设计说明书更新 +- [ ] 行业现状了解ppt与 监测软件规划 +- [ ] 监测云v1.1专利组织编写 +- [ ] 测试用例评审 +- [ ] 通知短信模板 +- [ ] 次声监测数据接入预研(时间问题) +- [ ] 6月汇报PPT +- [ ] 接入监测类型传感器预判于版本规划(监测云) \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第二十四周0610-0615.md b/实践积累/工作记录/每周事务/第二十四周0610-0615.md new file mode 100755 index 0000000..0ae9bc4 --- /dev/null +++ b/实践积累/工作记录/每周事务/第二十四周0610-0615.md @@ -0,0 +1,20 @@ +- [x] 云南麻栗坝雨量数据排查与优化改进处理 +- [x] Postgresql 数据库尝试 +- [ ] 监测云V1.1亮点提炼 +- [x] 自测相关(后端高并发) +- [ ] 自测前端功能 +- [x] Signalr实时推送对接 +- [ ] 监测v1.1部署到阿里云以及试用(十堰项目以及藏大项目,武隆) +- [ ] 新员工培训PPT(监测软件介绍使用以及配置,以及解算软件) +- [ ] 监测软件规划 +- [ ] 三维功能强化与对接(淹没分析,日照分析) +- [ ] HiMonitor 数据存储,上线,下线 发布订阅机制实施 +- [x] 监测云种子数据 生成和处理 +- [ ] 深圳北斗云系统对比分析 +- [x] 短信模板处理 +- [x] 湖北对接交给伟冰 +- [x] 合肥董铺水库缺失数据回补 +- [x] 肇庆怀集项目数据分析与查看 +- [x] 仪器模板初始化bug +- [ ] Pbc 6月份的编写 +- [ ] 湖北报销 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第二十四周0617-0621.md b/实践积累/工作记录/每周事务/第二十四周0617-0621.md new file mode 100755 index 0000000..b86a708 --- /dev/null +++ b/实践积累/工作记录/每周事务/第二十四周0617-0621.md @@ -0,0 +1,6 @@ +- [x] 重庆两江项目江伟 数据对接支持 +- [ ] 抚顺项目历史数据对接与处理 +- [x] 解算软件himonitor 地图瓦片以及x64位进行修复 +- [x] 地图投影中央经线bug 修复 +- [x] 三峡异常数据删除与推送 +- [x] 重庆煤科院数据模拟 李海峰 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第二周0107 - 0113.md b/实践积累/工作记录/每周事务/第二周0107 - 0113.md new file mode 100755 index 0000000..28521be --- /dev/null +++ b/实践积累/工作记录/每周事务/第二周0107 - 0113.md @@ -0,0 +1,13 @@ +- [x] 四川地环总站省级平台装备入库工作 +- [x] 上海华桓3个设备的兼容开发 +- [ ] 监测云v1.1 需求文档罗列与确认 +- [ ] 0108-09 监测云问题反馈 +- [ ] 测试Bug 处理 +- [ ] 三维展示技术预研 +- [ ] 公司开发者账户转为企业开发者账户。 需要299美金 +- [x] 合肥出差 申请与资料准备 +- [x] 监测云ABP框架升级到abp 4.0.2 netcore 2.2 +- [ ] 升级SDK框架后验证 +- [x] 1月PBC编写 +- [ ] 智能采集仪接入以及上位机软件编写 +- [ ] 模拟工程搭建 番山中心,肇庆怀集,长隆大马戏 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第五周0128 - 0203.md b/实践积累/工作记录/每周事务/第五周0128 - 0203.md new file mode 100755 index 0000000..4c1335d --- /dev/null +++ b/实践积累/工作记录/每周事务/第五周0128 - 0203.md @@ -0,0 +1,10 @@ +- [x] 演示PPT准备 +- [x] 演示数据准备 +- [x] 临汾国土投标项目软件对接 +- [x] 广西那个报表问题对接 +- [x] 会议室申请 +- [x] 香港GNSS测试支持 +- [x] 监测云支持定制坐标系 +- [x] 监测云bug 处理 +- [x] 软著编写确认 +- [ ] 短信模板更改 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第八周0218 - 0224.md b/实践积累/工作记录/每周事务/第八周0218 - 0224.md new file mode 100755 index 0000000..ae36d73 --- /dev/null +++ b/实践积累/工作记录/每周事务/第八周0218 - 0224.md @@ -0,0 +1,9 @@ +- [x] PBC提交与编写 +- [ ] 合肥出差报销 +- [x] 江西排泥库监测系统的报表问题 +- [x] 找徐总 ——新监测平台需求沟通 +- [x] 监测云著作权申请 +- [x] 监测云文档补完 +- [x] 监测云QA文档整改 +- [x] 与李文义沟通监测云销售策略问题 +- [x] 监测1.1业务需求书第一稿编写 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第六周0204 - 0210.md b/实践积累/工作记录/每周事务/第六周0204 - 0210.md new file mode 100755 index 0000000..766e522 --- /dev/null +++ b/实践积累/工作记录/每周事务/第六周0204 - 0210.md @@ -0,0 +1 @@ +放假 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第十一周0311 - 0317.md b/实践积累/工作记录/每周事务/第十一周0311 - 0317.md new file mode 100755 index 0000000..205f89b --- /dev/null +++ b/实践积累/工作记录/每周事务/第十一周0311 - 0317.md @@ -0,0 +1,9 @@ +- [ ] Mongodb 开发环境搭建 +- [ ] 后台服务2开发项目搭建 +- [ ] 多坝体变形方向业务实现沟通(优生) +- [ ] 滑坡预报模型 +- [ ] 振动监测开始 +- [ ] 北斗精简协议开始接入 +- [ ] 培训以及对应视频教材录制 +- [ ] 监测v1.1行业报表整理 +- [ ] 刘连帅短信问题 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第十七周0422 - 0428.md b/实践积累/工作记录/每周事务/第十七周0422 - 0428.md new file mode 100755 index 0000000..43a1fee --- /dev/null +++ b/实践积累/工作记录/每周事务/第十七周0422 - 0428.md @@ -0,0 +1,21 @@ +- [ ] 振动监测 +- [ ] UI设计以及原型需求确定 +- [ ] 需求规格说明书完善 +- [ ] 需求评审 +- [ ] 后台服务第二版调试 +- [ ] 解算云架构初步尝试 +- [ ] 杨战联适R30接收机接入调试配合 +- [ ] 主从备份尝试资源沟通 +- [ ] 多通道智能采集仪需求规格评审 +- [ ] 本地解算预研项目方向会议 +- [x] 监测云v1.0第三方测试支持完成 +- [x] 比测相关事宜与徐总沟通 +- [ ] 硬盘购买事宜 +- [ ] 香港香港技术支持 +- [x] 服务器二次迁移 + +| | +|---| +|辽宁抚顺国土局项目数据迁移沟通| +|GPS周数翻转问题参与| +|巴东项目数据迁移沟通| \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第十三周0325 - 0331.md b/实践积累/工作记录/每周事务/第十三周0325 - 0331.md new file mode 100755 index 0000000..088c2e9 --- /dev/null +++ b/实践积累/工作记录/每周事务/第十三周0325 - 0331.md @@ -0,0 +1,8 @@ +- [x] 中交四航局南沙工程院交流 +- [x] 董铺水库项目电话技术交流 +- [x] 重庆107地质队监测云平台技术需求交流 +- [x] 徐雪梅新浦惠雨量计兼容(生勇) +- [x] 2个香港项目的测试相关支持 +- [x] HiMOnitor 支持tcp 协议数据,支持坐标定制 +- [x] 需求规格说明书讨论 +- [x] 监测云核心控标参数提炼 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第十九周0506 - 0512.md b/实践积累/工作记录/每周事务/第十九周0506 - 0512.md new file mode 100755 index 0000000..90eb201 --- /dev/null +++ b/实践积累/工作记录/每周事务/第十九周0506 - 0512.md @@ -0,0 +1,2 @@ +- [x] 岳兴科青海问题排查 +- [x] 国贸 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第十二周0318 - 0324.md b/实践积累/工作记录/每周事务/第十二周0318 - 0324.md new file mode 100755 index 0000000..176bc85 --- /dev/null +++ b/实践积累/工作记录/每周事务/第十二周0318 - 0324.md @@ -0,0 +1,7 @@ +- [x] 董航 本地监测云部署资料编写 +- [x] 需求规格说明书 +- [x] 业务需求评审报告 +- [x] 监测1.1流程裁剪 +- [x] 服务器迁移(资料备份) +- [x] 湖北地环总站监测需求交流 +- [x] Redis 数据库设计(LIST ,与事务) \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第十五周0408 - 0414.md b/实践积累/工作记录/每周事务/第十五周0408 - 0414.md new file mode 100755 index 0000000..5c38257 --- /dev/null +++ b/实践积累/工作记录/每周事务/第十五周0408 - 0414.md @@ -0,0 +1,10 @@ +监测v1.1需求评审 +- [x] 江伟重庆煤科院接口对接 +- [ ] 松滋雨量数据导入到楚星钟 +招人 +前端接口实时通讯 +- [x] 注册机制问题 +- [ ] 报警和联动判断条件池 +- [ ] 实时事件通讯 +- [x] 架构设计说明书A1 +- [ ] 监测云种子数据 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第十八周0429 - 0505.md b/实践积累/工作记录/每周事务/第十八周0429 - 0505.md new file mode 100755 index 0000000..4bd773e --- /dev/null +++ b/实践积累/工作记录/每周事务/第十八周0429 - 0505.md @@ -0,0 +1,7 @@ +- [x] 香港机场技术问题回复、 +- [x] 郭铁去logo 项目处理 +- [x] 江伟重庆煤科院接口数据测试 +- [x] 监测v1.1UI 需求汇总与沟通 +- [ ] 监测v1.1 研发 +- [ ] 监测v1.1需求评审 +- [ ] 下周三需求评审 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第十六周0415 - 0421.md b/实践积累/工作记录/每周事务/第十六周0415 - 0421.md new file mode 100755 index 0000000..5c38257 --- /dev/null +++ b/实践积累/工作记录/每周事务/第十六周0415 - 0421.md @@ -0,0 +1,10 @@ +监测v1.1需求评审 +- [x] 江伟重庆煤科院接口对接 +- [ ] 松滋雨量数据导入到楚星钟 +招人 +前端接口实时通讯 +- [x] 注册机制问题 +- [ ] 报警和联动判断条件池 +- [ ] 实时事件通讯 +- [x] 架构设计说明书A1 +- [ ] 监测云种子数据 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第十周0304 - 0310.md b/实践积累/工作记录/每周事务/第十周0304 - 0310.md new file mode 100755 index 0000000..8e49e88 --- /dev/null +++ b/实践积累/工作记录/每周事务/第十周0304 - 0310.md @@ -0,0 +1,12 @@ +- [x] 监测云v1.0 的进度计划A1版重做 +- [x] RTCM解析库 测绘公司 获取_—转交算法组 +- [x] 项目总结 +- [x] 监测GIS 3D 应用需求收集整理 (优生) +- [x] 周报 +- [x] 监测云logo商标 +- [x] 软著申请是否加急 +- [x] 智能采集仪接入开呀 +- [x] 监测v1.1业务需求敲定 +- [x] 需求分析总用例图补充 +- [x] 安全卫士软件 gnss 模块的英文版 供墨西哥演示 +- [x] 安全卫士打包成英文版(采集软件和发布软件) \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第十四周0401 - 0407.md b/实践积累/工作记录/每周事务/第十四周0401 - 0407.md new file mode 100755 index 0000000..119af56 --- /dev/null +++ b/实践积累/工作记录/每周事务/第十四周0401 - 0407.md @@ -0,0 +1,18 @@ +- [x] 监测v1.0功能测试申请表编写 +- [x] 监测v1.1立项申请书并且签字 +- [x] 监测v1.1项目计划 +- [ ] 监测v1.1离线规则以及报警规则梳理 +- [x] 监测v1.1业务需求评审文档整理和签名 +- [ ] 监测v1.1需求文档整理以及第二版编写 +- [ ] 监测v1.1振动监测 + +- [x] 三峡渝北模拟数据处理清单整理 +- [x] 107地质队问题处理 +- [x] 国贸安全卫士中英文资源问题处理 +- [x] 麻栗坝WCF偶发 不可用问题处理 +- [x] 解算软件英文版 +- [x] 数据备份 + +解算2.0启动 +监测2.0需求跟进 +徐海峰总工说4月20日出 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/第四周0121 - 0127.md b/实践积累/工作记录/每周事务/第四周0121 - 0127.md new file mode 100755 index 0000000..7731d8a --- /dev/null +++ b/实践积累/工作记录/每周事务/第四周0121 - 0127.md @@ -0,0 +1,12 @@ +- [x] 提交监测云第二版测试 +- [x] 广西华银铝业项目收尾维护跟进 +- [ ] 周五前周报 +- [x] IP固定与端口开通申请 +- [x] 合肥出差报销 +- [x] 智能采集仪接入方案沟通 +- [ ] 监测云第二轮测试推进退沟通 +- [ ] 三维开发推进和沟通 +- [ ] 贺江华临汾国土局投标支持 +- [ ] 广西华银铝业项目新增报表需求分析与评估 +- [ ] 香港机场测试项目技术持 +- [ ] 合肥水库项目支持收尾 \ No newline at end of file diff --git a/实践积累/工作记录/每周事务/贵州北斗监测测试.md b/实践积累/工作记录/每周事务/贵州北斗监测测试.md new file mode 100755 index 0000000..2b1eca1 --- /dev/null +++ b/实践积累/工作记录/每周事务/贵州北斗监测测试.md @@ -0,0 +1,67 @@ +1. - [x] 移动测量云台 林泉已和南昌工程学院老师沟通借到,分公司去取,晚点麻烦文义总提供下快递信息。(已完成) +2. - [x] 移动链接杆、三脚架和 三角基座 (3套) 已准备完毕(付喜光,胡军辉) +3. - [x] 钢尺两把(内部现有,侯占勋负责) +4. - [x] 4个150AH的铅酸蓄电池和两个充电器已购买(董航走流程,流程走到文义总那) +5. - [x] 4张手机物联网卡申请(韩伟浩已到位) +6. - [x] 贵州GZCORS账号注册申请 已完成(吴卓山) +7. - [x] GNSS设备准备和改造,TQC软件,周四晚上之前完成(2台MS331,4台MS302 韩伟浩负责) +8. - [x] 测试方案疑问问题标示 ,周四晚上之前完成(吴卓山负责) +9. - [x] 解算软件修改完善接入VRS等, 已具备接入ntrip client 接入,后续调试中(易清根负责) +10. - [ ] 专有设备以及软件详细清单(名称型号、数量以及功能并加盖公章) (吴卓山整理中) +11. - [ ] HIMonitor新建一个副本去运行测试项目 +12. - [ ] 在广州能搭建起整个GNSS测试平台,对所有设备和软件进行测试一遍,周五完成(吴卓山负责,其他人配合) +13. - [x] 先发货物清单与发货(联系宝滢) +14. - [ ] 安装gamit 软件并测试 +15. - [ ] 搭建监测云同步程序并实时展示解算数据 + +贵州cors 账号 +zhdbds +zhdbds_123456 + +认证编号GDGZ002 +vrs账号密码 +GDGZ00201 + +> zhdbds20190627 +GDGZ00202 +Zhdbds03 + +### 相关问题 + +### 相关问题 + +2. 测试期间解算软件和监测平台软件是部署到厂家自有的服务器上?还是现场电脑? + +监测平台软件工具的在测试过程的应用场景是怎样的?是需要快速监测数据和报警和短信吗?是否就是gnss数据实时解算软件? + +4. 整体的VRS测试思路是使用软件接入VRS来去虚拟基准站解算测站坐标。而不是使用设备本身接入VRS发送rtk固定坐标对吗?因为设备断电或重启其坐标就会变化。 +5. 第3节测试内容及指标中形变监测能力这一行的四种解算频率是实时解算结果还是事后解算的?因为一般解算软件都是设置一种实时解算频率。 +6. 第3节测试内容及指标中软件性能这一行这个导入功能没有在测试过程中体现,不知道其是否再考察范围内? +7. 是否是获取自架的基站或测站的精密坐标,是有厂商驾设设备后获取24小时的静态观测数据导出renix提供给 第三方的方式去获取 cgcs2000的精密坐标? +8. 6.1.4中 提到的第六小点精度评定说用分段方法去评定,分段规则是怎样的?其内符合精度评定是变形稳定后的数据,是不是每次移动都作为一次独立的实验去评定? +9. 6.1.6.2表格中的VRS地质灾害监测功能与VRS形变探测能力这两个怎么区别?具体评价指标有哪些? (响应时间,内外符合精度) +10. 6.2.3测试要求(真实环境)第五点提到VRS参考坐标统一采用基准站坐标这与6.2.2中的测试思路使用监测站的CGCS2000作为VRS的参考坐标矛盾,是否表达有误。 + + +1、网络问题,是否有固定IP。是不是用笔记本。 +具体关于分段测试的话,是不是不能保持不断电,是不是连续测试?晚上也会进行吗?测试过程中是否实时看时序监测数据? +2、我们想对比下国产板卡的精度,一套Vnet分体机,一套一体机(国产板卡和板卡的对比),是否可以。 +4、专有设备清单是不是是需要描述gnss接收机和软件就可以,其他不用细写? +5、用功分器的话,天线的兼容性?用哪家 + +周五广州测试思路 + +1、新开发的VRS功能接入开发完毕,解算软件先部署一版到测试服务器连续运行1晚上看看贵州CORS数据的稳定性(易清根) +2、由于广州cors 是专网访问,搭建环境较复杂。需要将修改测试基准站固件,使得CORS数据流可以转发到测试服务器的ZNETCASTER2中,解算软件再连接ZNETCASTER2获取cors差分数据。(因超短基线解算模式需要)基准站也可以本身的观测数据发送到解算软件。(韩伟浩负责,周五早上11点前) +3、20190628早上11点左右开始搭建广州测试环境,移动平台,测试基准站,测试监测站1(Vnet8),测试监测站2(MS331).并将数据发送到解算软件尝试VRS模式可以稳定解算。同一套数据配置两种解算模式,一种是超短基线工程,解算一种VRS解算模式。 +4、20190628下午,通过移动量测平台移动两个移动测站。(一个平台怎么精准移动两个测站,需要测试部帮忙想想办法(付喜光) +5、当天下午按照测试方法分段移动量测平台并且按照表格记录。(吴卓山) + +咱们自己的设备地址:贵阳市高新区湖滨路89号滨湖俊园3栋如家商旅前台 李文义 + +20190628gzcors北斗监测测试进度汇报如下: +1、今天下午 已发货 顺丰单号349958192749 ,内含3套 三角架,基座,连接杆 ;1个工具包 ;2套 Vnet8(两个天宝板) +2、剩余设备将周日人工带过去,主要有 量测云台1个;测试主机1套;2个vnet8(一个比逊板一个天宝板) +3、当日测试方案已基本了解清楚,广州本地测试进度情况较一般,测试环境搭建初步完成,VRS数据接收已稳定下来。虽然HiMonitor可以解出来,但目前解的不好。清根那边需要重新完善针对VRS情况下的算法解算。暂没有做移动类测试.。晚上在接收稳定性测试。明天 周六我和清根都会到公司加班继续进行测试。(易清根,吴卓山) +4、测试专有设备清单确定与盖章,后续投标。(吴卓山负责与领导确认并执行) +5、Vnet8标签纸遗漏,重新打印(韩伟浩) \ No newline at end of file diff --git a/实践积累/工作记录/研发/118云服务器管理.md b/实践积累/工作记录/研发/118云服务器管理.md new file mode 100755 index 0000000..f0988a0 --- /dev/null +++ b/实践积累/工作记录/研发/118云服务器管理.md @@ -0,0 +1,14 @@ +1433 ++++++++++++++++>准备 删除 +2101 待登记确认 ++++++++++++++++>准备 删除 +9000 待登记确认 ++++++++++++++++>准备 删除 +9001 待登记确认 ++++++++++++++++>准备 删除 + +8088 待登记确认 ++++++++++++++++>准备 删除 +8089 ICS500 机械网站 +8090 HiMonitor 2.0 网站 + +9997 安全卫士演示网站 +9999/9999 Vnet 远程控制端口 +10000-10001 HiMonitor1.2 三峡解算平台 +63350/63355 HiMonitor 2.0 后端解算服务(63355) +50000/50010 传感器数据传输端口 \ No newline at end of file diff --git a/实践积累/工作记录/研发/2018年中会.md b/实践积累/工作记录/研发/2018年中会.md new file mode 100755 index 0000000..9481116 --- /dev/null +++ b/实践积累/工作记录/研发/2018年中会.md @@ -0,0 +1 @@ +![Exported image](Exported%20image%2020260407231038-0.jpeg) \ No newline at end of file diff --git a/实践积累/工作记录/研发/INDEX_研发.md b/实践积累/工作记录/研发/INDEX_研发.md new file mode 100755 index 0000000..e615d80 --- /dev/null +++ b/实践积累/工作记录/研发/INDEX_研发.md @@ -0,0 +1,34 @@ +--- +title: 研发 索引 +tags: + - 索引 +created: 2026-04-21 +--- + +# 研发 + +> 自动生成的索引文件 + +## 文件列表 + +| 文件名 | 大小 | 说明 | +|--------|------|------| +| [[118云服务器管理]] | 500B | | +| [[2018年中会]] | 59B | | +| [[反向代理解决跨域问题]] | 477B | | +| [[基于gzcors的最佳VRS站选址概述]] | 1KB | | +| [[安全监测云平台产品需求会议]] | 190B | | +| [[安全监测数据体系搭建]] | 488B | | +| [[操作系统]] | 317B | | +| [[方向]] | 766B | | +| [[无法生成注册码问题]] | 201B | | +| [[框架搭建]] | 879B | | +| [[海康摄像头接入]] | 498B | | +| [[监测云文档编写]] | 1KB | | +| [[监测云系统菜单和权限设计]] | 337B | | +| [[监测软件规划]] | 195B | | +| [[研发方向]] | 3KB | | +| [[需求评审相关]] | 130B | | + +--- +*共 16 个文件* diff --git a/实践积累/工作记录/研发/反向代理解决跨域问题.md b/实践积累/工作记录/研发/反向代理解决跨域问题.md new file mode 100755 index 0000000..d5392a3 --- /dev/null +++ b/实践积累/工作记录/研发/反向代理解决跨域问题.md @@ -0,0 +1,18 @@ +``` +``` +listen 1064; +server_name 10.10.200.45; +# charset koi8-r; +# access_log logs/host.access.log main; +location / { +root html; +```sql +index index.html index.htm; +``` +add_header Access-Control-Allow-Origin *; +add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS'; +add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization'; +proxy_pass http://10.10.200.45:1060; +} +``` +``` \ No newline at end of file diff --git a/实践积累/工作记录/研发/基于gzcors的最佳VRS站选址概述.md b/实践积累/工作记录/研发/基于gzcors的最佳VRS站选址概述.md new file mode 100755 index 0000000..a73f117 --- /dev/null +++ b/实践积累/工作记录/研发/基于gzcors的最佳VRS站选址概述.md @@ -0,0 +1,25 @@ +输入 1:GZCORS 站点以及其状态信息。 +其中 type": "1" 正常 +"type": "-3" 设备故障 +"type": "-2" 网络故障 + +输入2:监测站的概略位置 经纬度 + +计算1:点点距离运算,通过计算监测点与CORS所有在线站点的距离,选区距离最小的三个 +输出1:距离监测站最近的三个CORS站点。 + +设定VRS选址规则:(GZCORS的隔网) +规则 1、 当 监测站距离任意一CORS站 (5KM) 范围内时,直接以该监测站概略坐标发送gga请求VRS +规则 2、 当 监测站距离任意一CORS站 (5-30km)范围内时, 选区监测站与最近的一个CORS站点的中点去发送GGA请求VRS +规则 3、 当 监测站距离任意一CORS站 (30km)范围时,不在使用VRS进行监测 计算2: +以监测站概略坐标做一个5KM的缓冲,最近的三个cors 站任意一个落在缓冲区范围内的。按照规则1请求。 +执行完毕 +计算3: +以监测站概略坐标做一个30KM的缓冲,最近的三个cors 站没有一个落在缓冲区范围外的。按照规则3请求。 +执行完毕 +计算4:(剩下的就是规则2的范畴了) +以监测站概略坐标与距离最近的那个cors求中点坐标。以该中点坐标发送gga请求VRS +执行完毕 + + +其中5km,30km 这两个边界值仅是理论猜想值,待实验验证优化。的 \ No newline at end of file diff --git a/实践积累/工作记录/研发/安全监测云平台产品需求会议.md b/实践积累/工作记录/研发/安全监测云平台产品需求会议.md new file mode 100755 index 0000000..8a5785b --- /dev/null +++ b/实践积累/工作记录/研发/安全监测云平台产品需求会议.md @@ -0,0 +1,5 @@ +- [ ] 监测数据与存储体系搭建 +- [ ] 采集与通讯需求 +- [ ] 解算与审核过滤需求,过滤规则,上下限配置, +- [ ] 数据查询需求 +- [ ] 统计与分析需求 \ No newline at end of file diff --git a/实践积累/工作记录/研发/安全监测数据体系搭建.md b/实践积累/工作记录/研发/安全监测数据体系搭建.md new file mode 100755 index 0000000..c72ac0c --- /dev/null +++ b/实践积累/工作记录/研发/安全监测数据体系搭建.md @@ -0,0 +1,27 @@ +**数据归约** **后时标** ,**统计数据选取范围** + +1. 1小时平均,统计数据选取范围(01分到60分) +2. 日平均(24小时平均) (1时到24时) +3. 月平均(1日到31日) +4. 季平均(1到4) +5. 年平均(1日到365日) +6. + + +不同行业的不同监测项目数据 + +- **三级报警限值确定** +- **采样频率规定** +- **数据有效性规定** + +表面位移 +内部位移 +降水量 +库水位 +干滩 +浸润线 + +数据修约 + + +5分钟 原始数据 \ No newline at end of file diff --git a/实践积累/工作记录/研发/操作系统.md b/实践积累/工作记录/研发/操作系统.md new file mode 100755 index 0000000..b3e9174 --- /dev/null +++ b/实践积累/工作记录/研发/操作系统.md @@ -0,0 +1,3 @@ +==Windows Server 2012 R2允许每个用户同时多个会话== + +======运行框中输入“gpedit.msc”→计算机配置→管理模板→Windows组件→远程桌面服务→远程桌面会话主机→连接→将远程桌面服务用户限制到单独的远程桌面服务会话,设置为“已禁用”。== \ No newline at end of file diff --git a/实践积累/工作记录/研发/方向.md b/实践积累/工作记录/研发/方向.md new file mode 100755 index 0000000..71b6d3a --- /dev/null +++ b/实践积累/工作记录/研发/方向.md @@ -0,0 +1,12 @@ +应急指挥通讯 +灾情评估 +变形预报模型 + +管理这一块可以增加一个端口管理 + + +参考点的 稳定性分析 +观测值的平差处理与之类评定(自由网平差,拟稳基准的拟稳平差) +变形模型参数估计——直接法和位移法 + +地质灾害信息综合管理:建立对各地质灾害隐患点的监测预警信息和地质灾害事故点的灾情信息的大型数据综合管理平台,并预留对应急指挥决策系统的数据接口,保留为上级指挥决策部门提供信息参考服务的能力,必要时可提供各地质灾害隐患点的水情、气象、形变等历史监测数据和地质灾害事故点的位置、声音、图象、视频等灾情信息,为指挥决策部门提供信息参考。 \ No newline at end of file diff --git a/实践积累/工作记录/研发/无法生成注册码问题.md b/实践积累/工作记录/研发/无法生成注册码问题.md new file mode 100755 index 0000000..d87f35f --- /dev/null +++ b/实践积累/工作记录/研发/无法生成注册码问题.md @@ -0,0 +1,2 @@ +[https://blog.csdn.net/KingOf007/article/details/53958686](https://blog.csdn.net/KingOf007/article/details/53958686) +关于那个Sg注册的问题,上面那个连接中方法(1)就可以解决了 \ No newline at end of file diff --git a/实践积累/工作记录/研发/框架搭建.md b/实践积累/工作记录/研发/框架搭建.md new file mode 100755 index 0000000..2a1f1cc --- /dev/null +++ b/实践积累/工作记录/研发/框架搭建.md @@ -0,0 +1,25 @@ +EF7 code first 尝试( +EntityFramework Reverse POCO Generator + > 来自 <[https://marketplace.visualstudio.com/items?itemName=SimonHughes.EntityFrameworkReversePOCOGenerator](https://marketplace.visualstudio.com/items?itemName=SimonHughes.EntityFrameworkReversePOCOGenerator)> +) +automapper +IdentityServer 尝试 +Autofac 依赖注入(自动注入) +Log4net +Audit.net +消息队列 +Quarz.net +本地化(参考serene) + +多数据库支撑设计,读写分离,原始库,审核库。系统库。 + +将安全卫士后端和前端打包到一个安装包。并且自动生成数据库。 + +原始库的实时数据存储以及分站点表模式?仪器表? +站点包含多种仪器组成。自由搭配。 +站点类型有gnss 与库水位干滩,测斜?Dtu 等。站点,其实就是一个仪器组! + +仪器编号,站点编号。 +业务重新架构。 + +仪器字典! \ No newline at end of file diff --git a/实践积累/工作记录/研发/海康摄像头接入.md b/实践积累/工作记录/研发/海康摄像头接入.md new file mode 100755 index 0000000..8708c59 --- /dev/null +++ b/实践积累/工作记录/研发/海康摄像头接入.md @@ -0,0 +1,9 @@ +【杭州海康威视】海康产品二次开发 +1、官网有SDK开发包及Demo下载。 +2、如果在开发中遇见问题,您可以按着下面的方法获取帮助 +请将以下信息提供完整,发送到sdk@hikvision.com邮箱,会有SDK工程师回复您的问题。 +a、您的具体开发需求。 +b、开发设备型号及版本 +c、开发环境及开发语言 +d、开发实现什么功能:已经操作到哪一步以及遇到的问题 +e、贵公司名称,联系人,联系电话 \ No newline at end of file diff --git a/实践积累/工作记录/研发/监测云文档编写.md b/实践积累/工作记录/研发/监测云文档编写.md new file mode 100755 index 0000000..76197f3 --- /dev/null +++ b/实践积累/工作记录/研发/监测云文档编写.md @@ -0,0 +1,56 @@ +- [x] 《研发立项申请表》 +- [x] 《项目进度计划》 +- [x] 《关键技术分析表》 +- [x] 《可行性分析报告》 +- [x] 《项目估算表》 +- [x] 《立项评审报告》 +- [x] 《项目策划书》 +- [x] 《软件产品需求规格书》 + +- [x] 《软件业务需求书》 +- [x] 《软件产品架构设计说明书》 +- [ ] 《软件产品接口设计书》 +- [x] 《架构设计评审报告》 + +- [ ] 《软件测试计划》 +- [ ] 《配置管理计划》 +- [ ] 《质量保证计划》 +- [ ] 《项目计划评审报告》 +- [ ] 《项目策划书》 +- [ ] UI界面、图标库 +- [ ] "《软件模块设计书》 +- [ ] 《软件数据库设计说明书》" +- [ ] 《算法总结报告》 +- [ ] 《代码静态检查记录》 +- [ ] 《代码评审报告》 +- [ ] 《测试用例》 +- [ ] "《测试用例评审报告》 +- [ ] 《测试用例评审检查单》" +- [ ] 《测试记录》 +- [ ] 《迭代评审报告》 +- [ ] 软件安装包 +- [ ] 《使用说明书》 +- [ ] 《软件测试报告》 +- [ ] 《发布评审报告》 +- [ ] 《软件发放通知书》 +- [ ] 设计更改流程 +- [ ] 《软件产品实施计划》 + + +- [ ] 《软件发放通知书》 +- [ ] 《客户验收报告》 +- [ ] 《项目总结报告》 +- [ ] 《项目结项申请表》 + +- [ ] 《项目状态报告》 +- [ ] 《QA问题跟踪表》 + +评审报告 +- [ ] 《业务需求评审报告》 +- [ ] 《软件业务需求书评审检查单》 +- [ ] 《产品需求评审报告》 +- [ ] 《软件需求规格书评审检查单》 +- [ ] 《软件架构设计书评审检查单》 + +我的编码 YFZ-2018-4478 到 4527 +YFZ-2018-4810 到4819 \ No newline at end of file diff --git a/实践积累/工作记录/研发/监测云系统菜单和权限设计.md b/实践积累/工作记录/研发/监测云系统菜单和权限设计.md new file mode 100755 index 0000000..972a5de --- /dev/null +++ b/实践积累/工作记录/研发/监测云系统菜单和权限设计.md @@ -0,0 +1,5 @@ +- **租户、用户、角色、页面权限表直接沿用****ABP****框架表** +- 页面级别权限控制,**不到按钮级别的功能控制。** +- 需要新增一个菜单表,对应AbpPermissions,需要一个配置页面,支持新增,查看,分配 租户角色 + +![1 2 DTII VNET 1 2](Exported%20image%2020260407231044-0.png) \ No newline at end of file diff --git a/实践积累/工作记录/研发/监测软件规划.md b/实践积累/工作记录/研发/监测软件规划.md new file mode 100755 index 0000000..97ad47d --- /dev/null +++ b/实践积累/工作记录/研发/监测软件规划.md @@ -0,0 +1,10 @@ +变形预警评估系统(模型研发) 应届生预研 +工程大数据监控可视化平台(结合群策群防) +北斗解算平台 + +人员专业化 +后端 +前端 +gis + +框架使用postgresl \ No newline at end of file diff --git a/实践积累/工作记录/研发/研发方向.md b/实践积累/工作记录/研发/研发方向.md new file mode 100755 index 0000000..4122895 --- /dev/null +++ b/实践积累/工作记录/研发/研发方向.md @@ -0,0 +1,30 @@ +“十三五”时期地质灾害防治工作的目标是,全面完成山地丘陵区地质灾害详细调查和重点地区地面沉降、地裂缝和岩溶塌陷调查,全面完成全国重点防治区地质灾害防治高标准“十有县”建设,实现山地丘陵区市、县两级地质灾害气象预警预报工作全覆盖,完善提升以群测群防为基础的群专结合监测网络,基本完成已发现的威胁人员密集区重大地质灾害隐患的工程治理。到2020年,建成系统完善的地质灾害调查评价、监测预警、综合治理、应急防治四大体系,全面提升基层地质灾害防御能力。 + > 来自 <[http://www.mlr.gov.cn/wszb/2017/dzzh/zhibozhaiyao/201701/t20170118_1427134.htm](http://www.mlr.gov.cn/wszb/2017/dzzh/zhibozhaiyao/201701/t20170118_1427134.htm)> +实施监测预警,强化监测队伍力量,完善地质灾害监测预警体系,及时发出防灾减灾警示信息,是避免地质灾害造成人员伤亡的重要手段。主要工作任务:一是进一步加强国家、省、市、县四级地质灾害气象预警预报工作,实现山地丘陵县(市、区)全覆盖,进一步提高地质灾害预警信息发布针对性和时效性。二是推广网格化管理等先进典型经验,进一步完善全覆盖的地质灾害群测群防监测网络,充分发挥专业队伍监测作用,完善专业监测队伍驻守制度,构建群测群防与专业监测有机融合的监测网络,开展威胁城镇、重大工程所在区域、交通干线及其它重要设施的3000处地质灾害隐患专业监测。三是健全完善地面沉降重点防治区的地面沉降监测网络,推进国土、水利、规划、建设等部门的监测网络数据共享。 + > 来自 <[http://www.mlr.gov.cn/wszb/2017/dzzh/zhibozhaiyao/201701/t20170118_1427134.htm](http://www.mlr.gov.cn/wszb/2017/dzzh/zhibozhaiyao/201701/t20170118_1427134.htm)> + +地质灾害防治“五化”模式 + 一是 **管理支撑层级化** 。建立制度约束下的县、乡、村三层行政管理和专业队伍、县级地质环境监测站、乡国土所三级技术支撑相结合的地质灾害防治体系。 + 二是 **监测手段多样化** 。综合利用激光测距法、新型埋桩法等7种监测手段,建立手段多样化、定量化、低成本的新型地质灾害群测群防监测网络。 + 三是 **数据采集智能化** 。实现地质灾害调查、群测群防监测和地质灾害点三维遥感数据智能化采集。 + 四是 **预警预报及时化** 。实现群测群防监测预警预报及时化和地质灾害气象预警及时化。 + 五是 **信息服务一体化** 。实现地质灾害防灾减灾全过程信息化和信息管理与服务一体化,实现全国四级地质灾害数据库更新一体化。 + > 来自 <[http://www.cigem.gov.cn/auto/db/detail.aspx?db=1006&rid=40955&agfi=0&cls=0&uni=False&cid=0&showgp=False&prec=False&md=20&pd=210&msd=11&psd=5&mdd=11&pdd=5&count=20](http://www.cigem.gov.cn/auto/db/detail.aspx?db=1006&rid=40955&agfi=0&cls=0&uni=False&cid=0&showgp=False&prec=False&md=20&pd=210&msd=11&psd=5&mdd=11&pdd=5&count=20)> + +网格化、智能化的地质灾害群测群防技术体系,完善远程会商系统,建立全国统一的地质灾害应急指挥平台 + > 来自 <[http://www.mlr.gov.cn/wszb/2017/dzzh/zhibozhaiyao/201701/t20170118_1427134.htm](http://www.mlr.gov.cn/wszb/2017/dzzh/zhibozhaiyao/201701/t20170118_1427134.htm)> + +监测—— +预警——大数据分析 +地质灾害应急平台 + +安全监测云下一个版本 + +**灾害模型化** +**倾斜摄影** +**360****全景图** +**正射影像或自定义图片上传** +**群策群防体系** +**组合告警****.** +**联动分析** +**设备远程控制** \ No newline at end of file diff --git a/实践积累/工作记录/研发/需求评审相关.md b/实践积累/工作记录/研发/需求评审相关.md new file mode 100755 index 0000000..e75114d --- /dev/null +++ b/实践积累/工作记录/研发/需求评审相关.md @@ -0,0 +1,2 @@ +[https://www.jianshu.com/p/e11d0ce9fa3e](https://www.jianshu.com/p/e11d0ce9fa3e) + ![PPT](Exported%20image%2020260407231117-0.jpeg) \ No newline at end of file diff --git a/实践积累/工作记录/竞品分析/北斗云.md b/实践积累/工作记录/竞品分析/北斗云.md new file mode 100755 index 0000000..ab771b3 --- /dev/null +++ b/实践积累/工作记录/竞品分析/北斗云.md @@ -0,0 +1,4 @@ +[http://cm.northdoo.com](http://cm.northdoo.com) +平台功能试用、观察者 +northdoo1 +northdoo \ No newline at end of file diff --git a/实践积累/工作记录/竞品分析/安心云.md b/实践积累/工作记录/竞品分析/安心云.md new file mode 100755 index 0000000..5ba1ff9 --- /dev/null +++ b/实践积累/工作记录/竞品分析/安心云.md @@ -0,0 +1,4 @@ +[http://www.anxinyun.cn/](http://www.anxinyun.cn/) + +账号:lancangjiang +密码: 1234qwer \ No newline at end of file diff --git a/实践积累/工作记录/竞品分析/湖南梦图省平台.md b/实践积累/工作记录/竞品分析/湖南梦图省平台.md new file mode 100755 index 0000000..b8a67ef --- /dev/null +++ b/实践积累/工作记录/竞品分析/湖南梦图省平台.md @@ -0,0 +1,4 @@ +[http://dzzh.hndzhj.com/](http://dzzh.hndzhj.com/) + +账号:mthn +密码:888888 \ No newline at end of file diff --git a/实践积累/工作记录/质量管理/APQP建设方案.md b/实践积累/工作记录/质量管理/APQP建设方案.md new file mode 100755 index 0000000..6f7a892 --- /dev/null +++ b/实践积累/工作记录/质量管理/APQP建设方案.md @@ -0,0 +1 @@ +![Exported image](Exported%20image%2020260407230114-0.png) \ No newline at end of file diff --git a/实践积累/工作记录/质量管理/APQP知识体系.md b/实践积累/工作记录/质量管理/APQP知识体系.md new file mode 100755 index 0000000..f014c7f --- /dev/null +++ b/实践积累/工作记录/质量管理/APQP知识体系.md @@ -0,0 +1 @@ +![Exported image](Exported%20image%2020260407230134-0.png) \ No newline at end of file diff --git a/实践积累/工作记录/质量管理/DFMEA过程活动集.md b/实践积累/工作记录/质量管理/DFMEA过程活动集.md new file mode 100755 index 0000000..c3c5927 --- /dev/null +++ b/实践积累/工作记录/质量管理/DFMEA过程活动集.md @@ -0,0 +1 @@ +![Exported image](Exported%20image%2020260407230240-0.png) \ No newline at end of file diff --git a/实践积累/工作记录/质量管理/FMEA应用思考.md b/实践积累/工作记录/质量管理/FMEA应用思考.md new file mode 100755 index 0000000..14186e7 --- /dev/null +++ b/实践积累/工作记录/质量管理/FMEA应用思考.md @@ -0,0 +1,5 @@ +![Exported image](Exported%20image%2020260407230200-0.png) + +系统工程师,全方位kaolv +检查表、流程控制要到位落于实处 +问题和经验库提炼为知识库 \ No newline at end of file diff --git a/实践积累/工作记录/质量管理/FMEA应用流程.md b/实践积累/工作记录/质量管理/FMEA应用流程.md new file mode 100755 index 0000000..b740727 --- /dev/null +++ b/实践积累/工作记录/质量管理/FMEA应用流程.md @@ -0,0 +1 @@ +![Exported image](Exported%20image%2020260407230125-0.png) \ No newline at end of file diff --git a/实践积累/工作记录/质量管理/FM失效模式的分类管理.md b/实践积累/工作记录/质量管理/FM失效模式的分类管理.md new file mode 100755 index 0000000..5e21db5 --- /dev/null +++ b/实践积累/工作记录/质量管理/FM失效模式的分类管理.md @@ -0,0 +1 @@ +![Exported image](Exported%20image%2020260407230220-0.png) \ No newline at end of file diff --git a/实践积累/工作记录/质量管理/INDEX_质量管理.md b/实践积累/工作记录/质量管理/INDEX_质量管理.md new file mode 100755 index 0000000..4c67e64 --- /dev/null +++ b/实践积累/工作记录/质量管理/INDEX_质量管理.md @@ -0,0 +1,32 @@ +--- +title: 质量管理 索引 +tags: + - 索引 +created: 2026-04-21 +--- + +# 质量管理 + +> 自动生成的索引文件 + +## 文件列表 + +| 文件名 | 大小 | 说明 | +|--------|------|------| +| [[APQP建设方案]] | 58B | | +| [[APQP知识体系]] | 58B | | +| [[DFMEA过程活动集]] | 58B | | +| [[FMEA应用思考]] | 175B | | +| [[FMEA应用流程]] | 58B | | +| [[FM失效模式的分类管理]] | 58B | | +| [[嵌入式软件]] | 58B | | +| [[平台软件DFMEA]] | 241B | | +| [[应用探讨]] | 58B | | +| [[应用软件DFMEA]] | 384B | | +| [[质量法典]] | 109B | | +| [[问题关联&FMEA 绑定]] | 196B | | +| [[问题关联&amp;FMEA 绑定]] | 196B | | +| [[问题管理流程]] | 379B | | + +--- +*共 14 个文件* diff --git a/实践积累/工作记录/质量管理/嵌入式软件.md b/实践积累/工作记录/质量管理/嵌入式软件.md new file mode 100755 index 0000000..c695701 --- /dev/null +++ b/实践积累/工作记录/质量管理/嵌入式软件.md @@ -0,0 +1 @@ +![Exported image](Exported%20image%2020260407230226-0.png) \ No newline at end of file diff --git a/实践积累/工作记录/质量管理/平台软件DFMEA.md b/实践积累/工作记录/质量管理/平台软件DFMEA.md new file mode 100755 index 0000000..78c6fa4 --- /dev/null +++ b/实践积累/工作记录/质量管理/平台软件DFMEA.md @@ -0,0 +1,7 @@ +![Exported image](Exported%20image%2020260407230206-0.png) + +需求跟踪矩阵/需求-功能矩阵 +复杂度比较高,修复速度快 +测试用例要贴近异常场景, +时序图很重要,数据流 +DFMEA 建议打开到模块 可以。 \ No newline at end of file diff --git a/实践积累/工作记录/质量管理/应用探讨.md b/实践积累/工作记录/质量管理/应用探讨.md new file mode 100755 index 0000000..5c7274c --- /dev/null +++ b/实践积累/工作记录/质量管理/应用探讨.md @@ -0,0 +1 @@ +![Exported image](Exported%20image%2020260407230236-0.png) \ No newline at end of file diff --git a/实践积累/工作记录/质量管理/应用软件DFMEA.md b/实践积累/工作记录/质量管理/应用软件DFMEA.md new file mode 100755 index 0000000..9aff656 --- /dev/null +++ b/实践积累/工作记录/质量管理/应用软件DFMEA.md @@ -0,0 +1,8 @@ +![Exported image](Exported%20image%2020260407230211-0.png) + +问题库,经验库——>定期刷新到技术规范 +问题提炼,让新人可以总揽问题库 + +跟技术线和项目线的 矩阵管理中? 是按照项目维度还是技术线的维度。 +专职做问题管理的主要关注点是:分类和标准化管理,不是做问题的分析和解决。 +人员梯队建设 \ No newline at end of file diff --git a/实践积累/工作记录/质量管理/质量法典.md b/实践积累/工作记录/质量管理/质量法典.md new file mode 100755 index 0000000..8b7b509 --- /dev/null +++ b/实践积累/工作记录/质量管理/质量法典.md @@ -0,0 +1,4 @@ +质量法典 +有经验的可靠的专家团队各个环节把关,有效的评审 + +制造问题+研发问题 \ No newline at end of file diff --git a/实践积累/工作记录/质量管理/问题关联&FMEA 绑定.md b/实践积累/工作记录/质量管理/问题关联&FMEA 绑定.md new file mode 100755 index 0000000..6bdb663 --- /dev/null +++ b/实践积累/工作记录/质量管理/问题关联&FMEA 绑定.md @@ -0,0 +1,7 @@ + + +404 Not Found + +

Not Found

+

The requested URL was not found on this server.

+ diff --git a/实践积累/工作记录/质量管理/问题关联&amp;FMEA 绑定.md b/实践积累/工作记录/质量管理/问题关联&amp;FMEA 绑定.md new file mode 100755 index 0000000..6bdb663 --- /dev/null +++ b/实践积累/工作记录/质量管理/问题关联&amp;FMEA 绑定.md @@ -0,0 +1,7 @@ + + +404 Not Found + +

Not Found

+

The requested URL was not found on this server.

+ diff --git a/实践积累/工作记录/质量管理/问题管理流程.md b/实践积累/工作记录/质量管理/问题管理流程.md new file mode 100755 index 0000000..388be8d --- /dev/null +++ b/实践积累/工作记录/质量管理/问题管理流程.md @@ -0,0 +1,8 @@ +**所有不符合项的汇总,而不仅是产品问题****(8D ,5WHY,** **鱼骨图** **(可能的问题关联,明确关注面)** **数据统计分析方法****)** + +**先开展鱼骨图做根因分析,基于鱼骨图做****5why****分析** + +**区分流出原因和产生原因区别分析。** +**跟踪措施** + +![Exported image](Exported%20image%2020260407230141-0.png) \ No newline at end of file diff --git a/实践积累/工作记录/项目记录/云南麻栗坝大坝.md b/实践积累/工作记录/项目记录/云南麻栗坝大坝.md new file mode 100755 index 0000000..65f2e1d --- /dev/null +++ b/实践积累/工作记录/项目记录/云南麻栗坝大坝.md @@ -0,0 +1,66 @@ +新项目任务来临 +麻栗坝大坝安全观测系统,,承担数据采集以及软件展示系统部分任务。 +主要涉及以下几个方面: + +- [ ] 浸润线监测 数据自动化采集 +葛南 VWP-Gzd 水位计 数据采集与展示(涉及2种接入方式,接在VNET8后的主动采集和与接在水位计采集单元 GDA1902(4) 的被动采集方式) +- [x] 生态流量监测 数据自动化采集 与前端展示 开发 +德希/武汉 流量计 DX-LSX-1 采集单元 DX-RTU-1 被动采集 + +- [ ] 土压力 孔隙水压力监测 数据自动化采集 与前端展示 开发 +金土木/常州 自动化采集单元JTM-MV20 + +- [ ] 量水堰监测 数据自动化采集 与前端展示 开发 +葛南/南京 量水堰计 GL-1A 采集单元 GDA1902 + +- [ ] 短信猫 M1206B 短信报送验证 金笛/北京 + +- [ ] 海康威视 视频监控设备 展示接入开发 + +- [ ] 把现有的水雨情数据接入到数据库 并进行展示。(与第三方沟通数据接口) +22个遥测站(11个雨量站,2个水文站,水库站2个,中心站1 个,渠道站6个,自动化气象站1个) + +![7 1 11 1 1 7](Exported%20image%2020260407230913-0.png) + +USERNAME PASSWORD +default 123 +defaultie 123 +system naricom + +传感器信息 +SELECT * +```sql +FROM [wds].[WDS].[SENSOR] +where DCHAR =100 or DCHAR=201 +``` +DCHAR =100 雨量站 +DCHAR=201 水位站 + +RTUTYPE=3 为水位站 +RTUTYPE=4 为雨量站 +RTUTYPE=44 为自动气象站 +RTUTYPE=1 为水文站 + +SELECT * +```sql +FROM [wds].[WDS].[RTU] + +``` +HOURDB 存储的是小时数据 +SELECT * +```sql +FROM [wds].[WDS].[HOURDB] +where SENID=603011014 +``` +order by time desc + ![0 2013 2 J 0 4 0 5 01 0 0 04](Exported%20image%2020260407230917-1.jpeg) +![N ART 0 WDS900 22 1 1 1 4 1 6 0 w s 2003 servero W...](Exported%20image%2020260407230920-2.jpeg) +![1](Exported%20image%2020260407230925-3.jpeg) +![, ! 09 12 5.0 4 0. 0 0.24 0](Exported%20image%2020260407230932-4.jpeg) + +南瑞宗师:13913047530 + +Zhdgps zhdgps_123456 + +视频用户名admin +密码:mlb20151121 \ No newline at end of file diff --git a/实践积累/工作记录/项目记录/唐山研山.md b/实践积累/工作记录/项目记录/唐山研山.md new file mode 100755 index 0000000..981dfcf --- /dev/null +++ b/实践积累/工作记录/项目记录/唐山研山.md @@ -0,0 +1 @@ +![2G dG4G 1 0 54 09 24 teamviewer 613249233 WKK.OOI ...](Exported%20image%2020260407230952-0.jpeg) \ No newline at end of file diff --git a/实践积累/工作记录/项目记录/宜化楚星.md b/实践积累/工作记录/项目记录/宜化楚星.md new file mode 100755 index 0000000..aef44a7 --- /dev/null +++ b/实践积累/工作记录/项目记录/宜化楚星.md @@ -0,0 +1,19 @@ +楚星浸润线采集单位为压强ppa +应该为毫米 +然后安装高度约为15m +应该展示安装高度减去水位高度为 仪器到孔口高度。 + +1、删除原始表 有问题数据 ,记住不要删多。 +```sql +DELETE FROM [dbo].[库水位1] +WHERE aDatetime>='2018-08-24 10:00' and aDatetime<'2018-08-24 12:00' +``` +2、删除过滤表数据 +```sql +DELETE FROM [dbo].[库水位1_clean] +``` +3、重启SG.自动过滤. +4、验证是否恢复。 +5、其他站点,更换站点名。重复上述1-4的操作 + +![HTSG BS ervi c e 1 3 0 j s H 0 0 0 0 000 IP TCPB V...](Exported%20image%2020260407230859-0.png) \ No newline at end of file diff --git a/实践积累/工作记录/项目记录/宜化股份.md b/实践积累/工作记录/项目记录/宜化股份.md new file mode 100755 index 0000000..41d32cd --- /dev/null +++ b/实践积累/工作记录/项目记录/宜化股份.md @@ -0,0 +1,9 @@ +测斜仪问题反馈 +1、前端展示现在为毫米单位,应该为角度 +2、测斜仪解析问题,同盛厂家,超量程(31度) 应该是特例吧(宜化尾矿库) +3、测斜仪配置说明文档 + +浸润线的数据在数据库是正值,然后到前段就变成负值 +SG 重启存在问题。 + ![16 17 18 19 20 21 22 23 24 GPS1ndex 1529851944593 ...](Exported%20image%2020260407230943-0.png) +![1 item 2 items 1 Item](Exported%20image%2020260407230947-1.png) \ No newline at end of file diff --git a/实践积累/工作记录/项目记录/新疆滑坡新增展示系统.md b/实践积累/工作记录/项目记录/新疆滑坡新增展示系统.md new file mode 100755 index 0000000..cbadf29 --- /dev/null +++ b/实践积累/工作记录/项目记录/新疆滑坡新增展示系统.md @@ -0,0 +1,5 @@ +- [x] 新疆滑坡项目静态页面展示需求沟通 +- [ ] 新疆滑坡项目静态页面原型制作 +- [ ] 新疆项目新增软件新增内容说明 + +新源县地质灾害灾后损毁评估与灾后生态恢复评估应用示范及相关图件等成果展示。 \ No newline at end of file diff --git a/实践积累/工作记录/项目记录/铜陵321.md b/实践积累/工作记录/项目记录/铜陵321.md new file mode 100755 index 0000000..7fb6d2a --- /dev/null +++ b/实践积累/工作记录/项目记录/铜陵321.md @@ -0,0 +1,5 @@ +vnet 远程端口 :118.190.41.197 :9999 +卫星原始数据报送端口 :118.190.41.197 :63355 +其他传感器端口:118.190.41.197 :50003 + +从114上进行迁移 \ No newline at end of file diff --git a/实践积累/工作记录/项目记录/项目迁移.md b/实践积累/工作记录/项目记录/项目迁移.md new file mode 100755 index 0000000..0e4f23a --- /dev/null +++ b/实践积累/工作记录/项目记录/项目迁移.md @@ -0,0 +1,18 @@ +vnet 远程端口 :118.190.41.197 :9999 +卫星原始数据报送端口 :118.190.41.197 :63355 + +himonitor2.0 的登录密码发送变更 admin  zhdbds_123 + > + +禾草沟账号 :禾草沟 123456 +接收机数据回传到服务器,之后通过CtoC将数据发送到HI-MONITOR +中瀚GNSS接收机 +12000 +11350001 +接收机IP:111.20.139.198:9002/ +用户名:admin +密码:passworf + + +龙岩账号:龙岩 123456 +铜陵账号:321地质队 123456 \ No newline at end of file