0
点赞
收藏
分享

微信扫一扫

待整理的 linux 知识

备份与恢复 —— dump 和 restore 命令

dump 命令

dump[选项] 备份之后的文件名 源文件或目录

选项

说明

-level

0-9 十个备份级别,文件和目录只支持 0 级别

-f 文件名

指定备份之后的文件名

-u

备份成功之后,把备份文件记录在 /etc/dumpdates 文件

-v

显示备份中更多的输出信息

-j

调用bzlib库压缩备份文件,将备份文件压缩为 .bz2 格式

-W

显示允许被 dump 的分区的备份等级及备份时间

restore 命令

restore[模式选项][选项]

模式选项(不能混用)

说明

-C

比较备份数据和实际数据的变化

-i

进入交互模式,手工选择需要恢复的文件

-t

查看模式,用于查看备份文件中拥有哪些数据

-r

还原模式,用于数据还原

选项

说明

-f 文件名

指定备份文件的文件名

备份与恢复 —— 备份概述

Linux 系统需要备份的数据

  • /root/ 目录
  • /home/目录
  • /var/spool/mail/目录
  • /etc/目录
  • 其他目录

安装服务的数据

待整理的 linux 知识_配置文件

备份策略

  • 完全备份:耗费系统资源。
  • 增量备份:只备份新增数据。
  • 差异备份:每次备份都和完全备份数据相比,是上面两种策略的折中。

启动管理 —— 启动引导程序 grub

Grub 配置文件

grub 中分区表示

待整理的 linux 知识_数据_02

grub 配置文件

vi /boot/grub.grub.conf

待整理的 linux 知识_源码包_03
待整理的 linux 知识_配置文件_04

启动管理 —— CentOS 6.x 启动管理

系统运行级别

选项

说明

0

关机

1

单用户模式,与windows安全模式类似,主要用于系统修复

2

不完全的命令行模式,不含 NFS 服务

3

完全的命令行模式,标准字符界面

4

系统保留

5

图形模式

6

重启动

运行级别命令

runlevel 
# 查看运行级别命令
init 运行级别
# 改变运行级别命令

系统默认运行级别

vim /etc/inittab
id:3:initdefault:

系统启动过程

待整理的 linux 知识_源码包_05

待整理的 linux 知识_配置文件_06
待整理的 linux 知识_数据_07
待整理的 linux 知识_配置文件_08
待整理的 linux 知识_数据_09

日志管理 —— 日志轮替

日志按天记录 + 仅保留最近一段时间的日志。

日志文件命名规则

  1. 在配置文件中加入 dateext 参数,实现日期作为文件后缀。
    “secure-20130605”
  2. 如果配置文件中没有 dataext 参数,就会使用 数字后缀。

logrotate 配置文件

/etc/logrotate.conf

待整理的 linux 知识_配置文件_10
待整理的 linux 知识_数据_11

源码包的程序需要手工配置日志。

待整理的 linux 知识_源码包_12

logrotate 命令

logrotate [选项] 配置文件名

选项

说明

-v

显示日志轮替过程

-f

强制进行日志轮替,不管日志轮替条件是否已经符合。

日志管理 —— rsyslogd 日志服务

日志文件格式

基本日志格式包含以下四列:

  • 事件产生的时间
  • 发生事件的服务器的主机名
  • 产生事件的服务名或程序名
  • 事件的具体信息

/etc/rsyslog.conf 配置文件

#服务名称[连接符号]日志等级     日志记录位置

服务名称

待整理的 linux 知识_配置文件_13
待整理的 linux 知识_数据_14

连接符号

待整理的 linux 知识_数据_15
日志等级
待整理的 linux 知识_数据_16

日志记录位置

  • 日志文件的绝对路径。“/var/log/secure”
  • 系统设备文件。“/dev/lp0”
  • 转发给远程主机。“@192.168.0.210:514”
  • 用户名。“root”
  • 忽略或丢弃日志。“~”

日志管理 —— 日志管理简介

日志服务

在 CentOS6.x 中日志服务已经由 rsyslogd 取代了原先的 syslogd 服务。rsyslogd 日志服务更加先进,功能更多。但是不论该服务的使用,还是日志文件的格式其实都是和 syslogd 服务相兼容的,所以学习起来基本和 syslogd 服务一致

rsyslogd 的新特点

  • 基于 TCP 网络协议传输日志信息。
  • 更安全的网络传输方式。
  • 有日志消息的及时分析框架。
  • 后台数据库。
  • 配置文件中可以写简单的逻辑判断。
  • 与 syslog 配置文件相兼容。

确定服务启动

ps aux | grep rsyslogd
# 查看服务自启动
chkconfig --list | grep rsyslog
# 查看服务是否自启动

常见日志的作用

待整理的 linux 知识_数据_17
待整理的 linux 知识_数据_18

RPM 包和源码包的日志文件

除了系统默认的日志之外,采用 RPM 方式安装的系统服务也会默认把日志记录在 /var/log/ 目录中(源码包安装的服务日志是在源码包指定目录中),不过这些日志不是由 rsyslogd 服务来记录和管理的,而是各个服务使用自己的日志管理文档来记录自身日志。

