- 博客(48)
- 收藏
- 关注
原创 使用iptable实现: 放行telnet, ftp, web服务,放行samba服务,其他端口服务全部拒绝
服务端口说明ssh:22ftp tcp:20、21telnet tcp:23web tcp:80、443samba udp:137、138 tcp:139、445安装命令补全命令,可以不装[root@localhost ~]#yum -y install bash-completion#允许本机访问ssh端口[root@localhost ~]# iptables -I INPUT -s 10.10.6.190 -p tcp --dport 22 -j ACCEPT
2022-01-28 14:41:33
1651
原创 编写脚本,支持让用户自主选择,使用mysqldump还是xtraback全量备份
先下载xtrabackup[root@localhost ~]#yum install xtrabackup -y再写脚本[root@localhost ~]#vim mysql_backup.sh#!/bin/bashread -p "请选择MySQL备份方式 { 1:[mysqldump] | 2:[xtrabackup] },请输入数字 " NUMcase $1 in1)## mysqldump全量复制mysqldump -A -F --single-transaction --
2022-01-26 17:33:25
601
原创 实现基于MYSQL验证的vsftpd虚拟用户访问
环境为CentOS7,我是用两台,也可以放在一台做实验10.10.6.187 ----FTP服务器10.10.6.189 ----MySQL服务器FTP是网络协议之一,为系统系统提供了通过网络与远程服务器进行传输的简单方法。vsftpd 是支持FTP协议的程序。选择vsftpd主要是因为可以进行权限的控制,每个vsftpd账户都可以进行对应的配置。vsftp提供的三种登陆方式:1.匿名登录2.本地用户登录3.虚拟用户登录首先配置MySQL服务准备库MariaDB [(none
2022-01-26 17:24:19
1279
原创 导入hellodb.sql生成数据库
1、 导入hellodb.sql生成数据库 [root@localhost ~]$ mysql -uroot -p test > /root/hellodb_MyISAM.sqlMariaDB [hellodb]> use hellodb;MariaDB [hellodb]> select * from students;+-------+---------------+-----+--------+---------+-----------+| StuID | Nam
2022-01-26 14:29:18
170
原创 CentOS6 二进制安装 && 源码编译安装 MySQL-5.7.34
1、下载安装包mysql: https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/国内各镜像源都可以boost:https://www.boost.org/users/download/注意从MySQL 5.7.5开始,Boost库是必需的,mysql5.7.34要求boost1.59以上版本cmake:https://cmake.org/download/ls /usr/local/srcmysql-5.7.34.tar
2022-01-17 18:10:38
831
原创 安装部署ELK,并收集haproxy,nginx日志
elasticsearch集群部署node1 192.168.0.161node2 192.168.0.162node3 192.168.0.163各节点配置相同的JDK和elasticsearch版本[root@es-node1 ~]#java -version #装好JDKjava version "1.8.0_191"Java(TM) SE Runtime Environment (build 1.8.0_191-b12)Java HotSpot(TM) 64-Bit Serve
2022-01-11 16:26:01
1163
原创 使用ansible的playbook实现自动化安装httpd
实战-使用Playbook批量部署多台LAMP环境本机安装LNMP环境[root@jumpserver ~]#yum install httpd mariadb-server mariadb php php-mysql[root@jumpserver ~]#mkdir -p /mydata/data[root@jumpserver ~]#chown -R mysql.mysql /mydata/data[root@jumpserver ~]#vim /etc/my.cnfdatadir=/myd
2021-12-31 16:19:25
1387
原创 实现cobbler+pxe自动化装机
cobbler的下载和后续文件的下载都要依赖网络作为cobbler服务端,需要配置的服务有httpd、cobblerd、dhcpd、tftp关闭防火墙及selinux[root@centos7 ~]$getenforceDisabled[root@centos7 ~]$systemctl status firewalld● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/sys
2021-12-31 16:12:28
951
原创 配置chrony服务,实现服务器时间自动同步
主程序包:chrony两个主要程序:chronyd和chronycchronyd:后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿chronyc:命令行用户工具,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可在一台不同的远程计算机上工作服务unit 文件:/usr/lib/systemd/system/chronyd.service监听端口:323/udp,123/udp配置文件:/etc/chron
2021-12-31 16:01:53
1555
原创 安装配置redis的cluster集群
redis集群会自动实现redis哨兵的功能redis集群的每个节点的数据是拆分的,每个节点并不是全量的,它是通过CRC16算法取模,把集群的内存划分为16384个槽位一种方式是:在客户端实现,由客户端决定往哪台redis主节点写一种方式是:利用代理实现,故障转移、扩容之后,会更改算法,比较危险,不常用搭建集群环境前提:1.每个redis node节点采用相同的硬件配置、相同的密码、相同的redis版本。2.每个节点必须开启的参数#必须开启集群状态,开启后redis 进程会有cluster显
2021-12-31 14:55:05
660
原创 实现LVS+keepalived高可用集群
以下根据学神笔记摘抄机器名称机器名称网关机器作用doonker62DIP:192.168.1. 62/24 VIP:192.168.1.111/24192.168.1.1主 LVSdoonker63DIP:192.168.1.63/24 VIP:192.168.1.111/24192.168.1.1备 LVSdoonker64192.168.1.64/24192.168.1.1RS1 WEB1doonker65192.168.1.65/24
2021-12-28 14:53:32
407
原创 描述LVS-DR工作原理,并配置实现
LVS实现DR模型(生产常用)ps:此实验在同一台机器模拟,中间经过模拟路由,指向同一个网关,所以彼此互通,主要是测试调度的效果,在生产中,往往在LVS前面加上防火墙,这样DIP和RIP就都是内网地址DR模型中各主机上均需要配置VIP,建议用修改内核参数的方式:arp_ignore:理解为不搭理arp_announce:理解为不响应其中一台作为route,开启端口转发:[root@route ~]#sysctl -pnet.ipv4.ip_forward = 1客户端网关指向route:
2021-12-28 14:19:56
416
原创 简述lvs四种集群特点及使用场景
以下是马哥王老师关于LVS的总结。lvs集群的类型:lvs-nat:修改请求报文的目标IP,多目标IP的DNATlvs-dr:操纵封装新的MAC地址lvs-tun:在原请求IP报文之外新加一个IP首部lvs-fullnat:修改请求报文的源和目标IPlvs-nat模式lvs-nat:本质是多目标IP的DNAT,通过将请求报文中的目标地址和目标端口修改为某挑出的RS的RIP和PORT实现转发(1)RIP和DIP应在同一个IP网络,且应使用私网地址;RS的网关要指向DIP(2)请求报文和响
2021-12-28 14:06:35
176
原创 使用MHA实现Mysql高可用
MHA由两部分组成:manager管理端和node节点MHA manager: 10.10.6.187 监控节点MySQL-01: 10.10.6.188 主节点MySQL-02: 10.10.6.189 从节点MySQL-03: 10.10.6.190 从节点安装包的GitHub下载地址:https://github.com/yoshinorim/mha4mysql-manager/releaseshttps://github.com/yoshinorim/mha4mysql-n
2021-12-21 15:30:02
1182
原创 配置Mysql主从同步
mysql01: 10.10.6.188mysql02: 10.10.6.189主服务器配置文件,指定唯一的server-id,并开启二进制日志,重启mysql$ cat /etc/my.cnf[mysqld]server-id=1log-bin=/data/logbin/mysql-bin授权复制从服务器的地址、用户并指定密码MariaDB [(none)]> grant replication slave on *.* to repluser@'10.10.6.189' iden
2021-12-20 16:34:05
251
原创 总结mysql常见的存储引擎以及特点
InnoDB support for FULLTEXT indexes is available in MySQL 5.6.4 and later.存储引擎比较:https://docs.oracle.com/cd/E17952_01/mysql-5.5-en/storage-engines.htmlMyISAM引擎特点不支持事务表级锁定读写相互阻塞,写入不能读,读时不能写只缓存索引不支持外键约束不支持聚簇索引读取数据较快,占用资源较少不支持MVCC(多版本并发控制机制
2021-12-17 18:30:14
150
原创 数据库授权magedu用户,允许192.168.1.0/24网段可以连接mysql
网段按实际测试查看数据库版本$ mysql --versionmysql Ver 15.1 Distrib 10.2.41-MariaDB, for Linux (x86_64) using readline 5.1服务端登录MySQL建立测试库$ mysqlMariaDB [(none)]> create database magedu;Query OK, 1 row affected (0.00 sec)MariaDB [(none)]> show databases;
2021-12-17 18:17:13
417
原创 编译安装Mariadb,并启动后可以正常登录
查看系统版本$ cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)安装依赖包$ yum install -y bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel l
2021-12-17 16:30:00
120
原创 显示统计占用系统内存最多的进程,并排序
[root@centos6 ~]#ps aux | sort -k4nr | head -1root 3814 0.0 0.4 98468 4528 ? Ss 16:01 0:11 sshd: root@pts/1
2020-09-01 15:36:31
299
原创 创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小 为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录
环境:/dev/sdb盘还有不到8G空间(暂按8G计算),再从/dev/sdc盘中划分出12G,合计20G空间制作物理卷[root@centos7 ~]#echo '- - -' >/sys/class/scsi_host/host2/scan [root@centos7 ~]#lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 10G 0 disk ├─sda1 8:1 0 200M 0 pa
2020-09-01 15:35:09
1481
原创 创建一个2G的文件系统,块大小为2048byte,预留1%可用空间,文件系统 ext4,卷标为TEST,要求此分区开机后自动挂载至/test目录,且默认有acl挂载选项
先装上一块10G的硬盘,扫描一下,此时磁盘上面没有任何信息[root@centos7 ~]#echo '- - -' >/sys/class/scsi_host/host2/scan[root@centos7 ~]#lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 10G 0 disk ├─sda1 8:1 0 200M 0 part /boot├─sda2 8:2 0 4G
2020-09-01 15:33:29
345
原创 编译安装http2.4,实现可以正常访问,并将编译步骤和结果提交
安装包已经下载了,没有下载最新的,因为可能会有一些未知bug(如果没下载,就去官方站点或者阿里云下载,这里就不叙述了)下载一般建议源码编译安装的包放在此目录下,只是建议,尽量规范[root@mini72 ~]#rpm -qi httpdpackage httpd is not installed[root@mini72 ~]#rpm -qa httpd[root@mini72 ~]#cd /usr/local/src/[root@mini72 src]#ls[root@mini72 src]#
2020-09-01 15:31:26
199
原创 自建yum仓库,分别为网络源和本地源
出于安全起见,有些企业内部服务器使用本地局域网而不连接外网,为了安装一些服务,就需要搭建本地的yum仓库;在系统安装盘内,已经自带了大量必要的安装包,可以用做本地yum仓库的源;作为yum仓库服务器的主机配置:先把原来系统相关的配置文件归置存放[root@mini71 ~]#mkdir /etc/yum.repos.d/bak[root@mini71 ~]#mv /etc/yum.repos.d/* /etc/yum.repos.d/bak/然后编辑以光盘路径为yum源的配置文件[root@
2020-09-01 15:29:25
288
原创 处理/etc/fstab路径,使用sed命令取出其目录名和基名
[root@centos6 ~]#echo "/etc/fstab" |sed -r 's#^/(.*)/(.*)#\1#'etc[root@centos6 ~]#echo "/etc/fstab" |sed -r 's#^/(.*)/(.*)#\2#'fstab
2020-09-01 15:25:10
551
原创 删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符
[root@centos6 ~]#cat /etc/fstab |sed -r 's/^#\ ?(.*)/\1/'|sed '/^$/d'/etc/fstabCreated by anaconda on Sat Feb 29 17:24:49 2020Accessible filesystems, by reference, are maintained under '/dev/disk'See man pages fstab(5), findfs(8), mount(8) and/or blkid
2020-09-01 15:24:37
680
原创 利用sed 取出ifconfig命令中本机的IPv4地址
centos6和7通用[root@centos6 ~]#ifconfig |sed -n '2p'|sed -r 's/^[^0-9]+([0-9.]+).*/\1/'192.168.36.61[root@centos7 ~]#ifconfig |sed -n '2p'|sed -r 's/^[^0-9]+([0-9.]+).*/\1/'192.168.36.71或者[root@centos6 ~]#ifconfig |sed -nr '2s/^[^0-9]+([0-9.]+).*/\1/p'
2020-09-01 15:24:09
841
原创 打包/etc/目录下面所有conf结尾的文件,压缩包名称为当天的时间,并拷贝到/usr/local/src目录备份。
[root@centos7 ~]#find /etc/ -name "*.conf" |xargs tar zcvf /usr/local/src/`date +%F`.tar.gz[root@centos7 ~]#ls /usr/local/src/2020-03-25.tar.gz[root@centos7 ~]#tar tvf /usr/local/src/2020-03-25.tar.gz-rw-r--r-- root/root 78 2020-03-25 13:31 etc/
2020-09-01 15:23:35
2371
原创 查找/etc目录下大于1M且类型为普通文件的所有文件
[root@centos7 ~]#find /etc/ -size +1M -type f -ls1090080 7760 -r--r--r-- 1 root root 7942570 Mar 1 01:12 /etc/udev/hwdb.bin298596 3808 -rw------- 1 root root 3896194 Nov 3 2018 /etc/selinux/targeted/active/policy.kern2516210 138
2020-09-01 15:23:04
929
原创 编写生成脚本基本格式的脚本,包括作者,联系方式,版本,时间,描述等
[root@centos6 ~]#cat .vimrcset ignorecaseset cursorlineset autoindentautocmd BufNewFile *.sh exec ":call SetTitle()"func SetTitle() if expand("%:e") == 'sh' call setline(1,"#!/bin/bash") call setline(2,"#") call setline(3,"#*********
2020-08-25 15:11:02
283
原创 编写脚本 createuser.sh,实现如下功能:使用一个用户名做为参数,如果 指定参数的用户存在,就显示其存在,否则添加之;显示添加的用户的id号等信息
[root@centos6 ~]#cat createuser.sh#!/bin/bash#使用一个用户名做为参数,如果指定参数的用户存在,就显示其存在,否则添加之;显示添加的用户的id号等信息#定义变量read -p "请输入一个用户名:" USERNAME#判断用户名是否存在if `id $USERNAME &> /dev/null`;then# 若存在,则显示其存在,输出ID等信息echo "用户存在,用户的ID信息为:`id $USERNAME`"else
2020-08-25 15:10:19
1342
原创 统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序
[root@centos6 ~]#cat ss.log | tr -s " " ":" | egrep '[[:digit:]]' | cut -d ":" -f 6 | sort | uniq -c | sort -nr 44 127.0.0.1 10 113.234.28.244 8 124.64.18.135 6 45.62.217.224 6 210.21.36.228 6 106.38.128.110 5 116.22
2020-08-25 15:09:05
1144
原创 查出用户UID最大值的用户名、UID及shell类型
[root@centos6 ~]#sort -n -k3 -t ':' /etc/passwd |tail -1|cut -d: -f1,3,7slackware:2002:/bin/tcsh
2020-08-25 15:08:25
391
原创 统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来
[root@centos6 ~]#grep -v '/sbin/nologin' /etc/passwd |wc -l6[root@centos6 ~]#grep -v '/sbin/nologin' /etc/passwd |cut -d: -f1rootsyncshutdownhaltmageiaslackware
2020-08-25 15:07:53
572
原创 请总结描述用户和组管理类命令的使用方法并完成以下练习
用户创建:useradduseradd [options] LOGIN-u UID-o 配合-u 选项,不检查UID的唯一性-g GID 指明用户所属基本组,可为组名,也可以GID-c "COMMENT“ 用户的注释信息-d HOME_DIR 以指定的路径(不存在)为家目录-s SHELL 指明用户的默认shell程序,可用列表在/etc/shells文件中-G GROUP1[,GROUP2,…] 为用户指明附加组,组须事先存在-N 不创建私用组做主组,使用users组做主组-r 创建
2020-08-25 15:06:59
154
原创 将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
[root@centos data]#cat /etc/issue\SKernel \r on an \m[root@centos data]#(cat /etc/issue | tr -s [a-z] [A-Z])|tee > /etc/issue.out[root@centos data]#cat /etc/issue.out\SKERNEL \R ON AN \M第二种方法[root@centos6 ~]#cat /etc/issueCentOS release 6.10
2020-08-25 15:02:23
398
原创 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中
[root@centos6 data]#mkdir -p /tmp/mytest1;cp -rv /etc/p*[^[:digit:]] /tmp/mytest1/[root@centos6 ~]#ls /tmp/mytest1/pam.d passwd pkcs11 plymouth popt.d ppp printcap profile.dpango passwd- pki pm postfix prelink.conf.d p
2020-08-25 15:01:44
931
原创 显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录
[root@centos6 ~]#mkdir -p /etc/8A{:[root@centos6 ~]#touch /etc/6a~[root@centos6 ~]#touch /etc/445.tar[root@centos6 ~]#ls /etc/[^[:alpha:]][[:alpha:]]*/etc/6a~/etc/8A{:[a-Z][:alpha:]均可
2020-08-25 15:01:15
534
原创 在vim中设置tab缩进为4个字符
临时生效:用vim打开一个文件,在扩展的命令行模式里,输入:set ts=4;永久生效:写set tabstop=4进/root/.vimrc配置文件里
2020-08-25 14:58:42
226
原创 复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符
[root@centos ~]#cp /etc/profile /tmp/
2020-08-24 16:10:42
451
原创 Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示
ls:列出当前目录的内容或指定目录用法:ls [options] [files_or_dirs]示例ls -a 包含隐藏文件ls -l 显示额外的信息ls -R 目录递归ls -ld 目录和符号链接信息ls -1 文件分行显示ls –S 按从大到小排序ls –t 按mtime排序ls –u 配合-t选项,显示并按atime从新到旧排序ls –U 按目录存放顺序显示ls –X 按文件后缀排序touch格式:touch [OPTION]… FILE…-a 仅改变 atime和cti
2020-08-24 16:09:47
167
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人