Linux shell脚本 静态检查工具 shellcheck
简介shellcheck 是一款实用的 shell脚本静态检查工具。
首先,可以帮助你提前发现并修复简单的语法错误,节约时间。每次都需要运行才发现写错了一个小地方,确实非常浪费时间。
其次,可以针对你当前不够完善不够健壮的写法,提供建议,帮助你提前绕开一些坑,避免等问题真的发生了才去调试处理。
在其介绍中,目标是针对所有用户的,从初学者到高手,都用得上
指出并澄清典型的初学者的语法问题,那通常会shell提供神秘的错误消息。
指出并澄清典型的中级的语义问题,这些问题会导致shell出现奇怪且反直觉的行为。
指出可能导致高级用户的脚本中,可能在未来某种情况下失败的陷阱。
在网页上使用1非常简单,在网页 `https://www.shellcheck.net` 上,贴入你的脚本,运行检查即可
在命令行中使用1下载后,在命令行中调用 `shellcheck yourscript` 即可
集成到编辑器中(推荐)推荐将shellcheck直接集成到日常编辑器中,这样就可以直接在编辑器中查看ShellCheck建议,以最快速度发现并修复问题。
Vim 通过 ALE, Neomake 或 ...
静态路由实现主备备份
概述1静态路由的路由备份,就是通过给链路设置优先级来实现的;优先级最大的作为主链路,其余的作为备用链路,当主链路出现故障或断开时,备用链路会自动添加到路由表中使用。
实验拓扑图
配置思路采用如下的思路配置静态路由实现主备备份:
创建VLAN并配置各接口所属VLAN,配置各VLANIF接口的IP地址。
配置数据流来回两个方向的静态路由。
在各主机上配置IP地址和默认网关。
操作步骤配置各接口所属VLAN配置SwitchA,SwitchB,SwitchC和SwitchD的配置与SwitchA类似。
123456789101112131415<HUAWEI> system-view[HUAWEI] sysname SwitchA[SwitchA] vlan batch 10 100 400[SwitchA] interface gigabitethernet 0/0/1[SwitchA-GigabitEthernet0/0/1] port link-type access[SwitchA-GigabitEthernet0/0/1] port default vlan 10[S ...
搭建 Java Web 开发环境
概述通过配置 JDK 、Tomcat 和 Mysql,完成Java Web 开发环境的配置
安装JDKJDK 是开发Java程序必须安装的软件,我们查看一下 yum 源里面的 JDK:
1yum list java*
选择适合本机的JDK,并安装:
1yum install java-1.7.0-openjdk* -y
安装完成后,查看是否安装成功:
1java -version
安装 Tomcat进入本地文件夹
1cd /usr/local
到官网找到 Tomcat 的下载链接,并下载到服务器中, 这里提供了一个快速下载 Tomcat 的地址:
1wget https://mc.qcloudimg.com/static/archive/fa66329388f85c08e8d6c12ceb8b2ca3/apache-tomcat-7.0.77.tar.gz
解压这个文件夹:
1tar -zxf apache-tomcat-7.0.77.tar.gz
重命名这个文件:
1mv apache-tomcat-7.0.77 /usr/local/tomcat7
进入 bin 文件夹
1cd / ...
源码编译安装Redis
1、下载源码1234将下载的包存储在新创建的/opt/soft目录下[root@nues ~]# mkdir /opt/soft #创建soft文件夹[root@nues ~]# cd /opt/soft[root@nues soft]# wget http://download.redis.io/releases/redis-5.0.6.tar.gz
2、安装组件12[root@nues soft]# yum groupinstall 'Development Tools'[root@nues soft]# tar -xf redis-5.0.6.tar.gz -C /usr/local/ #解压到 /usr/local/路径
3、编译安装12345[root@nues soft]# yum -y install gcc make #安装组件[root@nues soft]# cd /usr/local/[root@nues local]# mv redis-5.0.6 redis #修改名字[root@nues local]# cd redis[ro ...
Centos7使用pip3命令安装Ansible 2.11
Ansible简介
批量管理Server的工具
无需部署Agent,通过ssh管理
流行的自动化运维工具:https://github.com/ansible/ansible
环境说明1Centos7.6
使用源码安装Python3.9.8升级pip1pip3 install --upgrade pip
安装Ansible最新版本12345678#/usr/local/python/bin/pip3 install ansiblepip3 install ansible #/usr/local/python/bin/ansible --versionansible --version ln -s /usr/local/python/bin/ansible /usr/local/bin/ansible --version
安装Ansible指定版本1234#/usr/local/python/bin/pip3 install ansible==2.1.1#/usr/local/python/bin/pip3 install ansible==1.9.1pip3 install ansi ...
Nginx.conf--(负载均衡) 基本配置说明
一、正向代理概念位于客户端与原始服务器之间的服务器,为了获取原始服务器数据,客户端向代理服务器发送请求并指定请求目标(原始服务器),然后代理服务器接收请求并转换给原始服务器,并将响应数据返回客户端。
正向代理是客户端使用的,对客户端进行代理,客户端知道并主动使用代理
作用
访问原来无法访问的资源,FQ
可以做缓存,加速资源的访问
对客户端上网进行认证授权
上网行为管理,记录用户访问记录
二、反向代理服务器概念客户端发送请求到服务器(客户端认为是原始服务器,实际上是一台反向服务器),反向代理服务器接收请求并将请求转发给内部网络中的多台集群服务器,并装饰响应的数据返回给客户端
反射代理一般用于服务器集群,分布式等,实现负载均衡
作用
负载均衡,提高处理和响应速度
保证内网的安全,隐藏服务器的信息,防止web攻击
配置使用Nginx作为其他服务器
步骤1.创建虚拟主机配置文件,并配置反向代理12345678910111213141516171819202122232425#cd /etc/nginx/conf.d/#cp /default.conf proxy.conf#vi /prox ...
单臂路由配置实例
概述单臂路由(router-on-a-stick)是指在路由器的一个接口上通过配置子接口(或“逻辑接口”,并不存在真正物理接口)的方式,实现原来相互隔离的不同VLAN(虚拟局域网)之间的互联互通。
交换机连接主机的端口为access链路
交换机连接路由器的端口为Trunk链路
缺陷
单臂路由所有的流量都要经过主干链路,流量过大,容易形成流量瓶颈
单臂路由,一旦出现单点故障,对下vlan,所有vlan就不能通信了
拓扑图
路由器的物理接口可以被划分为多个逻辑接口
每个子接口对应一个VLAN网段的网关
配置AR112345678910vlan batch 10 20interface GigabitEthernet0/0/0.1 dot1q termination vid 10 ip address 192.168.10.1 255.255.255.0 arp broadcast enableinterface GigabitEthernet0/0/0.2 dot1q termination vid 20 ip address 192.168.20.1 255.255.25 ...
每天一个linux命令--后台运行命令nohup
语法nohup 命令用于将进程放后台运行(不挂断)。
1nohup Command [ Arg … ] [ & ]
参数
—help #打印帮助信息并退出
—version #打印版本信息并退出
示例后台运行
1[root@dosbat ~]# nohup java -server -Xms128M -Xmx512M -XX:MetaspaceSize=128M -jar test.jar $1 $2 $3 &
执行test.sh 脚本,并重定向输入到 test.log 文件
1[root@dosbat ~]# nohup /scripts/test.sh > test.log 2>&1 &
2>&1 解释 #将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 test.log 文件中。
0 – stdin (standard input,标准输入)
1 – stdout (standard output,标准输出)
2 – stderr (standard error,标准错误输出) ...
Git常用命令大全
一、新建代码库在当前目录新建一个Git代码库1$ git init
新建一个目录,将其初始化为Git代码库1$ git init [project-name]
下载一个项目和它的整个代码历史1$ git clone [url]
二、配置Git 的设置文件为. gitconfig,它可以在用户主目录下 (全局配置),也可以在项目目录下 (项目配置)
显示当前的Git配置1$ git config --list
编辑Git配置文件1$ git config -e [--global]
设置提交代码时的用户信息12$ git config [--global] user.name "[name]"$ git config [--global] user.email "[email address]"
颜色设置123456git config --global color.ui true # git status等命令自动着色git config --global color.status autogit ...
RPM和YUM 详解
RPM1.0 介绍RPM一种用于互联网下载包的打包及安装工具,它生成具有RPM扩展名的文件
1.1指令1.11 rpm包的查询指令1234567891011121314#查询已安装的所有rpm包rpm -qa#查询所安装的rpm包并进行过滤rpm -qa | grep xxx#分页显示rpm -qa | more#查询软件是否安装rpm -q 软件包名#查看软件包信息rpm -qi 软件报名#查询软件包中的文件rpm -ql软件报名#查询文件所属的软件包rpm -qf文件全路径名
1.2 安装rpm 包1234**rpm -ivh RPM** 包全路径名称i=install 安装v=verbose 提示h=hash 进度条
1.3安装步骤1234挂载上centos 的iso文件.到/media/Centos_x_x_Final/Packages下面找需要的rpm包.rpm -ivh RPM包全路径名称.安装完成.
1.4卸载rpm包1rpm -e RPM包的名称
注意事项
123如果其他软件包依赖于要卸载的软件包,卸载时则会产生错误信息.如果强制删除,可以增加参数-nodeps,但是不 ...