待整理的 linux 知识_配置文件_19

Linux 系统管理 —— 系统资源查看

vmstat 命令监控系统资源

vmstat [刷新延时 刷新次数]

dmesg 开机时内核检测信息

dmesg
dmesg | CPU

free 命令查看内存使用状态

free [选项]

选项

说明

-b

以字节为单位显示

-k

以KB为单位显示

-m

以MB为单位显示

-g

以GB为单位显示

缓存和缓冲的区别

简单来说缓存(cache)是用来加速数据从硬盘中“读取”的,而缓冲(buffer)是用来加速数据“写入”硬盘的。

查看 CPU 信息

cat /proc/cpuinfo

uptime 命令

uptime
# 显示系统的启动时间和平均负载,也就是 top 命令的第一行。
# w 命令也可以看到这个数据。

查看系统与内核相关信息

uname [选项]

选项

说明

-a

查看系统所有相关信息

-r

查看内核版本

-s

查看内核名称

判断当前系统位数

file /bin/ls

查询当前 Linux 系统的发行版本

lsb_release -a

列出进程打开或使用的文件信息

lsof [选项]

选项

说明

-c 字符串

只列出以字符串开头的进程打开的文件

-u 用户名

只列出某个用户的进程打开的文件

-p pid

列出某个 PID 进程打开的文件

Linux 的服务管理 —— 源码包安装服务的管理

源码包安装服务的启动

  • 使用绝对路径,调用启动脚本来启动。不同的源码包的启动脚本不同。可以查看源码包的安装说明,查看启动脚本的方法。
/usr/local/apache2/bin/apachectl start|stop

源码包服务的自启动

vi /etc/rc.d/rc.local
# 添加
/usr/local/apache2/bin/apachectl start

让源码包服务被服务管理命令识别

  • 让源码包的 apache 服务能被 service 命令管理启动。
ln -s /usr/local/apache2/bin/apachectl /etc/init.d/apache

让源码包的 apache 服务能被 chkconfig 与 ntsysv 命令管理自启动

待整理的 linux 知识_配置文件_20

Linux 的服务管理 —— RPM 包安装服务的管理

独立服务的管理

RPM 包安装的默认位置

位置路径

说明

/etc/init.d/

启动脚本位置

/etc/sysconfig/

初始化环境配置文件位置

/etc/

配置文件位置

/etc/xinetd.conf

xinetd 配置文件

/etc/xinetd.d/

基于xinetd服务的启动脚本

/var/lib/

服务产生的数据放在这里

/var/log/

日志

独立服务的启动

/etc/init.d/ 独立服务名 start|stop|status|restart|
service 独立服务名 start|stop|status|restart| # redHat

独立服务的自启动

chkconfig [--level 运行级别][独立服务名][on|off]
修改 /etc/rc.d/rc.local 文件 # 推荐
使用 ntsysv 命令管理自启动 # redHat

基于xinetd(超级守护进程)服务的管理

安装 xinetd 与 telnet

yum -y install xinetd
yum -y install telnet-server

xinetd 服务的启动

待整理的 linux 知识_数据_21

重启 xinetd 服务

service xinetd restart

xinetd 服务的自启动

chkconfig telnet on
ntsysv # redHat

启动和自启动通用。

Linux 的服务管理 —— 服务的简介和分类

服务简介与分类

服务的分类


Linux 服务 RPM包默认安装的服务 源码包安装的服务 独立的服务 基于 xinetd 服务

启动与自启动

服务启动:就是当前系统中让服务运行,并提供功能。

服务自启动:自启动是指让服务在系统开始或重启动之后,随着系统的启动而自动启动服务。

查询已安装的服务

  • RPM 包安装的服务
chkconfig --list
# 查看服务自启动状态,可以看到所有 RPM 包安装的服务(运行级别),不能看源码包。
  • 源码包安装的服务
查看服务安装位置,一般是 /usr/local/ 下

RPM 安装服务和源码包安装服务的区别

  • RPM 安装服务和源码包安装服务的区别就是安装位置的不同。
  • 源码包安装在指定位置,一般是在 /usr/local/
  • RPM 包安装在默认位置中

Shell 编程 —— 字符串处理命令

  1. 排序命令 sort
sort [选项] 文件名

选项

说明

-f

忽略大小写

-n

以数值型进行排序,默认使用字符串型排序

-r

反向排序

-t

指定分隔符,默认是制表符

-k n[,m]

按照指定的字段范围排序,从第 n 字段开始,m字段结束(默认到行尾)

  1. 统计命令 wc
wc  [选项] 文件名

选项

说明

-l

只统计行数

-w

只统计单词数

-m

只统计字符数

Shell 编程 —— 字符串截取命令

cut 字段提取命令

grep 命令提取所在行。

cut [选项] 文件名

选项

说明

-f 列号

提取第几列

-d 分隔符

按照指定分隔符分隔列

待整理的 linux 知识_源码包_22

待整理的 linux 知识_数据_23

printf 命令

待整理的 linux 知识_源码包_24
待整理的 linux 知识_源码包_25
待整理的 linux 知识_数据_26
每三个为一组。
待整理的 linux 知识_源码包_27
待整理的 linux 知识_配置文件_28

