Linux系统管理

任务管理
什么是任务管理
在系统运维过程中,可能需要在某人预设的时间执行特定任务
比如定时发送邮件、备份并清空日志文件等任务
任务的内容可以看作是一系列命令或者一个脚本,我们则需要在特定时间去执行它
任务管理的类型
计划执行,在特定时间运行一次:at
定期执行,按周期执行多次:cron 
at
at命令可以指定Linux在特定时刻运行脚本
atd是at的守护进程,在系统启动时就会以后台模式运行
atd进程会定期检查系统上的/var/spool/at目录,获取通过at命令写入的任务
systemctl status atd #状态
安装并启动:
yum install -y at
systemctl start at
at 命令
设置时间-绝对计时
设置时间-相对计时
执行权限
cron 
cron运行机制
crontab命令
crontab 文件
例:每周一上午8:00执行命令
00 08 * * 1 commands
例:晚上11点到早上8点之间每两个小时,在/tmp/tet.txt文件中加入sleep)文本,在 crontab文件中对应的行如下:

  • 23-8/2 * * * echo"sleepy" >> /tmp/test.txt
    每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件。此用户的cron信息者都记录在这个文件中,这个文件是不可以直接编辑的,只可以用crontab -e来编辑。用户也可以另外建立一个文件,使用“cron文件名”命令导入cron设置
    cron启动后,每过一分钟读一次crontab文件,检查是否要执行里面的命令。因此该 文件被修改后不需要重新启动cron服务
    编辑配置文件
    cron 服务每分钟不仅要读一次/var/spool/cron 内的所有文件,还需要读一次/etc/crontab
    使用 crontab 配置是针对某个用户的,而编辑/etc/crontab 是针对系统的任务
    网络管理
    概念
    设备
    主机内的网卡
    广播地址
    到达本网段上所有主机的地址
    接口
    为使用设备,驱动程序在设备上创建了接口
    子网掩码
    将IP地址划分成网络地址和主机地址两部分的掩码
    路由
    IP 包跨网段访时候的下一跳地址
    链路
    设备到网络的连接
    ip a 等同于 ip addr #查看设备,包含没有配置的网络设备
    网卡设备配置文件
    网络设备认的配置路径:/etc/sysconfig/network-scripts/
    配置文件:ifcfg-*
    ls -l /etc/sysconfig/network-scripts/
    修改配置文件
    使用编辑器直接修改配置文件,修改前做好备份
    配置修改后不会立即生效,需要重启 NetworkManger 服务进程或者重启系统
    systemctl reload NetworkManager
    显示套接字信息
    使用ss命令香看套接字统计信息
    ss -ta
    NetworkManager
    NetworkManager是系统中动态控制及配置网络的守护进程,用于保持当前网络设备和连接处于工作状态
    通过命令行工具 nmcli 可以控制 NetworkManager,nmcli 全面,强大且复杂
    关键概念
    设备:网络中,设备即网络接口;
    连接:连接是供设备使用的配置;
    同一个设备可能存在多个连接,但一次只能有一个保持活动状态
    nmcli
    nmcli connection show --active
    显示单个连接的详细信息:ncmcli con show“连接名”,与ip link命令相似
    显示设备状态,使用:ncmcli dev status
    显示设备信息,使用:ncmcli dev show[设备名」
    通过 nmcli 创建连接
    查看 nmcli connection show
    创建 nmcli connection add con-name ‘Demo’ type Ethernet ifname en p4s0
    启动/激活 nmcli connection up ‘Demo’
    通过 nmcli 修改连接
    查看详情 nmcli connection show ‘Demo’
    以修改 DNS 服务器为例 nmcli connection modify ‘Demo’ ipv4.dns 192.168.100.250
    配置参数可以增加或删除值,在参数前使用+/-符号,如:添加辅助DNS服务器
    nmcli con mod “Euler” +ipv4.dns 114.114.114.114
    修改完成后需要up 活动中的连接,使之生效:
    nmcli con up“Euler’
    路由
    路由(Routing)
    要让不同子网的两台主机能够相互通讯,就需要看一种能够描述如何从一台主机至到另一台主机的机制,这一机制称为:路由选择(Routing),路由选择通过路由项进行描述
    路由项是一对预先定义的地址,包括:目的地(Destination)和网关(Gateway)
    路由项的含义是通过网关能够完成与自的地的通讯;路由表是多人路由项的集合
    route
    查看 route -n
    新增路由
    route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]
    route add -net 192.168.101.0 netmask 255.255.255.0 dev enp4s0
    route add -host 192.168.100.10 dev enp4s0
    删除路由
    route del [-net]-host] [netmask Nm] [gw Gw] [[dev] If]
    route del -host 192.168.100.10 dev enp4s0
    nmcli配置静态路由
    使用nmcli命令为网络连接配置静态路由,如下:
    nmcli connection modify enp3s0 +ipv4.routes “192.168.122.0/24 10.10.10.1”
    使用编辑器配置静态路由,使用交互式命令如下:
    nmcli con edit type ethernet con-name enp3s0
    主机名
    主机名是一个局域网中唯一标识一台机器的名称;这台机器不一定是一台物理机器,也可以是一台虚拟机
    cat /etc/hostname
    设置主机名
    临时设置主机名(直到下次重启前有效):hostname new-name
    永久设置主机名:hostnamectl set-hostname new-name
    通过修改文件设置主机名:在/etc/hostname 文件中写入new-name
    echo “new-name” > /etc/hostname
    hosts 文件
    局域网中存在着一些主机,我们可以通过IP地址去访问它们;随看局域网中主机数量增加,P地址较难记忆,我们希望通过主机名直接访问其他主机;这时我们可以通过一张记录着主机名和IP地址的表找到这些主机,这张表就是 hosts
    cat /etc/hosts
    hosts 与 DNS
    随着网络中主机数量的增加,单人hosts文件难以承载众多的映射关系。
    当在 hosts 中找不到域名对应的 IP 时,主机会将域名提交给域名解析服务器(DNS),然后DNS返回IP给主机,这人过程称为:域名解析
    DNS就像是一人个公共的hosts文件/分布式数据库
    查询DNS记录
    nslookup exam.openEuler.com
    进程管理
    进程介绍
    进程(Process)是计算机中已运行程序的实体,是程序的一个具体实现
    每人Linux 进程在被创建的时候,都被分配给一段内存空间,即系统给该进程分配一定的逻辑地址空间
    进程的生命周期
    每入进程都有一个唯一的进程D(PID),用于追踪该进程
    任何进程都可以通过复制自己地址空间的方式(fork)创建子进程,子进程中记录看父进程的ID(PPID)
    第一个系统进程是systemd,其他所有进程都是其后代
    进程的状态
    运行状态(TASKRUNNING)
    是运行态和就绪态的合并,表示进程正在运行或准备运行,LinuX中使用TASKRUNNING宏表示此状态
    可中断睡眠状态(浅度睡眠)(TASKINTERRUPTIBLE)
    进程正在睡眠(被阻塞),等待资源到来是唤醒,也可以通过其他进程信号或时中断唤醒,进入运行队列。Linux 使用TASK INTERRUPTIBLE宏表示此状态
    不可中断睡眠状态(深度睡眠状态)(TASKUNINTERRUPTIBLE)
    其和浅度睡眠基本类似,但有一点就是不可被其他进程信号或时钟中断唤醒。Linux使用TASK_UNINTERRUPTIBLE宏表示此状态
    暂停状态(TASKSTOPPED)
    进程暂停执行接受某种处理。如正在接受调试的进程处于这种状态,Linux使用TASK STOPPED宏表示此状态
    量死状态(TASK ZOMBIE)
    进程已经结束但未释放PCB,Linux使用
    TASKZOMBIE宏表示此状态
    进程的优先级
    进程的CPU资源(时间片)分配就是指进程的优先级(priority)
    优先级高的进程有优先执行权利
    配置进程的优先级对多任务环境下的Linux很有用,可以改普系统性能
    使用ps命令查看进程 ps -l
    进程优先级由动态优先级(PRI)和静态优先级(PR)决定,它是决定进程在CPU中行顺序的数字。优先级越高的进程被处理器执行的机会越大
    根据进程的行为,内核使用启发式算法决定开启或关闭动态优先级。以通过nice级别直接修改进程的静态优先级,拥有越高静态优先级的进程会获得更长的时片(间片是进程在处理器中的执行时间)
    Linux支持的nice级别从19(最低优先级)到-20(最高优先级),默认只是0。只有root身份的用户才能把进程的nice级别调整为负数(让其具备较高优先级)
    调整进程的优先级
    nice命令语法,优先序(adjustment取值范围-19 ~ 20): nice [-n adjustment] [command [arg…]]
    例如,将vi运行的优先级设置为-18: nice -n -18 vi &
    renice命令语法,优先序范围同nice,作用对象有程序群组-g、进程-p、用户-u,语法格式: renice [-n adjustment] [-]
    例如,将vi运行的优先级设置为12 : renice -n 12 -p 9700
    查看nice说明:nice-help ;查看 renice说明: renice-h
    也可以使用top更改进程的NI值: 进入top后按“r"->输入进程PID->输入nice值
    前台与后台进程
    后台进程几乎不和用户交互,优先级略低
    Linux的守护进程(Daemon)是一种特殊的后台进程,其独立于终端并周期性地执行任务或等待唤醒
    前台进程和用户交互,需要较高的响应速度,优先级较高
    前台进程就是用户使用的有控制终端的进程
    守护的意思就是不受终端控制。
    Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程lpd等
    守护进程一般用作系统服务,可以用crotab提交,编辑或者删除相应得作业
    Daemon进程也就是守护进程,linux大多数的服务进程都是通过守护进程实现的。比如0号进程调度进程),1号进程(进程)。机器启动后就运行,关机才停止
    控制前台与后台进程
    &:将&放在命令的最后,可以把这个命令放到后台执行
    Ctrl+z:当前台正在执行一个命令时,按键Ctrl+z,将其放到后台并暂停
    Ctrl+c:中断当前正在执行的命令
    jobs:查看当前有多少正在后台运行的命令
    fg:将后台中的命令调至前台继续运行
    bg:将后台任务唤醒,并在后台运行
    常用 ps aux或 bs-ef 查看进程信息
    管理进程
    当前用户必须是进程的属主或root用户
    kill通过PID向进程发信号,默认发送TERM信号,使用-S参数指定其他信号: #kill 3389 ; #kill-s HUP 3389
    killall通过进程名向进程发信号,且支持通配符,例 #killall python*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lanlingxueyu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值