Linux学习小笔记

发布于:2022-12-08 ⋅ 阅读:(2249) ⋅ 点赞:(2)

Linux学习笔记

1.Linux安装及操作流程

  • 配置安装CentOS7
  • 学会虚拟机快照的使用,避免系统异常造成的不可恢复
  • 虚拟机迁移和删除
  • 安装vmtools实现虚拟机与主机的文件共享
  • 利用Xshell工具远程登录到Linux服务器进行操作
  • 利用Xftp6实现主机与远程机的文件互传

2.Linux目录结构

  • /bin 存放着经常使用的命令
  • /home 存放普通用户的主目录
  • /root 系统管理员,超级权限着的用户主目录
  • /etc 所有的系统管理所需要的配置文件和子目录
  • /user 用户的很多应用程序和文件都放在这个目录下
  • /boot 启动的核心文件
  • /proc 不能动
  • /srv 不能动
  • /sys 不能动
  • /media Linux自动识别一些设备
  • /mnt 挂载文件系统
  • /user/local 给主机额外安装软件的目录,一般为源码
  • /var 存放着不断扩充的东西

3.vim快捷操作

命令 含义
x+yy 拷贝当前行(其中x代表操作行数)
x+dd 删除当前行(其中x代表操作行数)
命令行下/关键字 回车查找,输入n查找下一个
:set nu/:set:nonu 设置行号/取消行号
G 到文档最末行
gg 到文档最首行
u 撤销操作
x+shift+g 将光标移动到x行
:q 退出
:wq 写入并退出
:q! 不保存退出

4.关机及用户管理

4.1 关机&重启命令

命令 描述
shutdown -h now 立刻进行关机
shutdown -h x x分钟后关机
shutdown -r now 重新启动计算机
halt 关机
reboot 重新启动计算机
sync 将内存数据同步到磁盘

4.2 用户登录和注销

命令 描述
su - 用户名 切换成系统管理员身份
logout 注销用户

4.3 用户管理

命令 描述
useradd 用户名 添加用户
useradd -d 指定目录 新的用户名 给新创建的用户指定家目录
passwd 用户名 给用户指定密码
userdel 用户名 删除用户(家目录不会被删除)
userdel -r 用户名 删除用户(包含家目录一起删除)
id 用户名 查询用户信息
su - 用户名 切换用户
whoami(who am i) 查看当前用户
groupadd 组名 新增组
groupdel 组名 删除组
useradd -g 用户组 用户名 新建用户时指定组名
usermod -g 用户组 用户名 修改用户的组
/etc/passwd 用户的各种信息
/etc/shadow 口令的配置文件
/etc/group 包含组的信息

5.实用命令

5.1 指定运行级别

指令 说明
init 0 关机
init 1 单用户(找回丢失密码)
init 2 多用户状态没有网络服务
init 3 多用户状态有网络服务
init 4 系统未使用保留给用户
init 5 图形界面
init 6 重启

5.2 帮助指令

在Linux下,选项可以组合使用

命令 描述
man [命令或配置文件] 获得帮助信息
help 命令 获得shell内置命令的帮助信息

5.3 文件目录类

命令 描述
pwd 显示当前目录的绝对路径
ls [选项] [目录或是文件] 查看当前目录的所有内容信息
cd [参数] 切换到指定目录
mkdir [选项] 要创建的目录(-p 创建多级目录) 创建目录
rmdir [选项] 要删除的目录 删除空目录
rm -rf 要删除的目录 删除目录
touch 文件名 创建空文件
cp [选项] 指定目录(-r 递归复制整个文件夹) 拷贝文件到指定目录
rm [选项] 要删除的文件或目录(-f强制删除) 移除文件或目录
mv 移动文件目录或重命名
cat [-n:显示行号] 要查看的文件 查看文件内容
more 要查看的文件 文本过滤器
less 要查看的文件 按需加载内容
echo [选项] [输出内容] 输出内容到控制台
head [-n:查看文件前n行内容] 文件 默认查看文件前十行内容
tail [-n:查看文件尾5行内容;-f 实时追踪文档更新] 输出文件尾部的内容
> 输出重定向
>> 输出追加
ln -s [原文件或目录] [软链接名] 给源文件创建一个软链接
rm 软链接名 删除软链接
history 查看已经执行过的历史命令
!x 执行历史编号为x的指令

