linux服务管理
1 服务分类
linux服务分为rpm包默认安装的服务,源码包安装的服务。其中rpm安装的服务分为独立的服务和基于xinetd服务
学习主要是针对独立的服务的
服务的启动和自启动
查询已安装的服务
rpm包安装的服务 chkconfig --list 查看服务自启动状态,可以看到所有rpm包安装的服务,不能看源码包安装的服务
源码包安装的服务,查看服务安装位置,一般是/usr/local/下
这是因为源码包安装位置和rpm包安装位置不同,源码包安装在指定的位置,一般是 /usr/local,rpm包安装在默认位置中
service httpd start 启动rpm安装的httpd 不能启动源码包安装的服务
chkconfig --list 查看安装的rpm包
2 rpm安装的服务
独立的服务的管理
/etc/init.d/ 启动脚本位置
/etc/sysconfig 初始化环境配置文件位置
/etc/ 配置文件位置
/etc/xinetd.conf xinetd配置文件
/etc/xinetd.d 基于xinetd服务的启动脚本
/var/lib 服务产生的数据放在这里
/var/log 日志
/var/www/html 这是httpd服务自己网页的位置 这属于服务特有的文件
独立的服务的启动
方式一:/etc/init.d 独立服务名 start|stop|status|restart
方式二:service 独立服务名 start|stop|restart|status (这是红帽子系列独有的方式)
service --status --all 查询所有服务的状态
独立的服务的自启动命令
查看服务是否能自启动:chkconfig --list | grep 独立服务名
方式一: 设置服务为能够自启动:chkconfig --level 2345 httpd on
chkconfig [--level 2345] httpd off
方式二:修改文件/etc/rc.d/rc.local文件 将要启动的服务写在这里面(老师推荐方式,简单方便,支持源码包)
方式三:ntsysv命令管理自启动,在要设置自启动的服务前打上* (红帽子专有方式)
xinetd看视频吧 启动和自启动不区分
3 源码包安装服务的启动
使用绝对路径,调用启动脚本来启动,不同的源码包的启动脚本不同,可以查看源码包的安装说明,查看启动脚本的方法
要想用service启动,做一个软连接到系统文件/etc/init.d
自启动方法:修改/etc/rc.d/rc.local文件 同rmp包的方式二
4 服务管理总结
5 进程查看
进程是正在执行的 一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
ps aux 查看系统中所有的进程,使用bsd操作系统(即unix系统,不需要-)格式
ps -le 查看系统中所有进程,使用linux标准命令格式
top [选项] 查看进程健康状态
-d 每隔3s更新一次
pstree [选项] 查看进程树
-p 详细进程
-u 查看进程所属
16 终止进程
kill -l 查看可用的进程信号
kill 信号 进程PID号
信号一般使用-1 重启 -9 强制终止
killall -9 进程名
pkill用途1: pkill -9 进程名
pkill用途2: w 命令查看当前登陆的账号
pkill -9 -t tty1 踢掉某些用户
17 把进程放入后台
方式1:执行完某条命令后加上& 放入后台 并且在运行 tar -zcf etc.tar.gz /etc &
方式2:执行完某条命令 ctrl+z 放入后台 不是运行是暂停掉 top后ctrl+z
jobs查看后台运行的进程
-l 详细显示
fg %工作号 (%可以不写) 恢复后台程序到前台运行
工作号是后台进程的号
bg %工作号 把后台暂停的工作回复到后台运行 后台恢复的执行命令,是不能和前台有交互的,否则不能恢复到后台执行
18 系统资源查看
vmstat 2 3 隔2秒刷新一下系统资源的情况 共显示3次 比top输出更加清晰简洁
dmesg 显示开机时内核检测信息
dmesg | grep CPU 只查看关于cpu的情况 相当于查看linux硬件信息 很重要的一个命令
free 查看内存使用装填 free -m 以兆字节显示
缓存和缓冲的区别 缓存是用来加速数据从硬盘中‘读取’的,而缓冲是用来加速数据‘写入’硬盘的
在/proc/cpuinfo中显示了cup等硬件信息,proc是内存挂载点
uptime 显示系统启动时间和平均负载信息 相当于是w命令和top命令的第一行
uname -a 、s 、l 看内核版本
file /bin/ls 判断当前系统的位数
lsb_release -a 查询当前linux系统的发型版本
lsof 进程号 查看进程启动相关的文件
19 系统定时任务
crond服务管理与访问控制
service crond start 启动服务
check crond on 设置为自启动
crontab -e 编辑定时任务 -l查看定时任务 -r删除定时任务
格式:* * * * * 命令 第一个*号一个小时中第几分钟 第二个一天中第几个小时 第三个 一个月中第几个 第四个 一年中第几个月 第五个 一周中星期几
0 0 1,15 * 1 命令 每月的1号和15号,每周1的0点0分都会执行命令 这是并且的关系 应该避免周和号同时出现
特殊格式0 8,12,16 * * * 代表8点12点16点
0 1-6 * * * 代表1-6点
*/n 代表每隔多久执行一次 比如 */10 * * * * 代表每隔10分钟
20 日志管理简介
centos 6.x中日志服务已经由rsyslogd取代了syslog,rsyslogd功能更加丰富
查看服务是否运行 ps aux |grep rsyslogd 查看是否自启动 chkconfig --list | grep rsyslog
/var/log/cron 记录了系统定时任务相关的日志
/var/log/cups 记录打印信息的日志
/var/log/dmesg 记录了内核自检信息
/var/log/btmp 记录了错误登陆日志 这是一个二进制文件 不是直接用vi查看 而要使用lastb命令
/var/log/lastlog 记录系统中素有用户最后一次登陆时间 这是一个二进制文件 不能用vi查看 用lastlog命令
/var/log/mailog 邮件信息
/var/log/message 记录系统重要信息日志 按照时间记录
/var/log/secure 记录验证和授权方面的信息 ssh登陆 su sudo等
/var/log/wtmp 永久记录所有用户的登陆、注销信息、同时记录了计算机的关机重启时间 这是一个二进制文件 不是直接用vi查看 而要使用last命令
/var/log/utmp 记录当前已经登陆用户的信息 这个文件随着用户的登陆和注销而不断变化,不能用vi查看,要使用w、who、users等命令来查询
以上都是系统默认的日志,采用RPM包安装的系统服务也会把日志记录放到/var/log/中,这些日志rsyslogd不会管理。
21 rsyslogd服务
日志格式包含以下四列:
事件产生的时间
发生事件的服务器主机名
产生事件的服务名或者程序名
事件的具体信息
/etc/rsyslog.conf
22 日志轮替
日志会一直自动写入相关的信息,导致日志越来越大,因此linux有日志轮替工具,按天切割并且不断自己删除
logrotate日志轮替配置文件 /etc/logrotate.conf
daily 每天轮替
weekly 每周
monthly 每月
rotate 保留日志文件的个数
compress 日志轮替时,旧的日志被压缩
。。。。。等等还有指定大小和规则等
rpm包安装默认情况下一般都自动支持日志轮替,因此只有源码包安装的需要手工配置这种日志轮替,放置日志越来越大,拖慢系统和软件的运行速度
logrotate [选项] 配置文件名
-v 显示日志轮替过程
-f 虽然没到时间,强制轮替
23 centos 6 启动管理
系统运行级别
0 关机
1 单用户模式 类似windows安全模式 用于修护系统 linux还有光盘安全启动 有时单用户不能修复就是用光盘安全启动
2 不完全的命令行模式 不含NFS模式
3 完全的命令行模式 标注字符界面
4 系统保留
5 图形模式
6 重启动
查看系统运行级别
runlevel
调用系统运行级别
init 0 关机(不保存正在运行的程序)
init 5 切换运行模式到图形界面
系统默认运行级别
vi /etc/inittab
24 grub配置文件——引导程序/boot/grub/grub.conf
如果想在服务器里面安装linux和windows双系统,应该先安装windows,在安装linux,因为linux的grub可以识别windows,windows的grub不识别linux ,如果先安装linux再安装windows会覆盖点linux的grub。因此先安装windows然后安linux,然后在linux里的/boot/grub/grub.conf中的default和timeout。
25 grub加密
加密的作用使得别人不能修改系统的启动设置
26 纯字符界面分辨率调整
27 系统修复模式
用于 1 遗忘root密码,重新定义root密码
为了安全因此需要提前对grub密码设置,如果对grub密码忘了或者文件丢失,这时需要进入光盘安全模式修复。看视频吧。记不住。
2 修改系统默认运行级别
28 linux系统需要备份的数据
/root/目录
/home/目录
/var/spool/mail/目录
/etc/目录
其他目录
备份可以使用脚本实现完全备份
如果想实现增量备份使用命令:dump和restore命令 默认linux没装,需要自己装上 yum -y install dump
dump [选项] 备份之后的文件名 原文件或者目录
-level level指0-9是个备份级别 级别的意思查看ppt
-f 文件名 指定备份之后的文件名
-u 备份成功之后,把备份时间记录在/etc/dumpdates文件
-v 显示备份过程中更多的输出信息
-j 调用bzlib库压缩备份文件,压缩成.bz2格式
-W 查询分区的备份时间
例如备份boot分区
dump -0uj -f /root/boot.bak.bz2 /boot 0级别备份
cat /etc/dumpdates 查看备份时间文件
cp install.log /boot 复制install.log到boot中
dump -1uj -f /root/boot.bak1.bz2 /boot 这时只备份install.log 1级别备份
注意:dump只有对分区才能执行增量备份 对于文件是无法执行的增量备份的
恢复命令restore命令
restore [模式选项] [选项]
模式
-C 比较备份数据和实际数据的变化
-i 进入交互模式,手工选择需要恢复的文件
-t 查看模式
-r 还原模式
选项
-f 指定备份文件的文件名
例如在上述备份文件的原文件中添加一个文件wdx
restore -C -f /root/boot.bak.bz2 就会自动查看原文件是否被修改了
恢复的时候进入要恢复到目录,然后执行restore -r -f 压缩文件 如果有增量压缩文件继续还原