Linux系统管理
一、linux的引导流程
1、总流程
开机自检--MBR引导--GRUB菜单--架子啊linux内核--INIT进程初始化
【决定系统初始化过程的关键在于init进程及其配置文件/etc/inittab;
决定系统启动后自动运行哪些程序的关键在于/etc/rc.d/rc脚本】
2、初始化进程及文件
a.init进程
【在引导linux系统的过程中,/sbin/init是内核第一个加载的程序,因此init进程对应的PID号永远为1】
b.inittab配置文件
【inittab文件位于/etc目录中,是init程序的配置文件】
基本格式为: 标记:运行级别:动作类型:程序或脚本
(id:runlevels:action:process)
runlevels:0-关机 1-单用户模式 2-字符界面的多用户模式 3-字符界面的完整多用户模式
4-为分配使用 5-图形界面的多用户模式 6-重启
action:initdefault-系统初始化默认进入的运行级别
sysint-设置系统初始化的操作脚本
ctilaltdel-设置当用户按下Ctrl+Alt+Del组合键后的操作
process--此字段用于指定该行配置所对应的实际操作,可以是具体的命令、脚本程序等
eg:grep ":initdefault" /etc/inittab
id:5:initdefault:
vi /etc/inittab
id:3:initdefault:
eg: grep ":ctrlaltdel" /etc/inittab
ca:ctrlaltdel:/sbin/shutdown -t 3 -r now
查看inittab文件中Ctrl+Alt+Del热键所对应的操作【在该行记录前加#表示关闭该功能】
c. rc.sysinit脚本文件
【是init进程所调用的系统初始化脚本,位于/etc/rc.d/rc.sysinit
该脚本主要完成包括设置网络、主机名、加载文件系统、设置时钟等一系列初始化工作】
d. rc脚本文件
【由init进程进行调用,文件位于/etc/rc.d/rc
rc脚本通过指定不同的级别参数加载及终止不同的系统服务,进入到相应的系统运行级别】
【/etc/rc.d/rcX.d 所链接的原始服务脚本文件位于/etc/rc.d/init.d目录中
可以直接执行脚本文件或者通过service服务控制工具进行管理(start.stop.status.restart.reload)】
e. rc.local脚本
【rc.local是一个额外的启动控制脚本,位于/etc/rc.d/local
通常由rc脚本在最后加载,主要是为管理员自行设置启动命令提供一种途径】
3、运行级别控制
a. 查看及切换运行级别
runlevel 查看
init 0-6
b.设置服务在不同运行级别的状态
【1】使用ntsysv配置工具
ntsysv --level 35
【2】使用chkconfig配置工具
chkconfig --list 服务名 查看服务启动状态
chkconfig --level 2345 服务名 off/on 设置服务在XX运行级别自启动/关闭
二、进程管理
1、查看进程
a. ps--查看静态的进程统计信息
ps aux 【a-显示当前终端下的所有进程;u-使用以用户为主的格式输出进程信息;x-显示当前用户在所有终端下的进程信息】
ps -elf 【e-显示系统内的所有进程;l-以长格式显示进程信息;f-使用完整的full格式显示进程信息】
eg:ps aux | grep bash 查看所有进程信息,过滤出包含"bash"的进程信息
b. top--查看进程状态信息
【按P可对cpu占用情况进行排序;M--内存;N--启动时间;h--获得top程序在线帮助;q--退出top程序】
c. pgrep--查询特定进程信息
eg:pgrep "init"
pgrep -l -U teacher -t tty1
d. pstree--查看进程树
【通常情况下只显示进程名称,结合-p选项同时显示PID号;结合-u可以列出用户名;结合-a可以列出完整的命令信息】
eg: pstree -ap teacher
2、控制进程
a.启动进程: 手动启动进程 【直接输入命令或者可执行程序的路径,在执行的命令后边添加&表示后台启动】
调度启动进程 【通过at、crontab命令制定任务计划】
b.改变进程运行方式: Ctrl+Z 将当前进程挂起
jobs -l 查看后台的进程
fg 进程号 将进程恢复到前台运行
c.终止进程: (kill +进程号
killall +进程名
pkill -U 指定用户 -t 指定终端
三、计划任务管理
1、一次性任务计划
service atd status
service atd start
eg: at 14:15 2010-05-12
at> pgrep -U root | wc -l > /tmp/ps.root
at> <EOT>
设置完成后按C trl+D提交
查询当前系统中的at计划任务表 atq
删除指定编号的任务计划 atrm 2(任务计划编号)
2、周期性任务计划
service crond status
a. /etc/crontab 系统任务配置文件
/var/spool/cron 用户cron任务配置存放的目录
3、使用crotab命令管理用户的任务计划
-e 编辑任务计划列表
-u 指定任务计划属于哪一个用户
-l 列表显示任务计划
-r 删除任务计划
4、编辑任务计划
crontab -e 打开任务计划编辑界面
格式: 分钟 小时 日期 月份 星期 执行的命令
0-59 0-23 1-31 1-12 0-7 普通命令/自己编写的脚本
- 表示一个连续的时间范围
, 表示不连续的范围
/ 可以用来指定间隔频率(如*/3表示每隔三天)
crontab -l 查看任务计划列表
【任务计划列表】crontab -e
50 7 * * * /sbin/service sshd start 每天早上7:50自动开启sshd服务,22:30自动关闭该服务
50 22 * * * /sbin/service sshd stop
0 * */5 * * /bin/rm -rf /var5/ftp/pub/* 每隔五天清空一次FTP服务器公共目录/var/ftp/pub中的数据
30 7 * * 6 /sbin/service httpd restart 每周六的7:30自动重启系统中的httpd服务
30 17 * * 1,3,5 /bin/tar jcvf httpd.tar.bz2 /etc/httpd 每周一三五下午的17:30,使用tar命令自动备份/etc/httpd目录
推荐阅读
-
Linux mysql命令安装允许远程连接的安装设置方法
-
Linux下安装Mysql多实例作为数据备份服务器实现多主到一从多实例的备份
-
linux下mysql自动备份脚本代码
-
Tecplot Focus 2017 R2 中文破解破解详细教程 for win64/mac/linux
-
MySQL 数据库两台主机同步实战(linux)
-
linux下mysql5.7.17最新稳定版本安装教程
-
Linux平台mysql开启远程登录
-
Linux安装MySQL教程(二进制分发版)
-
基于Android SDK-在64位Linux中使用需要注意的问题
-
基于linux与windows平台下 如何下载android sdk源代码的方法详解