5.4 日期时间类

命令 描述
date 显示当前时间
date +%Y 显示当前年份
date +%m 显示当前月份
date +%d 显示当前是哪一天
date “+%Y-%m-%d %H:%M:%S” 显示年月日时分秒
date -s 字符串时间 设置系统当前时间
cal [选项] 不加选项,默认显示本月日历

5.5 搜索查找类

grep过滤查找;管道符"|",表示将前一个命令的处理结果传递个后面的命令进行处理

命令 选项 描述
find [搜索范围] [选项] -name 按照指定的文件名查找模式查找文件
-user 查找属于指定用户名的所有文件
-size(+n大于 -n小于 n等于) 按照指定的文件大小查找文件
locate 搜索文件 locate指令基于数据库进行查询,第一次运行前,必须使用updatedb指定创建locate数据库 快速定位文件路径
which 查看某个指令在哪个目录下
grep [选项] 查找内容 源文件 -n 显示匹配行及行号
-i 忽略字母大小写

5.6 压缩和解压类

命令 描述
gzip 文件 压缩文件为*.gz文件
gunzip 文件.gz 解压文件命令
zip [选项] *.zip(-r:递归压缩,即压缩文件目录) 压缩文件和目录
unzip [选项] *.zip(-d指定解药后文件的存放目录) 解压缩文件
tar [选项] 打包的内容 最后的打包文件是.tar.gz的文件
-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
-x 解包.tar文件

5.7 组管理和权限管理

命令 描述
ls -ahl/ll 查看文件的所有者
chown 用户名 文件名 修改文件的所有者
groupadd 组名 新建组
chgrp 组名 文件名 修改文件或目录的所咋组
usermod -g 新组名 用户名 修改用户所在组
usermod -d 目录名 用户名 修改用户登录的初始目录

权限基本介绍,0-9位说明

第0位确定文件类型(d,-,l,c,b)

  • l是链接
  • d是目录
  • c是字符设备文件
  • b是块文件

第1-3位确定所有者权限

第4-6位确定所属组权限

第7-9位确定其他用户拥有的权限

权限修改的几种方式

命令 描述
chmod u=rwx,g=rx,o=x 文件/目录名 =变更权限
chmod o+x 文件/目录名 +变更权限
chmod a-x 文件/目录名 -变更权限
r=4, w=2, x=1 权限值说明
chmod 751 以数字变更权限

6.定时任务调度

6.1crond任务调度

crontab 进行 定时任务设置

命令 描述
crontab [选项] -e 编辑crontab定时任务
-l 查询crontab任务
-r 删除当前用户所有的crontab任务
service crond restart 重启任务调度

任务调度参数细节说明

  • 5个占位符说明
项目 含义 范围
第一个* 一小时当中的第几分钟 0-59
第二个* 一天当中的第几小时 0-23
第三个* 一个月当中的第几天 1-31
第四个* 一年当中的第几月 1-12
第五个* 一周当中的星期几 0-7
  • 特殊符号说明
特殊符号 含义
* 代表任何时间
, 代表不连续的时间
- 代表连续的时间范围
*/n 代表隔多久执行一次

6.2 at定时任务

ps -ef|grep atd //坚持atd是否在运行

at命令格式

at [选项] [时间]

CTRL+D 结束at命令的输入,输出两次

at命令选项

选项 含义
-m 指定用户完成后,给用户发邮件
-I atq的别名
-d atrm的别名

atq命令查看系统中没有执行的工作任务

atrm删除对应编号的job

7.Linux磁盘分区、挂载

7.1 Linux分区

7.1.1原理介绍

  1. Linux无论有几个分区,归根结底就只有一个根目录。
  2. Linux采用了一种叫载入的处理方法。

7.1.2查看说有设备挂载情况

**命令:**lsblk或者lsblk -f

