进程和计划任务管理
1. 程序和进程的关系
**程序:**保存在硬盘、光盘等介质中的可执行代码和数据;静态保存的代码
**进程:**在 CPU 及内存中运行的程序代码;动态执行的代码;父、子进程:每个进程可以创建一个或多个进程
基本命令
1**):ps命令(processes statistc):**查看静态的进程统计信息
格式: ps aux **;**ps –elf
2**):top命令**:查看动态的进程排名信息
3**):pgrep命令:**根据特定条件查询进程 PID 信息
4**):pstree命令****:**以树形结构列出进程信息
**格式:**pstree –aup **;**pstree –ap 用户
**2.**进程的启动方式
手工启动
前台启动(foreground,前台):用户输入命令,直接执行程序
后台启动(background,后台):在命令行尾加入“&”符号
[root@localhost ~]# cp /dev/cdrom mycd.iso &
[1] 28454 (输出信息中包括后台任务序号、PID号)
调度启动
使用 at 命令,设置一次性计划任务;使用 crontab 命令,设置周期性计划任务
**3.**进程的前后台调度
1**):**Ctrl+Z 组合键:将当前进程挂起,即调入后台并停止执行
2**):**jobs 命令:查看处于后台的任务列表 ;**格式:**jobs -l
3**):**fg 命令:将后台进程恢复到前台运行,可指定任务序号
**4.**终止进程
Ctrl+C 组合键:中断正在执行的命令
kill**、**killall 命令
kill用于终止指定PID号的进程
killall用于终止指定名称的所有进程
-9 选项用于强制终止
pkill****命令:根据特定条件终止相应的进程
常用命令选项: -U:根据进程所属的用户名终止相应进程; -t:根据进程所在的终端终止相应进程
**5.**计划任务管理
1**):at命令**:一次性计划任务,前提是对应的系统服务atd必须已经运行;计划任务执行任务的时间必须安排在当前系统时间后。
服务脚本名称:/etc/init.d/atd;**格式:**at [HH:MM] [yyyy-mm-dd]
2**):crontab命令**:按照预先设置的时间周期(分钟、小时、天……)重复执行用户指定的命令操作;属于周期性计划任务;服务脚本名称:/etc/init.d/crond
主要设置文件
全局配置文件,位于文件:/etc/crontab
系统默认的设置,位于目录:/etc/cron.*/
用户定义的设置,位于文件:/var/spool/cron/用户名
3**):管理cron****计划任务**
编辑计划任务:crontab -e [-u 用户名**]**
查看计划任务:crontab -I [-u 用户名
删除计划任务:crontab -r [-u 用户名**]**
注意:root用户可以管理指定用户的计划任务;普通用户只能管理自己的计划任务
6. 时间数值的特殊表示方法
* 表示该范围内的任意时间
, 表示间隔的多个不连续时间点
- 表示一个连续的时间范围
/ 指定间隔的时间频率
举个栗子
0 17 * * 1-5 周一到周五每天17:00
30 8 * * 1,3,5 每周一、三、五的8点30分
0 8-18/2 * * * 8点到18点之间每2小时
0 * */3 * * 每3天
系统故障分析和排查
1. 日志文件分析
**功能:**用于记录系统、程序运行中发生的各种事件;通过阅读日志,有助于诊断和解决系统故障
分析:
内核及系统日志:由系统服务syslog统一进行管理,日志格式基本相似
用户日志:记录系统用户登录及退出系统的相关信息
程序日志:由各种应用程序独立管理的日志文件,记录格式不统一
保存位置:默认位于:/var/log 目录下
主要日志文件:
日志 | 存放位置 |
---|---|
内核及公共消息 | /var/log/messages |
计划任务 | /var/log/cron |
系统引导 | /var/log/dmesg |
邮件系统 | /var/log/maillog |
用户登录 | /var/log/lastlog**;/var/log/secure;/var/log/wtmp;****/var/run/btmp** |
**2.**内核及系统日志
由系统服务 rsyslogd 统一管理
软件包:rsyslog-5.8.10-8.el6.x86_64
主要程序:/sbin/rsyslogd
配置文件:/etc/rsyslog.conf
日志消息的级别
0 EMERG(紧急):会导致主机系统不可用的情况
1 ALERT(警告):必须马上采取措施解决的问题
2 CRIT(严重):比较严重的情况
3 ERR(错误):运行出现错误
4 WARNING(提醒):可能会影响系统功能的事件
5 NOTICE(注意):不会影响系统但值得注意
6 INFO(信息):一般信息
7 DEBUG(调试):程序或系统调试信息等
日志记录的一般格式
**3.**用户日志分析
保存了用户登录、退出系统等相关信息
/var/log/lastlog:最近的用户登录事件
/var/log/wtmp:用户登录、注销及系统开、关机事件
/var/run/utmp:当前登录的每个用户的详细信息
/var/log/secure:与用户验证相关的安全性事件
分析工具:users 、who、w、last、lastb
4.程序日志分析
由相应的应用程序独立进行管理
Web服务:/var/log/httpd/ ;access_log、error_log
代理服务:/var/log/squid/;access.log、cache.log、squid.out、store.log
FTP服务:/var/log/xferlog
分析工具:
文本查看、grep过滤检索、Webmin管理套件中查看
awk、sed等文本过滤、格式化编辑工具
Webalizer、Awstats等专用日志分析工具
注意:日志并不是完全可靠的,高明的黑客在入侵系统后,经常会打扫现场
**5.**日志管理策略
1**):及时作好备份和归档**
2**):延长日志保存期限**
3**):控制日志访问权限**:日志中可能会包含各类敏感信息,如账户、口令等
4**):集中管理日志**
将服务器的日志文件发到统一的日志文件服务器
便于日志信息的统一收集、整理和分析
杜绝日志信息的意外丢失、恶意篡改或删除
**6.**修复 MBR 扇区故障
1):故障原因:病毒、木马等造成的破坏;不正确的分区操作、磁盘读写误操作
2**):故障现象**:找不到引导程序,启动中断;无法加载操作系统,开机后黑屏
3**):**解决思路:应提前作好备份文件;以 RHEL 6 安装光盘引导进入急救模式;从备份文件中恢复
**7.**修复 GRUB 引导故障
1**):故障原因**:MBR 中的 GRUB 引导程序遭到破坏;grub.conf 文件丢失、引导配置有误
2**):故障现象**:系统引导停滞,显示“grub>” 提示符
3**):解决思路**:尝试手动输入引导命令;进入急救模式,重写或者从备份中恢复 grub.conf
;向 MBR 扇区中重建 grub 程序
**8.**遗忘 root 用户的密码
1**):故障原因**:遗忘 root 用户的密码
2**):故障现象**:无法进行需要 root 权限的管理操作;若没有其他可用帐号,将无法登录系统
3**):解决思路**
方法一:引导进入单用户模式,重设密码:grub > kernel … single 或 s 或 1
方法二:进入急救模式,重设密码
9. 修复文件系统
1**):故障原因**:非正常关机、突然断电、设备读写失误等;文件系统的超级块(super-block)信息被破坏
2**):故障现象**:无法向分区中读取或写入数据;启动后提示“Give root password for maintenance”
3**):解决思路**:根据提示输入 root 口令,进入修复状态;使用 fsck 命令进行修复
**10.**磁盘资源耗尽故障
1**):故障原因**:磁盘空间已被大量的数据占满,空间耗尽;虽然还有可用空间,但文件数i节点耗尽
2**):故障现象**:无法写入新的文件,提示“… : 设备上没有空间”;部分程序无法运行,甚至系统无法启动
3**):解决思路**:清理磁盘空间,删除无用、冗余的文件;转移或删除占用大量 i 节点的琐碎文件;进入单用户模式、急救模式进行修复;为用户设置磁盘配额
11. 磁盘设备中存在坏道
1**):故障原因**:磁盘设备中存在坏道(逻辑的或物理的)
2**):故障现象**
读取磁盘中的数据时,磁盘设备发出异常声响。
访问磁盘中的某个文件时,反复读取且出错,提示文件损坏
对于新建立的分区无法完成格式化
系统使用该磁盘时频繁死机
2**):故障现象**:无法写入新的文件,提示“… : 设备上没有空间”;部分程序无法运行,甚至系统无法启动
3**):解决思路**:清理磁盘空间,删除无用、冗余的文件;转移或删除占用大量 i 节点的琐碎文件;进入单用户模式、急救模式进行修复;为用户设置磁盘配额
11. 磁盘设备中存在坏道
1**):故障原因**:磁盘设备中存在坏道(逻辑的或物理的)
2**):故障现象**
读取磁盘中的数据时,磁盘设备发出异常声响。
访问磁盘中的某个文件时,反复读取且出错,提示文件损坏
对于新建立的分区无法完成格式化
系统使用该磁盘时频繁死机
3**):解决思路**:检测硬盘中是否存在坏道;修复硬盘,或更换新的硬盘