Shell 基础 —— 环境变量配置文件

环境变量配置文件简介

  1. source 命令
source 配置文件 # 让配置文件直接生效,不然需要重新登陆才能生效

待整理的 linux 知识_源码包_29

环境变量配置文件作用

其他配置文件和登录信息

  1. 注销时生效的环境变量配置文件。
    ~/.bash_logout
  2. 其他配置文件
    ~/bash_history # 历史命令保存文件
  3. Shell 登录信息
    本地终端欢迎信息 /etc/issue
    待整理的 linux 知识_数据_30

远程终端欢迎信息:/etc/issue.net
待整理的 linux 知识_数据_31
登陆后欢迎信息:/etc/motd
不管是本地登录,还是远程登录,都可以显示此欢迎信息。

Shell 基础 —— Bash 的变量

用户自定义变量

环境变量

位置参数变量

预定义变量

  1. 预定义变量

待整理的 linux 知识_数据_32

  1. 接受键盘输入

权限管理 ——sudo 权限

  1. sudo 权限
    root 把本来只能超级用户执行的命令赋予普通用户执行
    sudo 的操作对象是系统命令
  2. sudo 使用
visudo
# 实际修改的是 /etc/sudoers 文件
root ALL=(ALL) ALL
# 用户名 被管理主机的地址(ALL:意味本机)=(可使用的身份,ALL:root) 授权命令(绝对路径)
# %wheel ALL=(ALL) ALL
# %组名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
sudo -l # 查看被root赋予的命令,在执行命令时,开头加sudo
[普通用户@localhost~] sudo /sbin/shutdown -r now

权限管理 —— 文件系统属性 chattr 权限

  1. chattr 命令格式
chattr [+-=] [选项] 文件或目录名


说明

+

增加权限

-

删除权限

=

等于某权限

选项

说明

i

防止误操作 如果对文件设置 i 属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;如果对目录设置 i 属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。

a

如果对文件设置 a 属性,那么只能在文件中增加数据,但是不能删除也不能修改数据;如果对目录设置 a 属性,那么只允许在目录中建立和修改文件,但是不允许删除。vi 不能使用,只能使用 echo >> 方式追加。

  1. 查看文件系统属性
lsattr [选项] 文件名

选项

说明

-a

显示所有文件和目录

-d

若目标是目录,仅列出目录本身的属性,而不是子文件的。

权限管理 —— ACL权限

ACL 权限简介和开启

  1. 简介
    ACL 权限:用来解决身份不足的问题。
    属住/属组/其他人
  2. 查看分区 ACL 权限是否开启
    一般情况下都默认开启。
dumpe2fs -h /dev/sda3
# dumpe2fs 命令是查询指定分区详细文件系统信息的命令选项
-h 仅显示超级块中的信息,而不显示磁盘块组的详细信息。
  1. 临时开启分区 ACL 权限
mount -o remount,acl
# 重新挂载根分区,并挂载加入acl权限
  1. 永久开启分区 ACL 权限
vi /etc/fstab
# 开机自动挂载文件
UUID=c2ca6f57-b15c-43ea-bca0-f239083d8bd2 / ext4 default,acl 1 1
mount -o remount
# 系统启动自动检测该文件,如果内容错误,系统可能无法启动
# 重新挂载文件系统或重启系统,使修改生效

查看与设定 ACL 权限

  1. 查看 ACL 命令
getfacl 文件名
  1. 设定用户 ACL 权限命令
setfacl [选项] 文件名

选项

说明

-m

设定 ACL 权限

-x

删除指定的 ACL 权限

-b

删除所有的 ACL 权限

-d

设定默认 ACL 权限

-k

删除默认 ACL 权限

-R

递归设定 ACL 权限

待整理的 linux 知识_数据_33

setfacl -m u:testuser:rx /project/
  1. 设定组的 ACL 权限
setfacl -g u:testuser:rx /project/

最大有效权限和删除 ACL 权限

  1. 最大有效权限 mask
    mask 是用来指定最大有效权限的。如果我给用户赋予了 ACL 权限,是需要和 mask 的权限 相与 才能得到用户的真正权限。
setfacl -m m:rx /project/
# 修改最大有效权限
  1. 删除 ACL 权限
setfacl -x u:用户名 文件名 # 删除指定用户的 ACL 权限
setfacl -x g:组名 文件名 # 删除指定用户组的 ACL 权限
setfacl -b 文件名 # 删除文件的所有的 ACL 权限

默认 ACL 权限和递归 ACL 权限 —— 针对目录

  1. 递归ACL权限
    递归是在父目录在设定ACL权限时,所有的子文件和子目录也会拥有相同的ACL权限。
setfacl -m u:用户名:权限 -R /project/

只对当前目录中的文件生效。

  1. 默认 ACL 权限
    默认ACL权限的作用是如果给父目录设定了默认ACL权限,那么父目录中所有新建的子文件都会继承父目录的ACL权限。
    只对新加入的文件有效。
setfacl -m d:u用户名:权限 文件名


举报

相关推荐

0 条评论