7.1.2虚拟接增加硬盘操作步骤

**分区命令:**fdisk /dev/sdb

开始对/sdb分区

参数 描述
m 显示命令列表
p 显示磁盘分区同fdisk -l
n 新增分区
d 删除分区
w 写入并退出

格式化磁盘:

分区命令:mkfs -t ext4 /dev/sdb1

其中ext4是分区类型

挂载:将一个分区与一个目录联系起来,

mount 设备名称 挂载目录

例如:mount /dev/sdb1 /newdisk

umount 设备名称 或者 挂载目录

例如:umount /dev/sdb1或者umount /new disk

注意:用命令行挂载,重启后会失效

永久挂载:通过修改/etc/fstab实现挂载

添加完成后,执行 mount -a立即失效

7.2磁盘情况查询

7.2.1查询系统整体磁盘使用情况

基本语法:

df -h

7.2.2查询指定目录的磁盘占用情况

基本语法:

du -h

查询指定目录的磁盘占用情况,默认为当前目录

-s 指定目录占用大小汇总

-h带计量单位

-a含文件

–max-depth=1 子目录深度

-c列出明细的同时,增加汇总值

7.3工作实用指令

1.统计/opt文件夹下文件的个数

​ ls -l /opt | grep “^-”|wc -l

2.统计/opt文件夹下目录的个数

​ ls -l /opt | grep “^d” | wc -l

3.统计/opt文件夹下文件的个数,包括子文件夹里面的

ls -lR /opt|grep “^-”|wc -l

4.统计/opt文件夹下目录的个数,包括子文件夹里面的

ls -lR /opt|grep “^d”|wc -l

5.以树状显示目录结构

tree 文件目录

8. 网络配置

8.1指定IP

说明:直接修改配置文件来指定IP,并可以直接连接到外网

编辑:vi /etc/sysconfig/network-scripts/ifcfg-ens33

ifcfs-ens33文件说明

DEVICE=eth0	#接口名(设备、网卡)
HWADDR=00:0C:2x:6x:0x:xx	#MAC地址
TYPE=Ethernet	#网络类型
UUID=926a57ba-92c6-92cc...	#随机id
ONBOOT=yes

BOOTPROTO=static
#IP地址
IPADDR=192.168.233.130
#网关
GETEWAY=192.168.200.2
#域名解析器
DNS1=192.168.233.2


重启网络服务或重启系统生效

service network restart、reboot

8.2设置主机名

  1. 指令hostname:查看主机名

  2. 修改文件在/etc/hostname指定

  3. 修改后,重启生效

9.进程管理

9.1显示系统执行的进程

基本命令: ps

字段 说明
PID 进程识别号
TTY 终端机号
TIME 此进程所消耗CPU时间
CMD 正在执行
命令 描述
ps -a 显示当前终端的所有进行信息
pa -u 以用户的格式显示进程信息
pa -x 显示后台进程运行的参数

9.2ps详解

指令:ps -aux|grep xxx,比如查看有没有sshd服务

指令说明:

  • System V 展示风格

  • User:用户名

  • PID:进程号

  • %CPU:进程占用CPU的百分比

  • %MEM进程占用物理内存的百分比

  • VSZ:进程占用的虚拟内存大小(单位:KB)

  • RSS:进程占用的物理内存大小(单位:KB)

  • TT:终端名称,缩写

  • STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等。

  • STARTED:进程的启动时间

  • TIME:CPU时间,即进程使用CPU的总时间

  • COMMAND:启动进程所有的命令和参数,如果过长会截断显示。

9.3应用实例

ps -ef 是以全格式显示当前所有的进程

-e 显示所有进程。-f 全格式

ps -ef|grep sshd

  • STIM:进程启动时间

  • TTY:完整的终端名称

  • TIME:CPU时间

  • CMD:启动进程所用的命令和参数

9.4终止进程

基本语法:

kill [选项] 进程号(通过进程号杀死进程)

killall 进程名称 (通过进程名称杀死进程)

常用选项:

-9:表示强迫进程立即停止

9.5查看进程树

基本语法:

