License授权
摘自:https://juejin.cn/post/7338723726837465107 什么是License?在我们向客户销售商业软件的时候,常常需要对所发布的软件实行一系列管控措施,诸如验证使用者身份、软件是否到期,以及保存版权信息和开发商详情等。考虑到诸多应用场景可能处于离线环境,无法依赖网络进行实时认证,所以还需要考虑单机认证时的防破解问题。总之,License许可证利用HTTPS网站的证书和签名技术,一方面证明当前使用者是申请License的本人,另一方面要防止恶意破解,并伪造篡改License达到白嫖的目的。 为什么使用License授权?License的作用是什么呢?收费软件的License其目的肯定是防止用户白嫖啦,所以License还应该具有以下一些功能: 授权使用明确用户需要满足的使用条件,如单用户、多用户、企业内部使用、全球使用等,并且通常会限定可安装和激活的设备数量。 限制功能根据不同等级的License,软件可以提供不同等级的功能,例如基础版、专业版、企业版等,License可以解锁相应版本的功能。 期限控制规定软件的使用期限,可能是永久授权,...
redis数据迁移
需求需要将一个redis实例中(或是具体到某一个db)的部分keys,转移到另一个redis实例(或是具体到某一个db) 使用Redis自身支持的指令源实例与目标实例版本相同使用dump命令12345678910111213141516171819202122232425262728293031#!/bin/bash#redis 源ipsrc_ip=127.0.0.1#redis 源portsrc_port=6392#redis 源密码src_auth=#redis 源库src_db=#redis 目的ipdest_ip=127.0.0.1#redis 目的portdest_port=6393#redis 目的密码dest_auth=#redis 目的库dest_db=#要迁移的key前缀key_prefix=testi=1redis-cli -h $src_ip -p $src_port -a $src_auth -n $src_db keys "${key_prefix}*" | while read keydo redis-cl...
记录ES的reindex操作
什么时候需要重建索引索引的mappings发生变更 索引的setting发生变更 集群内,集群间,需要做数据迁移 数据预处理Ingest Pipeline1234567891011121314151617181920212223242526272829PUT _ingest/pipeline/split_xxx{ "processors": [ { "split": { "field": "xxx", "separator": "," }, { "set": { "field": "xxx", "value": "0" } } } ]}# r...
k3s高可用安装
安装版本: k3s(v1.21.7+k3s1) 参考站内k3s实践高可用架构图 官方文档参考顺序(官方文档记录的顺序有点乱)1234560. 查看对应版本: https://www.suse.com/suse-rancher/support-matrix/all-supported-versions/rancher-v2-6-3/1. 基础架构: https://rancher.com/docs/rancher/v2.6/en/installation/resources/k8s-tutorials/infrastructure-tutorials/infra-for-ha-with-external-db/2. 负载均衡: https://rancher.com/docs/rancher/v2.6/en/installation/resources/k8s-tutorials/infrastructure-tutorials/nginx/3. 部署k3s: https://rancher.com/docs/rancher/v2.6/en/installation/resou...
Elasticsearch之缓存
转自:https://www.jianshu.com/p/1ec202148189 Elasticsearch 包含三个类型的缓存,分别为: Node Query Cache 、 Shard Request Cache 、 Fielddata Cache。 Node Query Cache作用域Query Cache是Node级别的,被所有shard共享。 早期版本也叫做为Filter Cache,顾名思义,它的作用是对过滤器的执行结果进行缓存。 Query Cache缓存的是压缩过的bitset,对应满足Query条件的docID列表。添加cache的时候,会注册一个回调,如果Segment被合并或者删除,那么就会被移除缓存 简单来看可以这样理解,一个ES的查询会先被parse 成一系列Lucene 的phrase,这些phrases 中的filter语句,如果对于查询条件是一样的时候,其实结果集是已定的,那么这些phrase 其实就是可以存放在一个地方当做cache用,这个就是 query cache。 配置参数既然是缓存,肯定会对数量和内存有限制。通过_nodes/stat...
Linux命令(长期)
常用命令进入个人的主目录1cd ~user1 返回上次所在的目录1cd - 查看目录中的文件1ls -F 显示文件和目录的详细资料1ls -l 显示隐藏文件1ls -a 显示包含数字的文件名和目录名1ls *[0-9]* 递归创建文件夹1mkdir -p /tmp/dir1/dir2 删除一个叫做 'dir1' 的目录'1rmdir dir1 同时删除两个目录及它们的内容1rm -rf dir1 dir2 命名/移动 一个目录1mv dir1 new_dir 复制一个文件1cp file1 file2 复制一个目录下的所有文件到当前工作目录1cp dir/* . 复制一个目录到当前工作目录1cp -a /tmp/dir1 . 复制一个目录1cp -a dir1 dir2 复制一个目录及子目录(递归)1cp -r dir1 dir2 源链接 目标链接 创建一个指向文件或目录的软链接 (不可以相对路径)1ln -s 源链接 目标链接 创建一个指向文件或目录的物理链接1ln file1 lnk1 从 '...
手动/自动mount磁盘
手动挂载 由于没有配置自动挂载,导致服务器重启后丢失挂载,这时候可以参考如下命令进行手动挂载 先使用fdisk -l查看目前的分区后使用如下命令挂载到您需要挂载的挂载点上 可以看到有两块磁盘 123456789101112131415161718192021222324252627282930313233[root@VM_113_96_centos xx]# fdisk -lDisk /dev/vda: 53.7 GB, 53687091200 bytes, 104857600 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x000c7a75 Device Boot Start End Blocks Id...
几种修改docker默认存储位置的方法
转自:https://blog.csdn.net/BigData_Mining/article/details/104921479 需求 docker容器存放目录磁盘空间满了,需要转移数据,修改Docker默认存储位置 解决方法方法1:迁移到新目录 停止docker服务。 1systemctl stop docker; //每个liunx版本的命令不一样。 创建新的docker目录,执行命令df -h,找一个大的磁盘。我的是放在/home目录下面,我的/home目录大小有900G。 我在 /home目录下面建了/home/work/docker_root目录,执行的命令是: 1mkdir -p /home/work/docker_root 迁移/var/lib/docker目录下面的文件到 /home/docker/lib下面 1cp -R /var/lib/docker/* /home/work/docker_root 注意:如果文件内容很...
Pytest学习总结
PytestPytest之fixture的使用fixture的功能fixture是pytest特有的功能,用以在测试执行前和执行后进行必要的准备和清理工作。使用pytest.fixture标识,定义在函数前面。在你编写测试函数的时候,你可以将此函数名称做为传入参数,pytest将会以依赖注入方式,将该函数的返回值作为测试函数的传入参数。 主要的目的是为了提供一种可靠和可重复性的手段去运行那些最基本的测试内容。 从功能上看来,与setup、teardown相似,但是优势明显: 命名方式灵活,不局限于setup和teardown这几个命名 conftest.py 配置里可以实现数据共享,不需要import就能自动找到一些配置 scope="module" 每一个.py文件调用一次 scope="session" 可以实现多个.py跨文件使用一个session来完成多个用例 fixture的参数详解 @pytest.fixture(scope = "function", params=None, autouse=Fal...
Selenium学习总结
参考:https://cloud.tencent.com/developer/article/1722974 selenium介绍selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器 中文参考文档:https://www.selenium.dev/zh-cn/documentation/webdriver/getting_started/ 环境准备selenium 安装1pip install selenium -i https://mirrors.aliyun.com/pypi/simple/ chrome driver下载最新版本地址:https://googlechromelabs.github.io/chrome-for-testing/ 历史版本地址:https://sites.google.com/chromium.org/driver/downloads ...
