【Linux系列教程】expect工具
【Linux系列教程】expect工具
让脚本中的交互式命令自动执行
一、安装expect工具[root@localhost ~]# yum install -y expect
二、独立使用expect工具
set timeout 10 设置超时时间, 单位秒spawn 指定交互式命令expect 指定捕获的提示信息send 发送指令expect eof 捕获结束
#!/usr/bin/expect
#
set timeout 10
spawn passwd martin
expect "New password:"
send "www.1.com\n"
expect "Retype new password:"
send "www.1.com\n"
expect eof
三、配合Shell脚本使用1.自动创建用户和设置用户密码#!/bin/bash
#
useradd AAA
/usr/bin/expect &l ...
【Linux系列教程】Shell逻辑控制——循环
【Linux系列教程】Shell逻辑控制——循环一、Shell循环的几个方式
for
while
until
二、for循环1.格式for 变量 in 取值列表; do
执行的操作
执行的操作
done
for 变量 in 取值列表
do
执行的操作
执行的操作
done
2.示例:在tmp目录创建20个随机数文件#!/bin/bash
#
for i in $(seq 20); do #seq后面跟着数字代表这个命令输出多少次数
touch /tmp/$(openssl rand -hex 10)
done
3.示例:创建30个用户,并且判断用户是否存在,密码统一设置为redhat#! /bin/bash
#
for i in $(seq 30); do
#判断用户是否存在
if id user$i &> /dev/null; then
echo "用户user$i存在"
else
#如果不存在,创建用户 ...
【Linux系列教程】Shell逻辑控制——条件判断
【Linux系列教程】Shell逻辑控制——条件判断一、实现条件判断
if
case
二、简单的if语句if 条件; then
执行的操作
执行的操作
fi
if 条件; then
执行的操作
else
执行的操作
fi
1.条件的写法
[表达式]
数字表达式
字符表达式
文件目录表达式
A.数字表达式
[ 数字1 -eq 数字2 ] 等于[ 数字1 -ne 数字2 ] 不等于[ 数字1 -gt 数字2 ] 大于[ 数字1 -ge 数字2 ] 大于等于[ 数字1 -lt 数字2 ] 小于[ 数字1 -le 数字2 ] 小于等于
B.字符表达式
== 等于!= 不等于-z 字符 判断是否为空字符
#!/bin/bash
#
read -p "输入密码: " pwd1
read -p "确认密码: " pwd2
if [ "$pwd1" == "$pwd2" ...
【Linux系列教程】Shell脚本基础
【Linux系列教程】Shell脚本基础一、Shell脚本的应用
应用场景:
重复的工作、自动执行
本质上就是个文本文件
二、echo 输出1.echo
Tips: 单引号和双引号的区别:单引号:所有字符会被作为普通字符显示双引号:特殊字符会被转义
[root@localhost ~]# echo "kvm虚拟机管理工具"
kvm虚拟机管理工具
[root@localhost ~]# echo 'kvm虚拟机管理工具'
kvm虚拟机管理工具
2.-e解释转译字符
\n 换行\t 空格
[root@localhost ~]# echo -e "SHELL\nPython\nGOlang"
SHELL
Python
GOlang
[root@localhost ~]# echo -e "Linux\tWindows\tUNIX"
Linux Windows UNIX
3.here document 显示多行内容[root@localhost ~]# cat << eof #eof可替换其 ...
【Linux基础服务教程】LAMP环境安装+部署WordPress博客
【Linux基础服务教程】LAMP环境安装+部署WordPress博客 -从零开始搭建一个博客
环境版本:
Linux:Centos7.9
Apache:2.4.6(Centos)
MySQL:MySQL5.7
PHP:PHP7.4
WordPress 6.2
一、关于LAMP环境
L指→ Linux系统
A指→ Apache(httpd)提供web服务
M指→ Mysql或MariaDB提供数据库存储服务
P指→ PHP提供后台以及web动态处理
二、关于WordPress博客摘自百度百科WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把WordPress当作一个内容管理系统(CMS)来使用。
三、部署LAMP环境1.部署Linux系统安装过程省略点我跳转Linux的安装
一定要配置yum源和epel源!
2.部署Apache(httpd)[root@wsjj ~]# yum install -y httpd
A.删除默认测试页面[root@wsjj ~]# rm -rf /etc ...
TRSS-Yunzai搭建教程
TRSS-Yunzai搭建教程Linux端一键部署脚本教程前言:TRSS-Yunzai_by时雨◎星空 and Rain kavik’s Blog
在QQ群,QQ频道,微信群使用Miao-Yunzai。此教程所有资源均来自互联网,请勿进行任何商业性行为,仅供交流学习使用,如有侵权请联系,会立即删除。
以下教程都是为 windows准备的。
go-cqhttp和 TRSS-Yunzai 有liunx版本,你自己可以折磨。
ComWeChat Client 协议端,即微信,只能在windows上运行。
因网路问题,项目地址除了QQ和微信的协议端,都是Gitee地址,因为两个协议端目前都没有Gitee仓库 (我没发现)。
教程的环境文件我都存储在以下的网盘里面,你可以直接打包下载。
如果教程有问题,可通过频道联系 Zyy.小钰点击加入频道
文章最后我写了MC面板的托管,如果有需要,请查看。同时在这里征集其他网盘的链接。
非非的个人网盘
YunZai:
TRSS-Yunzai:gocq-Yunzai
miao-plugin:喵喵插件
QQ:
go-cqhttp:基于 Mirai 以及 Mi ...
【数据库系列教程】MySQL主从复制
【数据库系列教程】MySQL主从复制一、主从复制1.工作原理
Master服务器将写操作保存到二进制日志,通过网络将事件发送给slave服务器;slave服务器产生I/O thread线程接收二进制日志事件,并将该事件写入到本地的中继日志relay log,同时产生SQL thread线程从中继日志中读取操作执行操作,确保数据同步。
核心关注点:
数据同步
复制延迟时间
实现流程:
配置server_id
Master服务器启用二进制日志
Master服务器要存在允许从服务器远程 连接的用户
2.作用
避免数据库单点故障
便于冷备份
读写分离
实现方式:
开发代码
数据库中间件
mysql-proxy
mycat
3.常见主从复制架构
一主一从
一主多从
实现读操作的负载均衡
双主复制
4.主从复制工作方式
异步
默认
同步
半同步
借助插件google公司semi
二、案列:一主一从复制1.准备2台虚拟机
10.10.10.128 Master服务器10.10.10.130 Slave服务器
2.关闭防火墙和SEl ...
【数据库系列教程】MySQL备份与恢复
【数据库系列教程】MySQL备份与恢复一、备份类型和工具1.根据服务是否在线
热备份
在备份的过程,可以继续执行数据的读写操作
服务持续运行的状态
温备份
在备份的过程,只允许读操作、不允许写操作
锁表
冷备份
停止数据库服务、备份数据
影响业务运行
2.根据备份的数据量大小
完全备份
每次备份,备份所有数据
增量备份
仅备份上一次完全备份后变化的数据
仅备份上一次增量备份后变化的数据
差异备份
仅备份上一次完全备份后变化的数据
常用的备份策略
完全 + 增量完全 + 差异
3.根据备份的结果
逻辑备份
将数据库执行的写操作转换成SQL语句,保存到文件中
.sql
备份工具
mysqldump
物理备份
直接拷贝数据文件
开源备份工具
xtrabackup
官网:https://www.percona.com/
4.需要备份的文件
数据
二进制日志
配置文件
二、mysqldump工具(完全备份) 逻辑备份1.常用选项
-u #用户名
-p #密码
—all-databases #备份所有数据库
[r ...
【数据库系列教程】MySQL日志管理
【数据库系列教程】MySQL日志管理一、日志类型
错误日志
/var/log/mysqld.log
慢查询日志
二进制日志
重做日志
回滚日志
二、慢日志 slow query log1.作用
记录慢查询
2.如何定义慢查询
执行时长超过long_query_time指定的值的查询默认值10s
3.启用慢查询vim /etc/my.cnf
[mysqld]
long_query_time=10
slow_query_log=ON
slow_query_log_file=slow.log # 默认存放到数据目录下
systemctl restart mysqld
4.验证慢查询mysql> select sleep(15);
+-----------+
| sleep(15) |
+-----------+
| 0 |
+-----------+
[root@localhost data]# cat slow.log
/usr/sbin/mysqld, Versio ...
【数据库系列教程】MySQL用户管理和用户权限
【数据库系列教程】MySQL用户管理和用户权限一、用户管理1.用户名格式
用户名@客户端地址
客户端地址:
IP地址 admin@192.168.1.1
主机名 admin@node01.linux.com
网段 admin@192.168.1.%
所有主机 admin@%
本机 admin@localhost
2.存储用户的表 mysql.user
user 用户名
host 登录地址
(5.7版本以后)authentication_string 密码
(5.6版本之前)password 密码
mysql> select user, host, authentication_string from mysql.user;
+-----------+-----------+-------------------------------------------+
| user | host | authentication_string |
+-----------+ ...
【数据库系列教程】MySQL视图、事务、索引
【数据库系列教程】MySQL视图、事务、索引本期教程为MySQL数据管理操作后期教程
一、视图 (View)
临时表、虚表
针对多表查询
作用
通过视图可以将经常用到的多表查询结果进行保存,下次再使用数据时,直接从视图中查询数据即可
“对于频繁更新的数据,不适合创建视图”
1.创建视图语法create view 视图名称 as 查询语句;
CREATE VIEW view_name AS SELECT;
mysql> CREATE VIEW stu_teacher
-> AS
-> SELECT students.Name, students.Age, tutors.Tname FROM students, tutors WHERE students.TID = tutors.TID;
Query OK, 0 rows affected (0.01 sec)
mysql> SHOW TABLES;
+------------------+
| Tables_in_jiaowu |
+------------------+
| c ...
【Linux基础服务教程】httpd(Apache)配置https访问
【Linux基础服务教程】httpd(Apache)配置https访问一、网站传输协议
http
80/tcp
数据以明文的方式传输
https
443/tcp
数据以密文的方式传输
1.私有CA和公有CA
CA是一个证书颁发机构,私有CA代表本地自己搭建的CA服务器,而公有CA属于互联网公认的CA认证机构
2.CA申请SSL证书流程
电商服务器生成证书申请【.csr文件】, 同时将电商服务器的公钥放入证书申请;将证书申请发送给CA
CA审批信息, 通过后CA会使用自己的私钥进行签名;相当于签署证书【.crt】
客户端访问电商服务器时,服务器会将证书信息发送给客户端
客户端通过CA的公钥验证证书,验证通过后可获取电商服务器的公钥
客户端选取对称算法、密钥,使用公钥加密,发送给服务器、服务器解密
进行真实数据交互
二、配置公有CA颁发的SSL证书1.域名注册需要提前准备一个域名!!!
个人推荐的几个域名注册机构:阿里云万网、腾讯云、cloudflare
2.申请SSL证书我这里拿腾讯云做演示
腾讯云SSL证书控制台
普通个人用户可以选择免费的证书
缺点:只支持 ...