pstree [选项],可以更加直观的来看进程信息

常用选项:

-p: 显示进程PID

-u: 显示进程的所属用户

9.6服务管理

service管理指令

  1. service 服务名 [start|stop|restart|reload|status]

  2. 在CentOS7.0以后,很多都不在使用service,而是使用systemctl

  3. service指令管理的服务在/etc/init.d查看

查看服务名

方式一:使用setup->系统服务就可以查看到全部服务了。

方式二:/etc/init.d看到service指令管理的服务

ls -l /etc/init.d

服务的运行级别

0:停机状态

3:多用户有网络状态

5:GUI界面

6:重启

运行级别配置

在/etc/inittab

# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target
#

chkconfig指令

通过chkconfig指定管理的服务在/etc/init.d查看

chkconfig基本语法

  1. 查看服务chkconfig --list[|grep xxx]
  2. chkconfig 服务名 --list
  3. chkconfig --level 5 服务名 on/off

systemclt管理指令

基本语法:systemctl [start|stop|restart|status] 服务名

systemctl指令的服务在/user/lib/systemd/system

systemctl设置服务自启动状态

systemctl list-unit-files [|grep 服务名](查看开机启动状态)

systemctl enable 服务名(设置服务开机启动)

systemctl disable 服务名(关闭服务开机启动)

systemctl is-enabled 服务名(查询某个服务是否是自启动的)

systemctl stop 服务名 关闭某个服务

systemctl status 服务名 查看某个服务的状态

systemclt start 服务名 开启某个服务

firewall指令

  1. 打开端口:firewall-cmd --permanent --add-port=端口号/协议
  2. 关闭端口:firewall-cmd --permanent --remove-port=端口号/协议
  3. 重新载入,才能生效:firewall-cmd --reload
  4. 查询端口是否开放:firewall-cmd --query-port=端口/协议

动态监控进程

top与ps命令相似。它们都用来显示正在执行的进程。不过,top在一段时间可以更新正在运行的进程。

基本语法

top [选项]

选项说明

选项 功能
-d 秒数 指定top命令每隔几秒更新。默认是3秒
-i 使top不显示任何闲置或者僵死进程
-p 通过指定监控进程ID来仅仅监控某个进程的状态。

交互操作说明

操作 功能
P 以CPU使用率排序,默认就是此项
M 以内存的使用率排序
N 以PID排序
q 退出top

应用实例

top->u:输入用户名

top->k:输入要结束的进程ID号

top -d 10 指定更新的时间(默认是3秒)

监控网络状态

查看系统网络情况

基本语法:

netstat [选项]

选项说明:

选项 说明
-an 按一定顺序排列输出
-p 显示那个进程在调用

检测主机连接命令ping

ping ip地址

10.RPM与YUM

10.1rpm包的管理

介绍

rpm用于互联网下载包的打包及安装工具。RPM是RedHat Package Manage(RedHat软件包管理)的缩写,类似于windows的setup.exe。

rpm包的简单查询指令

查看已安装的rpm列表 rpm -qa|grep xx

rpm 包名基本格式

包名:

名称:

版本号:

适用操作系统:noarch表示通用

rpm其他查询指令

rpm -q 软件包名:查询软件包是否安装

rpm -qi 软件包名:查询软件包信息

rpm -ql 软件包名:查询软件包中的文件

rpm -qf 文件全路径名 查询文件所属的软件包

卸载rpm包

基本语法:

rpm -e(erase) RPM包的名称

应用案例

删除firefox 软件包

rpm -e firefox

如果删除的该软件包有其他依赖,可以增加参数–nodeps进行强制删除。

安装rpm包

基本语法

rpm -ivh RPM全路径名称

参数说明

i=install

v=verbose 提示

h=hash 进度条

10.2yum

介绍

yum是一个Shell前端软件包管理器,基于RPM包管理。(类似于Ubuntu里面的apt包管理工具)

yum的基本指令

查询域名服务器是否有需要安装的软件

yum list|grep xx软件列表

安装指定的yum包

yum install xx 下载并安装

11.搭建各个环境

