03 2020 档案
摘要:1.1、监控简介 企业服务器对用户提供服务,作为运维工程师最重要的事情就是保证该服务正常稳定的运行,需要实时监控服务、服务器的运行状态,并且有故障及时去处理, 监控网站无需人工时刻去访问WEB网站或登录服务器去检查,可以借助开源监控软件例如zabbix、cacti、nagios、ganglia等来实
阅读全文
摘要:在日常的工作中,我们可能会涉及到很多个部门,很多个人员,每个部门只能看到自己部门的项目内容,每个人员只能看到自己负责的项目内容。权限控制就变的尤为重要,在Jenkins中对于权限的控制是通过 Role-based Authorization Strategy 插件来完成的。 安装插件 我这里已经安装
阅读全文
摘要:要熟练掌握Jenkins持续集成的配置、使用和管理,需要了解相关的概念,例如代码开发、编译、打包、构建等名称概念,常见的代码相关概念包括:MAKE、ANT、MAVEN、Eclipse、Jenkins等。 1)make编译工具 make编译工具是linux和Windows最原始的编译工具,在Linux
阅读全文
摘要:Jenkins官网免费获取Jenkins软件,官网地址为:http://mirrors.jenkins-ci.org/下载稳定的Jenkins版本。由于Jenkins是基于Java开发的一种持续集成工具,所以Jenkins服务器需安装JAVA JDK开发软件。Jenkins平台搭建步骤如下: 1)J
阅读全文
摘要:构建企业自动化部署平台,可以大大的提升企业网站部署效率,企业生产环境每天需要更新各种系统,传统更网站的方法是使用Shell+Rsync实现网站代码备份、更新,更新完之后,运维人员手动发送邮件给测试人员、开发人员以及相关的业务人员,传统更新网站耗费大量的人力,同时偶尔由于误操作会出现细小问题。构建自动
阅读全文
摘要:基本文件目录如下:httpd所需软件:httpd mariadb mariadb-server php php-mysql gd php-gd[root@ansible role]# lshttpd site_nginx.retry site.retrymariadb php-apache site
阅读全文
摘要:1.剧本(playbook)的架构 lnmp └── roles ├── mariadb # mariadb组件 │ ├── files │ ├── handlers │ │ └── main.yml # │ ├── meta │ ├── tasks │ │ └── main.yml │ ├── t
阅读全文
摘要:(备注:首先要在本地和远端发现 以下是playbook的内容。它的处理流程是: 1.先在本地下载apr,apr-util,httpd共3个.tar.gz文件。 2.解压这3个文件。 3.安装pcre和pcre-devel依赖包。 4.编译安装apr。 5.编译安装apr-util。 6.编译安装ht
阅读全文
摘要:1.1 ansible执行过程分析 使用ansible的-vvv或-vvvv分析执行过程。以下是一个启动远程192.168.100.61上httpd任务的执行过程分析。其中将不必要的信息都是用"....."替换了。 # 读取配置文件,然后开始执行对应的处理程序。 Using /etc/ansible
阅读全文
摘要:1. 循环 ansible中的循环都是借助迭代来实现的。基本都是以"with_"开头。以下是常见的几种循环。 1.1 with_items迭代列表 ansibel支持迭代功能。例如,有一大堆要输出的命令、一大堆要安装的软件包、一大堆要copy的文件等等。 例如,要安装一堆软件包。 - hosts:
阅读全文
摘要:1.1 ansible facts facts组件是用来收集被管理节点信息的,使用setup模块可以获取这些信息。 ansible-doc -s setup - name: Gathers facts about remote hosts 以下是某次收集的信息示例。由于收集的信息项非常多,所以截取了
阅读全文
摘要:playbook是ansible实现批量自动化最重要的手段。在其中可以使用变量、引用、循环等功能,相比ad-hoc而言,其功能要强大的多。 1.1 yaml简单示例 ansible的playbook采用yaml语法。以下是一个yaml格式的文件: # Members in Bob's family
阅读全文
摘要:ansible的playbook采用yaml语法,它简单地实现了json格式的事件描述。yaml之于json就像markdown之于html一样,极度简化了json的书写。在学习ansible playbook之前,很有必要把yaml的语法格式、引用方式做个梳理。 1.1 初步说明 以一个简单的pl
阅读全文
摘要:可以从ansible-doc -l | grep来找出想要的模块。再使用ansible-doc -s module_name来查看此模块的用法。官方模块列表和说明:https://docs.ansible.com/ansible/latest/modules_by_category.html 关于模
阅读全文
摘要:1.ansible简介 1.1 ansible是什么? ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。 ansible是基于 paramiko 开发的,并
阅读全文
摘要:DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... [RESTRICT | CASCADE] 实例: mysql> use oldboy; Database changed mysql> show tables; + + | Ta
阅读全文
摘要:23.1 备份单个数据库练习多种参数使用 mysql 数据库自带了一个很好用的备份命令,就是 mysqldump,它的基本使用如下: 语法:mysqldump –u <用户名> -p <数据库名> 备份的文件名 范例一: 23.2 查看数据库 oldboy 的内容 mysql> use oldbo
阅读全文
摘要:rename 语法: RENAME TABLE old_table TO backup_table, new_table TO old_table; mysql> show tables; + + | Tables_in_oldboy | + + | test | + + 1 row in set
阅读全文
摘要:21.1 命令语法及默认添加演示 1、命令语法:alter table <表名> add <字段> <类型> 其他 2、测试表数据: mysql> use oldboy; Database changed mysql> show create table test\G; **************
阅读全文
摘要:20.1 实践删除表中的数据 1、命令语法:delete from <表名> where <表达式> 提示:一定要加 where 条件,否则整张表都删了 实践 1 例如:删除表 test 中编号为 1 的记录 mysql> select * from test; + + + + + | id | a
阅读全文
摘要:19.1 修改表中指定条件固定列的数据 1、命令语法:update <表名> set <字段>=<新值>,..... where <条件> (一定要注意条件) 2、修改指定的行字段内容查看要修改的表 mysql> use oldboy; Reading table information for c
阅读全文
摘要:18.1 用命令抓取慢 SQL 语句,然后用 explain 命令查看查询语句是否走的索引查询 1 在数据库命令行里面操作 mysql> show full processlist; + + + + + + + + + | Id | User | Host | db | Command | Time
阅读全文
摘要:17.1 用查询语句查看是否使用索引情况 mysql> explain select * from test where name='oldgirl'\G; *************************** 1. row *************************** id: 1 se
阅读全文
摘要:建立几个关联表,实现多表连表查询,就需要有关联表及数据 16.1 创建学生表 mysql> create database oldboy; Query OK, 1 row affected (0.01 s mysql> use oldboy Database changed 创建学生表 create
阅读全文
摘要:15.1 查询表的所有数据行 1、命令语法:select <字段 1,字段 2,..> from <表名> where <表达式> 其中,select,from,where 是不能随便改的,是关键字,支持大小写 2、查看表 test 中所有数据 a.进入指定库后查询 mysql> use oldbo
阅读全文
摘要:mysql> select * from test; + + + + + | id | age | name | shouji | + + + + + | 1 | NULL | oldgirl | NULL | | 2 | NULL | 老男孩 | NULL | | 3 | NULL | etian
阅读全文
摘要:1、命令语法: nsert into <表名> [(<字段名 1>)[,.....<字段名>])]values(值 1)[,(值 n)] 2、新建一个简单的测试表 test mysql> use oldboy Reading table information for completion of
阅读全文
摘要:数据库索引就象书的目录一样,如果在字段上建立了索引,那么以索引列为查询条件时 可以加快查询数据的速度 查询数据库,按主键查询是最快的,每个表只能有一个主键列,但是可以有多个普通索 引列,主键列要求列的所有内容必须唯一,而普通索引列不要求内容必须唯一 主键就类似我们在学校学习时的学号一样,班级里是唯一
阅读全文
摘要:11.1以默认字符集latin1建库 由于我们并为特别设置数据库以及客户端字符集(因为编译是二进制安装,替换是latin1字符集) mysql> create database oldboy; Query OK, 1 row affected (0.11 sec) mysql> show creat
阅读全文
摘要:10.1 使用语法: 通过在 mysql 中输入 help grant 得到如下帮助信息 CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass'; GRANT ALL ON db1.* TO 'jeffrey'@'localhost'; GR
阅读全文
摘要:9.1 创建数据库 命令语法:create database <数据库名> <==注意库名不能数字开头,大小写不敏感 在 MySQL 默认字符集情况下建立数据库测试如下: 建立一个名为 oldboy 的数据库 mysql> show databases like 'oldboy'; + + | Da
阅读全文
摘要:8.1 什么是 SQL? SQL,英文全称 Structured Query Language,中文意思是结构化查询语言,它是一种对应关系数据中的数据进行定义和操作的语言方法,是大多数关系数据库管理系统所支持的工业标准。 数据库查询语言 SQL 是一种数据库查询和程序设计语言,用于存取数据以及查询、
阅读全文
摘要:7.1 为管理员 root 用户设置密码并修改方法之一 mysqladmin –uroot password ‘pcwangjixuan’ <--没有密码的用户设置密码命令 mysqladmin –uroot –p123456 password ‘pcwangjixuan’ –S /data/330
阅读全文
摘要:6.1 单实例 MySQL 登录的方法 1、mysql <--刚装完系统无密码情况登录方式,不要密码 2、mysql –uroot <--刚装完系统无密码情况登录方式,不要密码 3、mysql –uroot –ppcwangjixuan <--非脚本里一般不这样用,密码明文会泄露密码,可以掩饰 hi
阅读全文
摘要:5.1生产环境不能用强制命令关闭mysql服务 关于强制关闭mysql服务的命令: 杀死所有mysqld 杀死mysqld killall - 9个 mysqld 杀 - 9 PID 5.2下面来介绍优雅关闭数据库方法: 提示:推荐前两个方法,自己写脚本启动停止就用第一个 第一种:mysqladmi
阅读全文
摘要:4.1 单实例 MySQL 启动与关闭方法 法一:常规启动关闭数据库方式(推荐) 1.启动 mysql 命令 [root@db01 ~]# /etc/init.d/mysqld startStarting MySQL.. [ OK ] 2.查看 MySQL 端口 [root@db01 ~]# lso
阅读全文
摘要:启动程序设置700,属主和用户组为mysql 为mysq超级用户root设置密码 登录时尽量不要在命令行暴漏密码,备份脚本中如果有密码,给设置700,属主和用户组为mysql或root 删除默认存在的test库 初始删除无用的用户,只保留root 127.0.0.1和root localhost 授
阅读全文
摘要:2.1 什么是mysql多实例? 简单的说,mysql 多实例就是在一台服务器上同时开启多个不同的服务端口(如 3306、 3307),同时运行多个 mysql 服务进程,这些服务进程通过不同的 socket 监听不同的服务端 口来提供服务 这些 mysql 多实例公用一套 mysql 安装程序,使
阅读全文
摘要:按照早期的数据库理论,比较流行的数据库模型有三种,分别为层次式数据库,网络式数据库和关系型数据库,而在当今的互联网中,最常用的数据库模型主要是两种,即关系型数据库和非关系型数据库。 1.1关系型数据库介绍 1.关系数据库冲突 虽然网状数据库和层次数据库已经很好的解决了数据集中和共享问题,但是在数据独
阅读全文
摘要:12.21 FTP下载文件 #!/bin/bash if [ $# -ne 1 ]; then echo "Usage: $0 filename" fi dir=$(dirname $1) file=$(basename $1) ftp -n -v << EOF # -n 自动登录 open 192
阅读全文
摘要:14.11 屏蔽网站访问频繁的IP 1)屏蔽每分钟访问超过200的IP 方法1:以Nginx日志作为测试 DATE=$(date +%d/%b/%Y:%H:%M) ABNORMAL_IP=$(tail -n5000 access.log |grep $DATE |awk '{a[$1]++}END{
阅读全文
摘要:1)开头加解释器:#!/bin/bash 2)语法缩进,使用四个空格;多加注释说明 3)命名建议规则:变量名大写、局部变量小写,函数名小写,名字体现出实际作用。 4)默认变量是全局的,在函数中变量local指定为局部变量,避免污染其他作用域。 5)有两个命令能帮助我调试脚本:set -e 遇到执行非
阅读全文
摘要:13.31 wget 功能:非交互式网络下载,类似于HTTP客户端 常用选项: -b, --background 后台运行 日志记录和输入文件: -o, --output-file=FILE 日志写到文件 -a, --append-output=FILE 日志追加到文件 -d, --debug 打印
阅读全文
摘要:本章节学习一些在编写Shell时的常用命令或工具及使用技巧。有人说Shell脚本是命令堆积的一个文件,按顺序去执行。还有人说想学好Shell脚本,要把Linux上各种常见的命令或工具掌握了,这些说法都没错。由于Shell语言本身在语法结构上比较简单,是面向过程编程,想实现复杂的功能有点强人所难!而且
阅读全文
摘要:12.1 Linux系统目录结构 / 根目录,所有文件的第一级目录 /home 普通用户家目录 /root 超级用户家目录 /usr 用户命令、应用程序等目录 /var 应用数据、日志等目录 /lib 库文件和内核模块目录 /etc 系统和软件配置文件 /bin 可执行程序目录 /boot 内核加载
阅读全文
摘要:11.1 Linux信号类型 信号(Signal):信号是在软件层次上对中断机制的一种模拟,通过给一个进程发送信号,执行相应的处理函数。 进程可以通过三种方式来响应一个信号: 1)忽略信号,即对信号不做任何处理,其中有两个信号不能忽略:SIGKILL及SIGSTOP。 2)捕捉信号。 3)执行缺省操
阅读全文
摘要:文件描述符(fd):文件描述符是一个非负整数,在打开现存文件或新建文件时,内核会返回一个文件描述符,读写文件也需要使用文件描述符来访问文件。 内核为每个进程维护该进程打开的文件记录表。文件描述符只适于Unix、Linux操作系统。 8.1 标准输入、输出和错误 文件描述符 描述 映射关系 0 标准输
阅读全文
摘要:awk awk是一个处理文本的编程语言工具,能用简短的程序处理标准输入或文件、数据排序、计算以及生成报表等等。 在Linux系统下默认awk是gawk,它是awk的GNU版本。可以通过命令查看应用的版本:ls -l /bin/awk 基本的命令语法:awk option 'pattern {acti
阅读全文
摘要:sed,流编辑器,过滤和替换文本 工作原理:sed命令将当前处理的行读入模式空间进行处理,处理完把结果输出,并清空模式空间,然后再将下一行读入模式空间进行处理,以此类推,直到最后一行,还有一个空间叫保持空间,又称暂存空间,可以暂时存放一些处理的数据,但不能直接输出,只能放到模式空间输出。 这两个空间
阅读全文
摘要:grep是过滤来自一个文件或标准输入匹配模式内容。 除了grep外,还有egrep,fgrep。 egrep是grep的扩展,相当于grep -E 。fgrep相当于grep -f,用的少 用法:grep [OPTION]......PATTERN[FILE]..... 参数详解: -E 模式是扩展
阅读全文
摘要:正则表达式在某种语言中都会有,功能就是匹配符合您预期要求的字符串 shell正则表达式有两种: 基本正则表达式:BRE(基本正则表达式) 扩展正则表达式:ERE(扩展正则表达式),扩展的表达式有+,?,|和() 符号 描述 示例 。 匹配除换行符(\n)之外的任意字符 匹配123: echo -e
阅读全文
摘要:5.1函数 格式: func (){ command } 示例1: #!/bin/bash func(){ echo "this is a function" } func #执行结果 bash test.sh this is a function Shell函数很简单,函数名后跟双括号,再跟双大括
阅读全文
摘要:4.1、if语句 4.1.1单分支 if 条件表达式;then 命令 fi #!/bin/bash N=10 if [ $N -gt 5 ]; then echo yes fi 执行结果 bash test.sh yes 4.1.2双分支 if 条件表达式;then 命令 else 命令 fi 示例
阅读全文
摘要:3.1、条件表达式 表达式 示例 [expression] [ 1 -eq 1 ] `expression` ` 1 -eq 1 ` test expression test 1 -eq 1 ,等同于[] 3.2整数比较符 比较符 描述 示例 -eq, equal 等于 [ 1 -eq 1]为tru
阅读全文
摘要:上一章节讲解了为什么要用${}引用变量,${}还有一个重要的功能,就是文本处理,单行文本基本上可以满足你所有需求。 2.1、获取字符串长度 [root@localhost ~]# VAR='HELLO WORLD!' [root@localhost ~]# echo $VAR HELLO WORLD
阅读全文
摘要:1、简介 shell是一个c语言编写的脚本语言,他是用户与linux的桥梁,用户输入命令交给shell处理,shell将相应的操作传递给内核(kernel),内核把处理的结果输出给用户。 下面是处理的流程图: shell既然是工作在linux内核之上,那我们也有必要知道下linux相关知识。 lin
阅读全文