Shell运算符
基本语法 $((运算式)) 或 $[运算式] expr + - * / 注意,运算符号间要有空格 举个加法栗子12expr 3 + 25 举栗子[(2+3)*4]需要使用键盘左上角的`,把需要提前运算的包起来 1expr `expr 2 + 3` \* 4 或者 12s=$[(2+3)*4]echo $s
Shell工具(二)
awk工具 强大的文本分析工具,把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行分析处理。 awk [选项参数] ‘pattern1{action1}’ filename pattern:表示awk在数据中查找的内容 action:找到匹配内容时执行命令 选项参数 功能 -F 指定输入文件分隔符 -v 赋值一个用户定义变量 举个栗子数据准备的是/etc/passwd 12345678910111213141516[root@b09ed0cc2c9d opt]# cat passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown ...
Shell脚本初探
编写shell脚本时,必须以 #! /bin/bash 开头在linux创建helloworld.sh文件,在文件内输入: 123#!/bin/bash#################echo "hello World" 然后保存该文件 运行.sh文件时,有两种方法可以运行 第一种是给该文件添加可执行权限1chmod +x ./helloworld.sh 运行文件:./ 不能省略 1./helloworld.sh 第二种是使用bash或sh 文件路径运行该文件123bash helloworld.sh#sh helloworld.sh
Shell变量
shell变量分为系统变量和自定义变量,变量默认字符串类型系统变量$HOME 获取当前用户的家目录 $PWD 获取当前目录的路径 $SHELL 获取shell的执行引擎 $USER 获取当前用户的名称 自定义变量在linux系统中定义变量A=1,等号两边不能有空格,使用echo $A显示A的值 使用unset A命令,撤销变量 定义只读变量readonly b=3,使用echo $b显示b的值,不能unset export命令进行设置全局变量,可以让其他shell命令进行使用 特殊变量:$n定义 n表示数字,范围是0~9,$0表示脚本名称,$1~9表示1~9个参数,10以上的参数要用花括号包裹,如${10} 运行apple.sh文件时可以传递参数 举个栗子 12345678#!/bin/bash#echo "filename:" $0echo "filename_1:" $1echo "filename_2:" $2echo "filename_3:" $3echo "file ...
Shell脚本入门
创建txt文件并向txt文件追加数据首先创建test_shell.sh文件 1touch test_shell.sh 在test_shell.sh文件输入shell脚本 使用shell创建banzhang.txt文件 在文件中追加数据echo "aabbccdd" >> banzhang.txt 1234567#!/bin/bash# 指定目录cd /opt/# 创建文件touch banzhang.txt# 向文件追加数据echo "touch banzhang" >> banzhang.txt
css教程一
css选择器元素选择器(Element Selector) 通过元素名称选择 HTML 元素。12345// 如下代码,p 选择器将选择所有 <p> 元素:p { color: blue;} 类选择器(Class Selector) 通过类别名称选择具有特定类别的 HTML 元素。 123456// 类选择器以 . 开头,后面跟着类别名称。// 如下代码,.highlight 选择器将选择所有具有类别为 "highlight" 的元素。.highlight { background-color: yellow;} ID 选择器(ID Selector) 通过元素的唯一标识符(ID)选择 HTML 元素。 123456// ID 选择器以 # 开头,后面跟着 ID 名称。// 如下代码,#runoob 选择器将选择具有 ID 为 "runoob" 的元素。#runoob { width: 200px;} 属性选择器(Attribute Selector) 通过元素的 ...
_3主3从的`Redis集群`搭建(下)
_3主3从的Redis集群搭建(下)进入主机6381 redis-cli -p 6381 查看集群信息 cluster info 查看主机和从机之间的主从关系 cluster nodes .assets\image-20220509101455220.png)
_3主3从的`Redis集群`搭建之哈希槽算法
_3主3从的Redis集群搭建之哈希槽算法目的解决一致性哈希算法数据倾斜问题 实质是一个数组,数组[0,2^14-1]形成hash slot空间 作用解决均匀分配问题,在数据和节点之间加入一层(哈希槽slot)用于管理数据和节点之间的关系,现在相当于节点里放槽,槽里放数据 方便数据移动 哈希解决的映射问题,使用key的哈希值来计算所在的槽,便于数据分配 多少个hash槽一个集群只能有16384个槽,编号0-16383(0-2^14-1) 这些槽会分配给集群中的所有主节点,分配策略没有要求。可以指定哪些编号的槽分配给哪个主节点。集群会记录节点和槽的对应关系。 接下来就需要对key求哈希值,然后对16384取余,余数是几key就落入对应的槽里。slot = CRC16(key) % 16384。 以槽为单位移动数据,因为槽的数目是固定的,处理起来比较容易,这样数据移动问题就解决了。 举个栗子Redis 集群中内置了 16384 个哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点。当需要在 Redis 集群中放置一个 key-value时,redis 先对 ...
_3主3从的`Redis集群`搭建(上)
_3主3从的Redis集群搭建(上) 关闭防火墙,启动docker 新建6个docker容器docker run -d --name redis-node-6 --net host --privileged=true -v /data/redis/share/redis-node-6:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6386 docker run 创建并运行docker容器实例 —name redis-node-6 容器名字 —net host 使用宿主机的IP和端口,默认 —privileged=true 获取宿主机root用户权限 -v /data/redis/share/redis-node-6:/data 容器卷,宿主机地址:docker内部地址 redis:6.0.8 redis镜像和版本号 —cluster-enabled yes 开启redis集群 —appendonly yes ...
_dockerfile
_dockerfile以dockerfile的方法来进行对centos的具有vim,ifconfig和jdk8的镜像创建myfile文件夹创建Dockerfile文件 注意:jdk8需要和Dockerfile放到同一个文件夹 1234567891011121314151617181920212223242526FROM centos:7 MAINTAINER zzyy<zzyybs@126.com> ENV MYPATH /usr/local WORKDIR $MYPATH#安装vim编辑器RUN yum -y install vim#安装ifconfig命令查看网络IPRUN yum -y install net-tools#安装java8及lib库RUN yum -y install glibc.i686RUN mkdir /usr/local/java#ADD 是相对路径jar,把jdk-8u171-linux-x64.tar.gz添加到容器中,安装包必须要和Dockerfile文件在 ...
_mysql主从复制docker版
_mysql主从复制docker版安装mysql主从复制(一主一从)新建主服务器容器实例3307 1docker run -p 3307:3306 --name mysql-master -v /mydata/mysql-master/log/:/var/log/mysql -v /mydata/mysql-master/data:/var/lib/mysql -v /mydata/mysql-master/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 进入/mydata/mysql-master/conf目录下新建my.cnf把下面内容粘贴到my.cnf 12345678910111213141516[mysqld]## 设置server_id,同一局域网中需要唯一server_id=101 ## 指定不需要同步的数据库名称binlog-ignore-db=mysql ## 开启二进制日志功能log-bin=mall-mysql-bin ## 设置二进制日志使用内存大小(事务)binlog_cache_size= ...
_主从容错切换迁移
_主从容错切换迁移进入redis集群 注意:进入集群环境后,不能使用单机版的redis-cli -p 6381 因为这样会在增加数据时有error报错出现 使用set k1 v1错误是因为1号主机里面的编号是0到5460,超过了这个范围就会报错 正确进入的方法redis-cli -p 6381 -c -c 的作用是优化路由 注:FLUSHALL:作用是清除之前添加的记录 集群检查 redis-cli —cluster check 8.142.144.75:6381 注:可以进入任意一台主机 主从容错切换迁移 主机宕机,从机自动切换成主机