jdk环境搭建

  1. mkdir /opt/jdk
  2. 上传文件至刚刚创建的目录
  3. cd /opt/jkd
  4. tar -zxvf jkd-xx.tar.gz
  5. mkdir /user/local/java
  6. mv /opt/jdk/jdk-xx /user/local/java
  7. vim /etc/profile配置环境变量
  8. export JAVA_HOME=/user/local/java/jdk-xx
  9. export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH
  10. source /etc/profile[让新的环境变量生效]

tomcat安装

  1. 上传Tomcat安装文件,解压只/opt/tomcat

  2. 进入目录/bin,启动tomcat ./startup.sh

  3. 开放端口8080

12.Shell编程

12.1为什么学习Shell

为了更好的对服务器维护,学习Shell是必须的。

12.2Shell是什么

Shell是一个命令行解释器,它为用户提供了以个向Linux内核发送请求以便运行程序的界面程序级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。

12.3Shell脚本的执行方式

脚本格式要求

  1. 脚本以#!/bin/bash开头

  2. 脚本需要有可执行权限

第一个Shell脚本

学习一门语言,基本入门的都是Hello World!下面来看看实现。

#!/bin/bash
echo "Hello World~"

脚本的常用执行方式

方式一(输入脚本的绝对路径与相对路径)

需要授予执行权限才能接着执行脚本。

./hello.sh

方式二

不需授予执行权限,直接执行接口 sh hello.sh

12.4Shell的变量

变量介绍

  1. 系统变量和用户自定义变量

  2. 显示当前shell中所有的变量:set

Shell变量的定义

基本语法

  1. 定义变量: 变量名=值
  2. 撤销变量: unset 变量
  3. 声明静态变量:readonly变量,注意:不能unset

shell变量的定义

定义变量的规则

  1. 变量名称可以有字母、数字和下划线组成,但是不能以数字开头。

  2. 等号两侧不能有空格

  3. 变量名称一般习惯为大写

将命令的返回值赋值给变量

  1. A=date,运行里面的命令,并把结果返回给变量A
  2. A=$(date)等价于反引号

12.5设置环境变量

基本语法

  1. export 变量名=变量值
  2. source 配置文件
  3. echo $变量名(查询环境变量的值)
  4. shell脚本的多行注释
:<<!

!

位置参数介绍

携带在操作命令之后的值,比如

./hello.sh 200 100 ->其中200,100就是位置参数

基本语法

位置参数知道怎么用了,那么怎么取值呢

  • $n(n为数字, 0 即代表第一个参数值, 10 以上的需要用大括号包含,比如 0即代表第一个参数值,10以上的需要用大括号包含,比如 0即代表第一个参数值,10以上的需要用大括号包含,比如{10})
  • $*(命令行中所有的参数,看做整体处理)
  • $@(命令行的所有的参数,区分对待)
  • $#(表示命令行中所有参数的个数)

12.6预定义变量

事先定义好的变量,可以直接在shell脚本文件中使用。

基本语法

  1. $$(当前进程PID)
  2. $!(最后一个进程PID)
  3. $?(最后一次执行命令的返回状态)

12.7运算符

shell中的各种运算操作

基本语法

  1. “$((运算式))” 或 $[运算式] 或 expr m + n
  2. 如果希望将epxr的结果赋给某个变量,使用``
  3. expr *,/,%

12.8条件判断

判断语句

基本语法

[ condition ]	(condition前后要有空格,别问为什么,它就是这么规定的)
#非空返回true

判断语句

1.=字符串比较

2.两个整数的比较

-lt小于

-le小于等于

-eq等于

ge大于等于

gt大于

ne不等于

3.按照文件权限进行判断

​ -r 有读的权限

​ -w 有写的权限

​ -x 有执行的权限

4.按照文件类型进行判断

​ -f 文件存在并且是一个常规的文件

​ -e 文件存在

​ -d 文件存在并不是一个目录

12.9流程控制

if判断

基本语法:

if[ 条件判断式 ]
then
代码
fi
或
if[ 条件判断式 ]
then
代码
elif[ 条件判断式 ]
then
代码
fi

