小实验-01-全网备份
需求客户端
客户端提前准备存放的备份的目录,目录规则如下:/backup/nfs_172.16.1.31_2020-05-02
客户端在本地打包备份(系统配置文件、应用配置等)拷贝至/backup/nfs_172.16.1.31_2020-05-02
客户端最后将备份的数据进行推送至备份服务器
客户端每天凌晨1点定时执行该脚本
客户端本地保留最近7天的数据, 避免浪费磁盘空间
服务端
服务端部署rsync,用于接收客户端推送过来的备份数据
服务端需要每天校验客户端推送过来的数据是否完整
服务端需要每天校验的结果通知给管理员
服务端仅保留6个月的备份数据,其余的全部删除
环境准备关于客户端和服务端的环境准备参看此篇博客
实现客户端
编写脚本
[root@nfs01 ~]# vim push_client_data.sh
123456789101112131415161718192021#!/bin/bash#1.定义变量SRC=/backupHOST=$(hostname)ADDR=$(ifconfig eth1|awk 'NR==2 {print $2} ...
Linux基础-13-CentOS7启动流程+Systemd管理
内核内核设计流派
单内核设计:把所有的功能集成与同一个程序;比如Linux
微内核设计:每种功能使用一个单独的子系统实现;比如Windows,Solaris
Linux内核特点
支持模块化:.ko(ketnel object)
支持模块化运行时动态装载或卸载;
组成部分:
核心文件:/boot/vmlinuz-VERSION-release
ramdisk:启动时划出内存中的某一空间当磁盘用,不是必须的
CentOS 5:/boot/vmlinuz-VERSION-release.img
CentOS 6,7,8:/boot/initramfs-VERSION-release.img
模块文件:/lib/modules/VERSION-release
CentOS7启动流程1.POST加电自检
检测硬件设备是否能够正常运行(主板上ROM芯片上的BIOS程序实现)
BIOS程序能够检测CPU/Memory/硬盘/IO设备是否能够正常运行
如果是个人PC机,还会检测显示器
只要通电,CPU就会自动去加载ROM芯片上的BIOS程序,实现硬件设备初始化
2.Boot Sequen ...
Linux基础-12-网络协议+管理
网络
资源共享的功能和优点
数据和应用程序
资源
网络存储
备份设备
常见的网络物理组件
网络应用程序
Web 浏览器(Chrome、IE、Firefox等)
即时消息(QQ、微信、钉钉等)
电子邮件(Outlook、foxmail 等)
协作(视频会议、VNC、Netmeeting、WebEx 等)
web网络服务(apache,nginx,IIS)
文件网络服务(ftp ,nfs,samba)
数据库服务( MySQL,MariaDB,MongoDB)
中间件服务(Tomcat,JBoss)
安全服务(Netfilter)
用户应用程序对网络的影响
批处理应用程序
FTP、TFTP、库存更新
无需直接人工交互
带宽很重要,但并非关键性因素
交互式应用程序
库存查询、数据库更新
人机交互
因为用户需等待响应,所以响应时间很重要, 但并非关键性因素,除非要等待很长时间
实时应用程序
VoIP、视频
人与人的交互
端到端的延时至关重要
网络特征
速度
成本
安全性
可用性
可扩展性
可靠性
拓扑
带宽
物理拓扑总线拓扑
所有设备均可接收信号
星型 ...
Linux基础-11-磁盘存储+文件系统
磁盘结构
并行:
IDE:133MB/s
SCSI:640MB/s
串口:
SATA:6Gbps
SAS:6Gbps
USB:480MB/s
机械硬盘和固态硬盘
机械硬盘(HDD):Hard Disk Drive,即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。机械硬盘 中所有的盘片都装在一个旋转轴上,每张盘片之间是平行的,在每个盘片的存储面上有 一个磁头,磁头与盘片之间的距离比头发丝的直径还小,所有的磁头联在一个磁头控制 器上,由磁头控制器负责各个磁头的运动。磁头可沿盘片的半径方向运动,加上盘片每 分钟几千转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写操作。数 据通过磁头由电磁流来改变极性方式被电磁流写到磁盘上,也可以通过相反方式读取。 硬盘为精密设备,进入硬盘的空气必须过滤
固态硬盘(SSD):Solid State Drive,用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、 功能及使用方法上与普通硬 ...
Linux基础-10-包管理工具
包和包管理器
最初只提供了.tar.gz的打包的源码文件,用户必须自己编译每个想在GNU/Linux上运行的软件。用户急需系统能提供一种更加便利的方法来管理这些软件,当Debian诞生时,这样一个管理工具也就应运而生,它被命名为dpkg。从而著名的“package”概念第一次出现在GNU/Linux系统中,稍后Red Hat才开发自己的“rpm”包管理系统
包的组成:
二进制文件、库文件、配置文件、帮助文件
程序包管理器:
debian: deb文件, dpkg包管理器
redhat: rpm文件, rpm包管理器
包命名和工具
源代码:name-VERSION.tar.gz|bz2|xz
VERSION: major.minor.release
rpm包命名方式:name-VERSION-release.arch.rpm例:bash-4.2.46-19.el7.x86_64.rpmVERSION: major.minor.releaserelease:release.OS常见的arch:x86: i386, i486, i586, i686x86_64: x64, x86 ...
Linux基础-09-进程+计划任务
进程
内核功用:进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能等
Process: 运行中的程序的一个副本,是被载入内存的一个指令集合
进程ID(Process ID,PID)号码被用来标记各个进程
UID、GID、和SELinux语境决定对文件系统的存取和访问权限
通常从执行进程的用户来继承
存在生命周期
task struct:Linux内核存储进程信息的数据结构格式
task list:多个任务的的task struct组成的链表
进程创建:
init:第一个进程
进程:除了init进程,其他进程都由其父进程创建,fork()自身而来,父子关系
CoW,写时复制,即如果子进程需要修改数据,会把父进程的数据复制一份出来再修改
进程,线程和协程
1、进程
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。每个进程都有自己的独立内存空间,不同进程通过进程间通信来通信。由于进程比较重量,占据独立的内存,所以上下文进程间的切换开销(栈、寄存器、虚拟内存、文件句柄等)比较大,但相对比较稳定安全。
2、线程
线程是 ...
Linux基础-08-文本三剑客
文本三剑客
grep:文本过滤(模式:pattern)工具grep, egrep, fgrep(不支持正则表达式搜索)
sed:stream editor,文本编辑工具
awk:Linux上的实现gawk,文本报告生成器
grep介绍
grep: Global search REgular expression and Print out the line
作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查;打印匹配到的行
模式:由正则表达式字符及文本字符所编写的过滤条件
grep [OPTIONS] PATTERN [FILE…]
grep root /etc/passwd
grep "$USER" /etc/passwd grep '$USER' /etc/passwd
grep $(whoami) /etc/passwd
选项
–color=auto: 对匹配到的文本着色显示
-m # 匹配#次后停止
-v 显示不被pattern匹配到的行
-i 忽略字符大小写
-n 显示匹配的行号
-c 统计匹配 ...
Linux基础-07-文本处理+正则表达式
抽取文本的工具
文件内容: cat ,more,less
文件截取:head,tail
按列抽取:cut
排序和统计:sort,wc
文本查看文本文件内容
文件查看命令:cat,nl,tac,rev
cat [OPTION]… [FILE]…
-E:显示行结束符$
-n:对显示出的每一行进行编号
-A:显示所有控制
-b:非空行编号
-s:压缩连续的空行成一行
nl
tac
rev
非文本文件内容
hexdump
123456hexdump -C -n 512 /dev/sda00000000 eb 63 90 10 8e d0 bc 00 b0 b8 00 00 8e d8 8e c0 |.c..............|echo {a..z} | tr -d ' '|hexdump -C00000000 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 |abcdefghijklmnop|00000010 71 72 73 74 75 76 77 78 79 7a 0a |qrstuvwx ...
Linux基础-06-vim
vim简介
vi: Visual editor,文本编辑器
文本:ASCII, Unicode
文本编辑种类:
行编辑器:sed
全屏编辑器:nano, vi,vim
vim
VIsual editor iMproved
官网:www.vim.org
其他编辑器:
gedit 一个简单的图形编辑器
gvim 一个Vim编辑器的图形版本
打开文件
vim [OPTION]… FILE…
+# 打开文件后,让光标处于第#行的行首,+默认行尾
+/PATTERN 让光标处于第一个被PATTERN匹配到的行的行首
–b file 二进制方式打开文件
–d file1 file2… 比较多个文件
-m file 只读打开文件
vim -e file 或 ex file 直接进入ex模式
如果该文件存在,文件被打开并显示内容
如果该文件不存在,当编辑后第一次存盘时创建它
vim模式
击键行为是依赖于 vim的 的“模式”
三种主要模式:
命令(Normal)模式:默认模式,移动光标,剪切/粘贴文本
插入(Insert)或编辑模式:修改文本
扩展命令(exte ...
Linux基础-05-文件管理
Linux文件系统介绍文件系统Window:C:\Users\xxx\xxx\xxxLinux: /etc/sysconfig/network-scripts/
文件=Metadata+Data
Metadata:元数据,描述文件属性等信息
Data:数据,文件本身的信息
文件名称命名规则
严格区分大小写
可以使用除/以外的任意字符,避免使用一些特殊字符(* . ?)
不超过255字符
以.开头的文件为隐藏文件
文件路径绝对路径:从/位置开始(从根位置开始)
相对路径:从.开始(从当前位置开始)
文件类型
普通文件 [-]
目录文件 [d]
块设备文件 [b]
字符设备文件 [c]
套接字文件 [s]
管道文件 [p]
链接文件 [l]
如何去查看文件类型
ls -l -a命令(ll)
file命令
stat命令
目录结构
注意:介绍/下的第1级目录
bin:Binary缩写,存放着经常使用的命令
boot:启动Linux需要的部分核心文件
dev:Device缩写,Linux外部设备(磁盘等)
etc:系统管理所需要的配置文件和子目录
home:用户的家目录
...