目录
基本命令
文件和用户管理
用户
创建用户
删除用户
修改用户属性
用户组
创建组
组的类型
提权
用户的权限
基本权限UGO
权限的三类对象
权限的三种类型
设置权限
编写程序
增加执行权限
更改属主,属组
基本权限ACL(access control list)
语法
设置
特殊权限
特殊位suid
文件属性
进程掩码(umask)
进程管理
什么是进程?
静态查看进程ps
进程排序
进程的父子关系
自定义显示字段
动态查看进程top
使用信号控制进程
信号种类
进程优先级nice
简介
查看进程的nice级别
启动具有不同nice级别的进程
更改现有进程的nice级别
作业 控制jobs
简介
jobs查看后台进程
把后台程序调回前台
当一个后台程序运行停止时
消灭后台进程
虚拟文件系统proc
虚拟文件系统
cpu
内存
内核
重定向
FD简介(文件描述符)
示例
编写邮件
利用重定向快速创建邮件
管道
tee管道
参数传递Xargs
案例
切割cut
存储管理
基本分区
磁盘简介
管理磁盘流程三部曲
查看磁盘信息
创建分区
创建文件系统
挂载mount
创建挂载点,一个分区一个挂载点
交换分区管理Swap
简介
逻辑卷LVM
高级课程
文件系统详解
文件链接
RAID
查找和压缩
文件查找
简介
命令文件查找
find
打包压缩
简介
打包,压缩
软件安装
RPM包管理
简介
编辑
YUM工具
YUM本地源:系统安装光盘
使用YUM管理RPM
RPM工具
先找到包
缺点:
源码包
获得源码包
计划任务
一次性调度执行at
语法格式
示例
循环调度执行cron
查看进程状态
日志管理
简介
任务一详解
任务二详解:日志轮转
基本命令
1.云计算? 相关职位
开源软件和linux起源:
- 自由软件之父:理查德.斯托曼
- linux之父:林纳斯.本纳第克特.托瓦兹
linux发行版
- RHEL:Red Hat Enterprise Linux 红帽linux商业公司
- CentOS:Community Enterprise Operating System 社区企业操作系统 免费的商业软件
- Ubuntu:桌面应用为主的开源GUN/Linux操作系统
- Debian
RHCE:红帽认证工程书
- RHCSA:红帽认证系统管理员
- RHCE:红帽认证工程师
- RHCA:红帽认证架构师
服务器分类:
- 塔式服务器
- 机架式服务器
- 刀片服务器
VMware-真机服务器
启动分区 交换分区 系统分区
处理Centos7/8系统输入用户名密码后界面卡住故障记录:设置用户名有限制
注销设置的用户-以超级管理员root登录
设置网卡-网络连接
XShell链接虚拟机
一次性创建多个文件touch file{yufeng,a,c}
拍摄快照
文件管理
cd /到根目录
bin:普通用户使用,二进制 boot:启动 dev:硬件 etc:设备文件 home:用户主目录 root:root用户的HOME run:临时 sbin:特权
tmp:临时 usr:应用程序 var:日志,邮件
文件类型
- 普通文件(文本文件,二进制文件,压缩文件,电影,图片)
d 目录文件(蓝色)
命令 选项 参数 ls / ls -l /
ctrl+l清屏
yum install tree
touch 路径和名字
mkdir -p 路径文件 :连续创建
cp 源文件路径 目标文件 :复制
table键补齐目录 两次tab键列出所有
cp -r 源文件 目标文件 :是否将源文件夹下的所有都拷贝
cd ~:进入根目录下的root文件夹
cd /进入根目录
mv 源文件路径 目标文件路径:移动
mv /home/a1/b1/c1/d1 /home/a1/b1/ 将d1移动到b1的文件夹下
mv /home/a1/b1/c1/d1 /tmp/d222移动并将d1改名为d222
mv /tmp/d222 /tmp/d333只改名
ctrl+shift++:屏幕放大
cat 文件 :查看全部内容
head -3 文件:查看前三行
tail
more 文件:翻页 空格翻篇回车换行
grep c /1.txt:过滤
ls 路径 >文件名:将路径下的目录信息放入文件中
gedit 文件名:打开文件
vim 文件名 i :wq yy复制,p粘贴 dd删除 5dd一下删除5行 u撤销 x删除一个字
文件和用户管理
用户
创建用户
/etc/passwd(冒号分割为7列字段)root:x:0:0:root:/root:/bin/bash
用户名:x:uid:gid:描述:HOME:shell
x密码占位符,具体的内容不在这里
uid用户的身份证号 0特权用户 1~499系统用户 1000+普通用户
gid组号
root:描述:比如经理
/root:家目录:登录系统时所在目录
/bin/bash:登录shell:命令解释器
/etc/shadow(8列):密码加密后
/etc/group的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户
(User)
用户创建:useradd 用户名
查询用户命令:id 用户名
修改密码:passwd 用户名
普通用户上述命令显示权限不够
指定uid: useradd user01 -u 1503
指定家目录:useradd user02 -d /aaa
useradd --help
查看所有创建的用户:cat /etc/passwd
删除用户
userdel -r 用户名 -r删除主目录文件夹
修改用户属性
禁用:usermod -s /sbin/nologin 用户名 (路径ke'yi'sui'yi)
用户组
创建组
groupadd hr(用户名和组名不能用纯数字)
groupadd net01 -g 2000(指定组号)
groupdel 组名
-u指定用户的UID
-g指定用户的基本组
-G指定用户的附加组
/etc/passwd 可以查看的是用户的基本组
/etc/group可以查看用户的附加组
创建用户AAA,同时生成基本组AAA
useradd AAA
grep AAA /etc/passwd
修改用户AAA的基本组为CCC
usermod AAA -g CCC
修改用户BBB的附加组为CCC
usermod BBB -G CCC
查看BBB的基本组
grep BBB /etc/passwd
查看BBB的附加组
grep CCC /etc/group
id AAA
gpasswd -d A GROUP
A是用户 GROUP是组名
把A从GROUP移除
指定组的gid:groupmod -g 1512 DDD
组的类型
基本组:随用户创建的组,同用户名
附加组:
提权
永久提权su
- 普通用户没有特权
- 尽量少用root
- 需要执行特殊指令时使用su,切换到超管身份
切换用户:su - root
退出root的登陆身份:exit
临时提权sudo
以root身份授权普通用户xulei
vim /etc/sudoers
%wheel ALL=(ALL) NOPASSWD:ALL
第107行:允许wheel用户组中的用户在不输入该用户的密码的情况下使用所有命令
useradd xulei -G wheel
在xulei用户下:sudo useradd guoguo(无sudo不能创建)
用户的权限
基本权限UGO
权限的三类对象
- 属主:u
- 属组:g
- 其他人:o
- 所有人:a(u+g+o)
权限的三种类型
设置权限
更改权限:
更改属主,属组
使用符号
语法:
- 使用符号:u用户 g组 o其他 r读 w写 x执行
- 语法:chmod 对象(u/g/o/a)赋值符(+/-/=)权限类型(r/w/x)文件/目录
chmod (-R) u+r 1.txt(如果是文件夹加-R)
ls -l file1与ll file1 相同
给file授予。其他用户没有读写执行的权力
chmod o= file
chmod o-rwx file
chmod o=--- file
查看文件夹权限:ls -l -d /tmp/
使用数字
chmod 000(数字代表) file.txt
编写程序
file.txt
echo "hello world"
read -p "请输入姓名:" name
echo "$name是主题"
增加执行权限
chmod u+x file.txt
./file.txt
更改属主,属组
chown命令:
设置一个文件属于谁,属主
语法:chown 用户名.组名 文件
groupadd hr
chown user01.hr /tmp/file.txt
chown alice file1//只改属主
chown .hr file1只改属组
chogrp命令
语法:chgrp 组名 文件 -R是递归的意思
基本权限ACL(access control list)
ACL是UGO的补充
ACL文件权限管理:设置不同用户,不同的基本权限(rwx)对象数量不同
UGO设置基本权限:只能一个用户,一个组和其他人
语法
setfacl -m u:alice:rw /home/test.txt
命令 设置 用户或组:用户名:权限 文件对象
设置
准备文件:
- touch /home/test.txt
- ll /home/test.txt
设置ACL:
- 查看文件有哪些ACL权限:getfacl /home/test.txt(ll会出现权限叠加现象)
- 设置用户alice.jack权限
useradd alice useradd jack
setfacl -m u:alice:rw /home/test.txt
setfacl -m u:jack:r /home/test.txt
请思考命令中的o是什么作用:
setfacl -m o::rw /home/test.txt
删除权限:setfacl -x u:alice /home/test.txt
setfacl -b /home/test.txt擦除所有信息
watch -n1 'ls -l file.txt':每隔1秒查看
特殊权限
特殊位suid
1.suid是针对文件所设置的一个特别的权限
功能:使调用文件的用户,临时具备属主的能力
文件属性
lsattr:查看文件的属性
chattr +i file1(无法操作此文件包括删除)
chattr -i file1
进程掩码(umask)
chmod 0777 file9999(四位第一位为特殊位,4代表suid)
系统为什么创建文件夹时,权限是755(0777-0022)
文件的权限是644,系统为了保护自己,所以在创建的文件上,去掉了所有的执行(0755-0111)
可以这只umask 0000创建的文件权限相应变换
进程管理
什么是进程?
进程是已启动的可执行程序的运行实例,进程有以下组成部分:
- 一个文件
- 被分配的的地址空间
- 有权限限制
- 程序代码的一个或多个副本(也叫执行线程)
像人一样拥有状态
1.什么是程序
具有执行代码和执行权限的文本文件
2.什么是进程
是运行起来的程序。获得计算机各方面的资源(CPU,MEM,DISK,NETWORK,PID)
3.进程的生命周期
由系统程序,fork出来的子程序。具备一定父的资源(权利,内存空间,PID),直到运行完毕,退出系统。
4.进程又那些状态?
静态查看进程ps
ps aux:查看进程
ps a:显示现行终端机下的所有程序
ps u:以用户为主的格式来显示程序的状况
ps x:不以终端机来区分
ps aux|head -3查看前三行
字段含义:
user:运行进程的用户
pid:进程id
%cpu:cpu占用率
%MEM:内存占用率
VSZ:占用虚拟内存
RSS:占用实际内存
TTY:进程运行的终端
STAT:进程状态
time:进程占用cpu总时间
COMMAND:选择文件,进程名
stopped running sleeping zombie
进程排序
ps aux --sort -%cpu(加-是降序)
进程的父子关系
ps -ef
自定义显示字段
ps axo user,pid,ppid,%mem,command|head -3
动态查看进程top
top 按q退出
top -d 1 每一秒刷新
使用信号控制进程
信号种类
给进程发送信号(kill -l列出所有支持的信号)
tty显示当前窗口的名称
编号 信号名
1.sighup 重新加载配置
2.sigint键盘中断ctrl+c
3.sigquit键盘退出ctrl+\
9.sigkill 强制终止,无条件
15.sigterm 终止(正常结束),缺省信号
18.sigcont继续
19.sigstop 暂停
20sigtstp 键盘暂停ctrl+z(扔到后台)
ps aux命令展示了进程的哪些方面的命令
user:用户
PID:进程的编号
%CPU:占用cpu时间的百分比
%MEM:占用内存时间的百分比
VSZ RSS:虚拟内存和实际内存占用的大小
TTY:终端的类型
STAT:运行,睡眠。。。
START:进程启动的时间
command:程序的路径和名称
进程优先级nice
简介
linux进程调度及多任务,每个cpu在一个时间点上只能处理一个进程,通过时间片技术,来同时运行多个程序
查看进程的nice级别
ps axo pid,command,nice --sort=-nice | head -5
启动具有不同nice级别的进程
默认情况:启动进程时,通常会继承父进程的nice级别,默认为0
更改现有进程的nice级别
1.创建一个睡眠示例程序
sleep 7000 &
2.查看进程号
ps axo pid,command,nice | grep sleep
3.renice -20 2669
2669进程id,旧优先级为0,新优先级为-20,观察修旧的nice值
作业 控制jobs
简介
作业控制是一个命令行功能,也叫后台运行
关键词介绍:foregroud前台进程是在终端中运行的命令,占领终端
backgroud后台进程没有控制终端,它不需要终端的交互。看不见,但是在运行
jobs查看后台进程
jobs
把后台程序调回前台
当一个后台程序运行停止时
bg 4(上面ctrl+z前台程序放到后台停止运行)后台程序继续运行
消灭后台进程
kill %4(%是后台进程)
虚拟文件系统proc
虚拟文件系统
采用服务器自身内核,程序运行的状态信息
cpu
/proc/cpuinfo
内存
/proc/meminfo
内核
/proc/cmdline
重定向
date > time.txt
输出重定向:进程产生的信息。存放到文件中
输入重定向:以文本内容作为进程的标准输入
FD简介(文件描述符)
file descriptors,FD,文件描述符,文件句柄进程使用文件描述符来管理打开的文件
fd是访问文件的标识,即链接文件。省去了冗长的绝对路径
- 0 是键盘只读
- 1,2是终端可以理解是屏幕
- 3+ 是文件,可读可写
示例
1.通过一个终端,打开一个文本 vim 1.txt
2.通过另一个终端,查询文本程序的进程号
3.在/proc目录中查看文本程序的FD
ls /proc/5912/fd
> 覆盖 >>追加
2>:专门引导错误输出
把正确的和错误的放在一起:
分开存放:
ls /home/ /aaaaaaa 1> yes.txt 2> no.txt
&> /dev/null 将生成的内容丢入垃圾桶
编写邮件
mail -s "ssss" alice(sssss为标题)
输完内容后.退出
查看:
- 切换账号 su - feng
- mail之后按1查看内容
- 按q退出
利用重定向快速创建邮件
- 准备文件内容vim 。。。
- mail -s "fsfa" feng < 文件名
- 原理:利用输入重定向,把文件内容代替人为的输入
管道
管道命令可以将多条命令组合起来,一次性完成复杂的处理任务
tee管道
cat /etc/passwd|tee file88.txt|tail -1(teee接收的是cat的内容)
参数传递Xargs
cp rm一些特殊命令就是不服其他程序
案例
- 环境准备,准备一些文件。touch /home/file{1..5}生成五个文件
- vim files.txt:/home/file1 /home/file3/ /home/file5
切割cut
cat /etc/passwd | grep ntp | cut -d: -f1 (以:进行分割,切取第一列)
存储管理
基本分区
磁盘简介
- 名词:磁盘、硬盘、disk是同一个东西,不同于内存的是容量比较大。
- 原理分区:机械硬盘即是传统普通硬盘,主要由盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成
- 固态:固态驱动器,俗称固态硬盘,固态硬盘是由固态电子存储芯片而制成的硬盘
- 命名:kernel对不同接口硬盘命名方式(RHEL7/centos7)IDE并口
sata(串口): 1. /dev/sda:/dev设备文件目录 s代表sata就是串口 d代表磁盘 a第一块
第二块:、dev/sdb
- 分区方式:MBR和GPT MBR支持最大的磁盘容量是<2TB.设计时分配4个分区如果希望超过四个分区,需放弃主分区,改为扩展分区和逻辑分区
管理磁盘流程三部曲
新硬盘:分区(MBR或者GPT)——》格式化/文件系统Filesystem——》挂载mount
查看磁盘信息
ll /dev/sd*
lsblk
创建分区
MBR:把房子分成我是和客厅
- 启动分区工具:fdisk /dev/sdb
- Select(default p):p 敲击数字1 (选择分区号)
- 分区号(1-4,默认1):1起始扇区(2048-10485759,默认为2048)
- 输入w保存分区信息,自动退出分区工具
- 刷新分区表:partprobe /dev/sdb
- 查看分区结果:fdisk -l /dev/sdb
创建文件系统
文件系统:房子里的格子柜
mkfs.ext4 /dev/sdb1或者mkfs -t ext4 /dev/sdb1
挂载mount
创建挂载点,一个分区一个挂载点
- mkdir /mnt/disk1
- mount -t ext4 /dev/sdb1 /mnt/disk1
- df -hT查看
只能创建四个主分区,之后创建不了
- 一块硬盘使用MBR,划分分区。数量上只能有如下选择:4主或3主+1扩展(N个逻辑)
删除分区命令:d
按n创建主分区,按e扩展分区
扩展分区包含三个逻辑分区
交换分区管理Swap
简介
作用:‘提升容量’,防止OOM(Out of Memry)
推荐:设置交换分区大小为内存的2倍
重启:init 6或者reboot
查看内存状态:free -m
将sde2挂到虚拟内存上:
- 分区:
- 格式化:mkswap /dev/sde2
- 挂载:swapon /dev/sde2
dd if=/dev/zero of=/mnt/disk4/1.txt bs=1M count=1000将一个文件抄到另一个文件(大小,抄多少次)
逻辑卷LVM
目的:管理磁盘的一种方式,性质与基本磁盘无异
特点:随意扩张大小
术语:
创建物理卷:pvcreate /dev/sdf
创建卷组:vgcreate name /dev/sdf
创建逻辑卷:lvcreate -L 200M -n lv2 vg1 (在卷组中抽调空间制作逻辑卷-分区)
指定大小,单位M,G -L大小 -n卷名 vg1组名
创建文件系统并挂载
mkfs.ext4 /dev/vg1/lv1 注意:/dev/卷组名/逻辑卷名 创建挂载点:mkdir /mnt/lv1 挂载:mount /dev/vg1/lv1 /mnt/lv1
卷组扩容:
环境:/dev/vg1 容量由4G扩容到6G
步骤一:创建PV。而后使用第二步,将PV增加到VG中。 pvcreate /dev/sdd1
步骤二:扩展VG,同时包含方法一
vgextend vg1 /dev/sdd1
pvs:查看卷组信息
LV扩容:
- lv扩容:lventend -L +200M /dev/vg1/lv1
resize2fs /dev/vg1/lv2 扩容磁盘
高级课程
文件系统详解
windows:FAT16 FAT32 NTFS
LINUX:EXT3/4 XFS文件系统
- 类型:索引(index)文件系统
- 系统限制:
- 磁盘空间的限制根据inode和block两方面
block:
- 存储文件的实际数据
- 实际存储文件的内容,若文件较大,会占用多个block
- block大小默认为4K
inode
- 记录文件的属性(文件的元数据metadata) 元数据包括:文件的属性,大小,权限等
- 一个文件占用一个inode,同时记录此文件数据所在的block number
- inode大小为128bytes
superblock
- block与inode的总量
- 未使用与已使用的inode/block数量
ls -l | wc -l 文件的个数
文件链接
符号链接:(软链接)
- 创建一个文件,并输入内容。 echo 111 > /file1
- 创建一个软连接 ln -s /file1 /home/file11
- 观察软链接 ll /home/file11(类型不同l链接,权限提高)
- 删除链接文件内容在?在的 删除源文件? 不在
- 软连接像快捷方式,可以对文件和目录做软连接
- 软连接记录的只是源文件的绝对路径
- 软连接失去源文件不可用
硬链接:
- echo 222 > /file2
- ln /file2 /file2-h1
- 硬链接只能针对文件做。不能对目录做
- 硬链接只能在同分区做
RAID
- 简介:廉价磁盘冗余阵列
- 作用:容错、提升读写速率
- 类型:RAID0,RAID1,RAID5
- RAID1镜像集2块磁盘,容量50%
- RAID5,至少三块等大小的硬盘(数据盘 数据盘 校验盘 热备盘)
- 不同场景RAID的使用
- 硬RAID:需要RAID卡,有自己的CPU,处理速度快,有电池和无电池
- 软RAID:通过操作系统实现,如Windows,Linux
- 准备四块硬盘:RAID(3块数据盘)+1块热备
- 创建RAID:mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd{b,c,d,e}
- 格式化挂载:
- mkfs.ext4 /dev/md0
- mkdir /mnt/raid5
- mount /dev/md0 /mnt/raid5
- cp -rf /etc /mnt/raid5/etc1
mdadm -D /dev/md0
mdadm /dev/md0 -f /dev/sdb -r /dev/sdb(模拟一块硬盘损坏,并移除)
- -C 创建RAID
- /dev/md0 第一个RAID设备
- -l5 RAID5
- -n RAID成员数量
- -x 热备磁盘数量
查找和压缩
文件查找
简介
- which:命令查找
- find:文件查找,针对文件名
- locate:文件查找,依赖数据库(updatedb)
命令文件查找
查找ls命令的位置:which ls
alias ls='ls --color=auto -l'起别名
find
find [path] [options] [expression] [action]
命令 路径 选项 表达式 动作 例:find /etc -name '77551.txt'
- iname 不区分大小写
- find /etc/ -size +5M 文件大小在5M以上
- find / -maxdepth 2 -a -name ifcfg- en* 两级目录
- find /home -user jack//属主是jack的文件
- find /home -group hr//属主是hr的文件
- find /dev -type f 按文件类型
- find /dev -type d
- find . -perm 714 -ls 按文件权限
- find /etc -name "111*" -delete 找到后删除
- find /etc/ -name ifcfg* -ok cp -rvf {} /tmp \; 找到后复制
打包压缩
简介
tar命令是Unix、Linux系统中备份文件的可靠方法
几乎可以工作于任何环境中,它的使用权限是所有用户。建议针对目录
打包,压缩
- 语法:tar 选项 压缩包名称 源文件 tar -cf 1.tar /etc(-cf 创建文件 -czf 打包并压缩,z是gzip) -cjf j是bzip -cJf J是xzip
- 压缩原理:去重法(文件的体积小,缺点无法直接使用)
- 解压缩:tar -xf 111 -C 路径
软件安装
RPM包管理
简介
- RPM Package Manager(原Red Hat Package Manager,现在是一个递归缩写)
- 由Red Hat公司提出,被众多Linux发行版所采用
- 也称二进制无需编译,可以直接使用
- 无法设定个人设置,开关功能
- 软件包示例(注意示例):mysql-community-common-5.7.12-1.el7.x86_64.rpm
-
YUM工具
是一个在Fedora和RedHat以及CenOS中的Shell前端软件包管理器
基于RPM包管理器,能够从指定的服务器自动下载RPM包并安装,安装
可以自动处理依赖关系,并且一次安装所有依赖的软件包,无须频繁的一次次下载
YUM本地源:系统安装光盘
- 目的:通知linux服务器,通过本机的系统光盘获得软件包,并安装软件
- 观察YUM核心配置目录:
- 记住这个目录/etc/yum.repos.d/
- 打开一个*.repo
- 观察国外地址(下载慢)
-
删除官方yum库: mv /etc/yum.repos.d/* /tmp
-
编写本地YUM库配置文件
-
vim /etc /yum.repos.d/dvd.repo
-
[dvd]——name=dvd——baseurl=file:///mnt/cdrom——gpgcheck=0
-
mkdir /mnt/cdrom(装载软件包)
-
挂载mount /dev/cdrom /mnt/cdrom/(光盘 挂载点)要有光盘而且要插上电
-
init 6重启后挂载失效
-
vim /root/.bashrc(开机自动执行)——写入之前挂载的命令
-
systemctl start httpd(127..0.0.1)
-
systemctl stop firewalld
-
systemctl disable firewalld(证明程序安装成功)
- 请理原有的yum配置
- 下载阿里巴巴开源镜像站官网配置
- 更新YUM仓库
- 执行安装
查看下载源:yum repolist
使用YUM管理RPM
安装
- 全新安装:yum -y install httpd vsftpd(-y yes自动确认 软件包1 软件包2)
- reinstall 重新安装
- 升级安装: yum -y update httpd
查询
卸载
yum makecache更新yum源
RPM工具
先找到包
- cd /mnt/cdrom/Packages检查包是否存在
- rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm(ivh 安装可视百分比)
- rpm -q wget 查询,看到软件包的名字,就说明rpm -q查询成功,已经安装软件
- 卸载:rpm -evh wget-....后面不要加后缀.rpm
缺点:
RPM无法处理依赖
源码包
- source code需要经过GCC,C++编译环境编译才能运行
- 可以设定个人设置,开关功能
- 软件包示例:nginx-1.8.1..tar.gz
- 认识源码包
- 配置复杂
- 认识源码包:nginx 包名 -1.8.1版本号 .tar.gz压缩格式
获得源码包
官方网站可以获得最新的软件包
- Apache:www.apache.org
- Nginx:www.nginx.org
- Tengine:tengine.taobao.org
- 直接浏览器下载
- 命令下载——wget 网址
- yum install -y wget
- wget 下面网址
- 准备编译环境如解释器——yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel
- useradd www
- tar xf tengine-2.3.3.tar.gz
- cd tengine-2.3.3
- ./configure --user=www --group=www --prefix=/usr/loca/ngimx(指定路径)
- 编译make
- 安装 make install
启动测试
- 可能之前的实验,安装过httpd服务,如果直接使用nginx会与冲突,请确保关闭httpd
- systemctl stop httpd
- /usr/loca/ngimx/sbin/nginx
- systemctl stop firewalld
- 使用浏览器访问本机的IP,127.0.0.1,如果能看到NGINX网页,说明部署成功
计划任务
一次性调度执行at
语法格式
at <TIMESPEC>
<TIMESPEC>示例
now +5min
teatime tomorrow
at now +2min——>useradd uuu——>ctrl+d退出
atq查看
循环调度执行cron
- cron的概念和crontab是不可分割的
- crontab是一个命令,常见于Unix和Linux的操作系统中
- 用于设置周期性被执行的指令
- 该命令从标准输入设备读取指令,并将其存放再“crontab”文件中,以供之后读取和执行
查看进程状态
- systemctl status crond.service
- ps aux|grep crond
- ls /var/spool/cron
- crontab -e
- 分 时 日 月 周 命令或执行脚本(六个部分用空格隔开)
- * * * * * 命令
日志管理
简介
任务一(rsyslog系统日志管理):关心问题:哪类程序——产生什么日志——放到什么地方
任务二(logrotate日志轮转):将大量的日志,分割管理,删除旧日志
任务一详解
处理日志的进程
第一类:
- rsyslogd:系统专职日志程序
- 处理绝大部分日志记录
- 系统操作有关的信息,如登录信息,程序启动关闭信息
第二类:
- httpd/nginx/mysql:各类应用程序,可以以自己的方式记录日志、讲解对应程序时会逐步介绍
观察rsyslogd程序
常见的日志文件(系统、进程、应用程序)
- tail -10 /var/log/messages 系统主日志文件
- tail -f /var/log/messages 动态查看日志文件的尾部
- tailf /var/log/secure 认证安全
- tail /var/log/yum.log //yum
- tail /var/log/maillog 根邮件postfix相关
rsyslogd配置
1.相关程序
- yum install rsyslog logrotate(默认已安装)
2.启动程序
- systemctl start rsyslog.service
3.相关文件
rpm -qc rsyslog(查询软件包的安装情况,c配置文件)
- /etc/rsyslog.conf——rsyslogd的主配置文件(关键)
- /etc/rsysconfig/rsyslog——rsyslogd的相关文件
- /etc/logrotate.d/syslog——和日志办轮转(切割)相关(任务二)
主配置文件:
- 告诉rsyslogd进程什么日志,应该存在哪里
- vim /etc/rsyslog.conf(:set nu显示全部)
- 设备——级别——路径
man rpm(查看咋用)
特性:rsyslog程序 /etc/rsyslog.conf ssh程序 /etc/ssh.conf
任务二详解:日志轮转
工作原理:
- 按照配置进行轮转
- 配置文件种类(主文件:/etc/logrotate.conf决定每个日志文件如何轮转 子文件:/etc/logrotate.d/*)
- 观察主文件和子文件
- vim /etc/logrotate.conf
- weekly //轮转的周期,一周轮转
- rotate 4 //保留4份
- create //轮转后创建新文件
- dateext //使用日期作为后缀
- compress //是否压缩
- include /etc/logrotate.d //包含该目录下的配置文件
- /var/log/wtmp{ days}这里为什么出现了,用户登录日志文件。在配置文件中,书写日志的名字和大括号。就可以独立的设定该日志的轮转规则
- minsize 1M //最小达到1M才轮转,monthly and minsize
- create 0664 root utmp //轮转后创建新文件,并设置权限(权限 属主 属组)
- missingok //丢失不提示
- notifempty //空文件不论转
- maxsize 30K //达到30k轮转 daily or size
- date 04011000 修改时间
- /usr/sbin/logrotate(命令) -s /var/lib/logrotate/logrotate/logrotate.status(时间戳) /etc/logrotate.conf
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)