case语句

基本语法:

case $变量名 in
"值1")
代码1
;;
"值2")
代码2
;;
...
*)
其他情况代码
;;
esac

for循环

基本语法1:

for 变量 in 值1 值2 值3
do
代码/程序
done

基本语法2

for(( 初始值;循环控制条件;变量变化 ))
do
代码/程序
done

while循环

基本语法:

while[ 条件判断式 ]
do
程序/代码
done

12.10read控制台输入

基本语法:

read(选项)(参数)
选项:
-p:指定读取值时的提示符
-t:指定读取时等待的时间(s),如果超时,则停止等待
参数
变量:指定读取值的变量名

12.11系统函数

与其他函数类似,可能语法上有稍微差别。

系统函数

basename 基本语法

功能:返回完整路径最后/的部份

Usage: basename NAME [SUFFIX]
  or:  basename OPTION... NAME...
Print NAME with any leading directory components removed.
If specified, also remove a trailing SUFFIX.

Mandatory arguments to long options are mandatory for short options too.
  -a, --multiple       support multiple arguments and treat each as a NAME
  -s, --suffix=SUFFIX  remove a trailing SUFFIX
  -z, --zero           separate output with NUL rather than newline
      --help		显示此帮助信息并退出
      --version		显示版本信息并退出

Examples:
  basename /usr/bin/sort          -> "sort"
  basename include/stdio.h .h     -> "stdio"
  basename -s .h include/stdio.h  -> "stdio"
  basename -a any/str1 any/str2   -> "str1" followed by "str2"

dirname基本语法

功能:返回完整路径最后/的前面部分

用法:dirname [选项] 名称...
Output each NAME with its last non-slash component and trailing slashes
removed; if NAME contains no /'s, output '.' (meaning the current directory).

  -z, --zero     separate output with NUL rather than newline
      --help		显示此帮助信息并退出
      --version		显示版本信息并退出

Examples:
  dirname /usr/bin/          -> "/usr"
  dirname dir1/str dir2/str  -> "dir1" followed by "dir2"
  dirname stdio.h            -> "."

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>

自定义函数

[ function ] funname[()]

{

​ Action;

​ [return int;]

}

13.日志管理

日志是用来记录重大事件的工具。

13.1系统常用的日志

/var/log/目录就是系统日志文件的保存位置

系统常用的日志

日志文件 说明
/var/log/boot.log 系统启动日志
/var/log/cron 记录与系统定时任务相关的日志
/var/log/cups 记录打印信息的日志
/var/log/dmesg 记录开机内核自检
/var/log/btmp 记录错误登录的日志
/var/log/lasllog 记录系统中所有用户最后一次的登录时间日志
/var/log/mailog 记录邮件信息的日志
/var/log/message 记录系统重要消息的日志
/var/log/secure 记录验证和授权方面的信息
/var/log/wtmp 永久记录用户的登录、注销信息
/var/tun/ulmp 记录当前已经登录的用户信息

13.2 日志管理服务rsyslogd

rsyslogd的使用、日志文件的格式,和syslogd(CentOS6.x使用的日志服务)服务兼容的。

查询Linux中的rsyslogd服务是否启动

ps aux|grep “rsyslog”|grep -v “grep”

查询rsyslogd服务的自启动状态

systemctl list-unit-files|grep rsyslog

配置文件

/etc/rsyslog.conf

13.3日志轮替

/etc/logrotate配置文件中配置"dateext"参数则会一日起作为日志文件的后缀

logrotate配置文件

参数说明

参数 参数说明
daily 日志的轮替周期是每天
weekly 日志的轮替周期是每周
monthly 日志的轮替周期是每月
rotate 数字 保留的日志文件的个数,0指没有备份
compress 日志轮替时,旧的日志进行压缩
create mode owner group 建立新日志,同时指定新日志的权限与所有者和所属组
mail address 当日志轮替时,输出内容通过邮件发送到指定邮件地址
missingok 如果日志不存在,则忽略该日志的警告信息
notifempty 如果日志为空,则不进行日志轮替
minsize 日志轮替大小的最小值
size大小 大于指定大小才进行日志轮替
dateext 日志轮替文件的后缀
sharedscripts 在关键字之后的脚本只执行一次
prerotate/endscript 在日志轮替之前执行脚本命令
prstrotate/endscript 在日志轮替之后执行脚本命令

