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原理介绍
- Linux无论有几个分区,归根结底就只有一个根目录。
- 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设置主机名
指令hostname:查看主机名
修改文件在/etc/hostname指定
修改后,重启生效
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管理指令
service 服务名 [start|stop|restart|reload|status]
在CentOS7.0以后,很多都不在使用service,而是使用systemctl
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基本语法
- 查看服务chkconfig --list[|grep xxx]
- chkconfig 服务名 --list
- 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指令
- 打开端口:firewall-cmd --permanent --add-port=端口号/协议
- 关闭端口:firewall-cmd --permanent --remove-port=端口号/协议
- 重新载入,才能生效:firewall-cmd --reload
- 查询端口是否开放: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环境搭建
- mkdir /opt/jdk
- 上传文件至刚刚创建的目录
- cd /opt/jkd
- tar -zxvf jkd-xx.tar.gz
- mkdir /user/local/java
- mv /opt/jdk/jdk-xx /user/local/java
- vim /etc/profile配置环境变量
- export JAVA_HOME=/user/local/java/jdk-xx
- export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH
- source /etc/profile[让新的环境变量生效]
tomcat安装
上传Tomcat安装文件,解压只/opt/tomcat
进入目录/bin,启动tomcat ./startup.sh
开放端口8080
12.Shell编程
12.1为什么学习Shell
为了更好的对服务器维护,学习Shell是必须的。
12.2Shell是什么
Shell是一个命令行解释器,它为用户提供了以个向Linux内核发送请求以便运行程序的界面程序级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
12.3Shell脚本的执行方式
脚本格式要求
脚本以#!/bin/bash开头
脚本需要有可执行权限
第一个Shell脚本
学习一门语言,基本入门的都是Hello World!下面来看看实现。
#!/bin/bash
echo "Hello World~"
脚本的常用执行方式
方式一(输入脚本的绝对路径与相对路径)
需要授予执行权限才能接着执行脚本。
./hello.sh
方式二
不需授予执行权限,直接执行接口 sh hello.sh
12.4Shell的变量
变量介绍
系统变量和用户自定义变量
显示当前shell中所有的变量:set
Shell变量的定义
基本语法
- 定义变量: 变量名=值
- 撤销变量: unset 变量
- 声明静态变量:readonly变量,注意:不能unset
shell变量的定义
定义变量的规则
变量名称可以有字母、数字和下划线组成,但是不能以数字开头。
等号两侧不能有空格
变量名称一般习惯为大写
将命令的返回值赋值给变量
- A=
date
,运行里面的命令,并把结果返回给变量A - A=$(date)等价于反引号
12.5设置环境变量
基本语法
- export 变量名=变量值
- source 配置文件
- echo $变量名(查询环境变量的值)
- shell脚本的多行注释
:<<!
!
位置参数介绍
携带在操作命令之后的值,比如
./hello.sh 200 100 ->其中200,100就是位置参数
基本语法
位置参数知道怎么用了,那么怎么取值呢
- $n(n为数字, 0 即代表第一个参数值, 10 以上的需要用大括号包含,比如 0即代表第一个参数值,10以上的需要用大括号包含,比如 0即代表第一个参数值,10以上的需要用大括号包含,比如{10})
- $*(命令行中所有的参数,看做整体处理)
- $@(命令行的所有的参数,区分对待)
- $#(表示命令行中所有参数的个数)
12.6预定义变量
事先定义好的变量,可以直接在shell脚本文件中使用。
基本语法
- $$(当前进程PID)
- $!(最后一个进程PID)
- $?(最后一次执行命令的返回状态)
12.7运算符
shell中的各种运算操作
基本语法
- “$((运算式))” 或 $[运算式] 或 expr m + n
- 如果希望将epxr的结果赋给某个变量,使用``
- 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备份与恢复主要有两种方式:
- 把需要的文件或者分区直接用TAR打包,出现损坏时,恢复使用即可。
- 使用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查看。