新增日志至日志轮替

  • 直接在/etc/logrotate.conf配置文件中写入日志的轮替策略
  • 在/etc/logrotate.d/目录中新建轮替文件,用"include"加入到主配置文件中(推荐)

13.4查看内存日志

journalctl 查看内存日志
journalctl 查看全部
journalctl -n 3 查看最新3条
journalctl --since 19:00 --until 19:10:10 查看起始时间到结束时间的日志可加日期
journalctl - p err 报错日志
journalctl -o verbose 日志详细内容
journalctl _PID=1245 _COMM=sshd 包含带入参数的日志
journalctl|grep sshd

14.备份与恢复

14.1基本介绍

linux备份与恢复主要有两种方式:

  1. 把需要的文件或者分区直接用TAR打包,出现损坏时,恢复使用即可。
  2. 使用dump和restore命令

14.2安装dump和restore

yum -y install dump

yum -y install restore

14.3使用dump备份

dump支持分卷和增量备份(增量备份也称为差异备份)

语法说明

dump [-cu] [-123456789] [-f<备份后文件名>] [-T<日期>] [目录文件系统]

dump []-wW

参数 说明
-c 创建新的归档文件
-0123456789 备份的层级(0为最完整备份)
-f<备份后文件名>: 指定备份后文件名
-j 调用bzlib库压缩备份文件
-T<日期> 指定开始备份的时间与日期
-u 备份完毕后,记录信息
-t 指定文件名
-W 显示需要备份的文件及最后一次备份的层级
-w 显示需要备份的文件

14.4使用restore完成恢复

基本介绍

restore命令用来恢复已经备份的文件,可以从dump生成的备份文件中恢复原文件。

基本语法

restore [模式选项] [选项]

模式选项 说明
-C 使用对比模式
-i 使用交互模式
-r 进行还原模式
-t 查看模式
选项 说明
-f<备份设备> 从指定的文件中读取备份数据,进行还原操作

15.webmin和bt运维工具

Webmin是功能强大的基于Web的Unix/inux系统管理工具。管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理操作。

利用yum安装配置webmin并使防火墙开发端口。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uOns43Uf-1664089329306)(E:\course\Linux\webmin.png)]

bt(宝塔)Linux面板是提升效率运维的服务器管理软件。

使用yum配置安装,密码忘记可以使用bt default查看。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kMmU2M5Y-1664089329321)(C:\Users\WEI\AppData\Roaming\Typora\typora-user-images\image-20220924222024744.png)]
|
| :---------------: | :------------------------------------: |
| -c | 创建新的归档文件 |
| -0123456789 | 备份的层级(0为最完整备份) |
| -f<备份后文件名>: | 指定备份后文件名 |
| -j | 调用bzlib库压缩备份文件 |
| -T<日期> | 指定开始备份的时间与日期 |
| -u | 备份完毕后,记录信息 |
| -t | 指定文件名 |
| -W | 显示需要备份的文件及最后一次备份的层级 |
| -w | 显示需要备份的文件 |

14.4使用restore完成恢复

基本介绍

restore命令用来恢复已经备份的文件,可以从dump生成的备份文件中恢复原文件。

基本语法

restore [模式选项] [选项]

模式选项 说明
-C 使用对比模式
-i 使用交互模式
-r 进行还原模式
-t 查看模式
选项 说明
-f<备份设备> 从指定的文件中读取备份数据,进行还原操作

15.webmin和bt运维工具

Webmin是功能强大的基于Web的Unix/inux系统管理工具。管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理操作。

利用yum安装配置webmin并使防火墙开发端口。

在这里插入图片描述

bt(宝塔)Linux面板是提升效率运维的服务器管理软件。

使用yum配置安装,密码忘记可以使用bt default查看。

在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到