“初识Linux:任务调度”的版本间差异

来自Wikioe
跳到导航 跳到搜索
 
(未显示同一用户的38个中间版本)
第1行: 第1行:
[[category:Linux]]
[[category:Linux]]


== 启动 ==
== 关于 ==
=== 启动过程 ===
任务调度:系统在某个特定时间,执行特定的命令或程序。
Linux启动过程分析:
# BIOS自检
# 启动GRUB/LILO
# 运行Linux内核并检测硬件
# 运行系统的第一个进程init
# init读取系统引导配置文件“/etc/inittab”中的信息进行初始化
# /etc/rc.d/rc.sysinit 系统初始化脚本(读取用户密码等文件)
# /etc/rc.d/rcX.d/[KS]* 根据运行级别X(0、1、2?),配置服务
# /etc/rc.d/rc.local 执行本地特殊配置
# 其他特殊服务


=== 运行级别 ===
== 添加任务 ==
# 0:关机
# “crontab -e”:添加任务
# 1:单用户(类似于Windows安全模式?)
# “0 2 * * * date >> /home/mydate”:在crontab中添加该命令,每天临晨两点把时间写到/home/mydate中
# 2:多用户状态没有网络服务
#* “0 2 * * *”为时间规则
# 3:多用户状态有网络服务(常用)
# 4:(系统未使用)
# 5:图形界面
# 6:系统重启


* shell中“startX”可进入图形界面,前提如果安装了
== 调度多个任务 ==
* 修改默认的运行级别,“/etc/inittab”的“id:3:initdefault”中的级别数字
方法一:直接使用 crontab -e 添加任务<br/>
方法二:
# 把所有的任务写入一个可执行文件中(.sh文件,shell代码),并为文件设置可执行权限
# 再将可执行文件路径使用 corntab -e 添加到任务调度,如“* * * * * /root/mytask.sh”


=== 忘记密码 ===
== 终止任务 ==
* 进入单用户模式修改密码即可
# crontab -l:列出当前所有调度任务
*: <syntaxhighlight lang="bash">
# crontab -r:终止调度任务
# 修改root用户密码
passwd root (设置root的密码)


# 设置启动级别
== 时间规则 ==
#init 6
时间规则“* * * * *”,分别表示:
</syntaxhighlight>
 
 
centos6系列:
# 在引导界面(redhat的grub引导界面)按e,进入编辑模式
#: [[File:centos6引导界面.png|400px]]
# 移动光标到“Kernel ...”一行按e,进入kernel该行的编辑画面中
#: [[File:centos6选择内核.png|400px]]
# 在kernel行末尾输入“ single”并回车(注意空格)
#: [[File:centos6选择内核_编辑.png|400px]]
#: 修改后:
#: [[File:centos6选择内核_启动方式single.png|400px]]
# 按b重启,进入系统
#: [[File:centos6single进入系统.png|400px]]
# 进入系统修改密码
#: [[File:centos6修改密码.png|400px]]
 
 
centos7系列:
# 在引导界面选择内核后,按e进入编辑模式
#: (另一个“rescue”的内核为救援模式,主要是应用于系统无法进入的情况。)
#: [[File:centos7选择内核.png|400px]]
# 编辑页面,将ro改为rw,在LANG 后添加init=/bin/sh(或/sysroot/bin/sh?)
#: “rw”使文件系统被挂载为读写,才能修改密码;否则进入系统后需要使用“mount –o remount,rw /”来挂在文件系统为读写;
#: [[File:centos7选择内核_编辑.png|400px]]
# 按 Ctrl+x 用修改的参数引导系统
#: [[File:centos7单用户模式.png|400px]]
# 进入系统修改密码
#: [[File:centos7修改密码.png|400px]]
#: 如果显示小方块,使用LANG=en把当前终端语言设置为英文即可;
#: [[File:centos7修改密码_切换终端语言.png|400px]]
# 重启系统
#: (如果之前系统启用了selinux)输入“touch /.autorelabel”,使SELinux生效:确保开机时重新设定 SELinux context,必須在根目录下添加隐藏文件“.autorelabel”;
#: 用“exec /sbin/init”来正常启动,或“exec /sbin/reboot”重启
#: [[File:centos7更新系统信息并重启.png|400px]]
 
== 文件系统 ==
=== 分区 ===
=== 文件属性 ===
=== 挂载 ===
 
== 权限 ==
=== 用户 ===
* 尽量少用root,避免操作失误。可以用普通用户登录,在特殊操作时用“su -”(“su - root”)切换为系统管理员。
 
== 网络 ==
 
== 服务 ==
=== 防火墙 ===
 
== 进程 ==
 
== 任务调度 ==
=== 时间规则 ===
 
== vi编辑器 ==
 
== 命令 ==
{| class="wikitable"
{| class="wikitable"
! 命令 !! 说明
! colspan="3"| “* * * * *”
|-
|-
| start X
! 值 !! 说明 !! 范围
| 进入图形界面
|-
|-
| shutdown -h now
| 分钟 || 每小时的第几分钟 || 0-59
| 立即关机
# poweroff 关机(poweroff -f 强制关机)
|-
|-
| shutdown -r now
| 小时 || 每天的第几小时 || 0-23
| 立即重启
|-
|-
| logout
| 日期 || 每月的第几天 || 1-31
| 注销
|-
|-
|
| 月份 || 每年的第几月 || 1-12
|
|-
|-
|
| 星期 || 每周的星期几 || 0-6
|
|}
|}
 
* 范围不正确时,任务不执行
== 常用命令 ==

2020年10月15日 (四) 15:45的最新版本


关于

任务调度:系统在某个特定时间,执行特定的命令或程序。

添加任务

  1. “crontab -e”:添加任务
  2. “0 2 * * * date >> /home/mydate”:在crontab中添加该命令,每天临晨两点把时间写到/home/mydate中
    • “0 2 * * *”为时间规则

调度多个任务

方法一:直接使用 crontab -e 添加任务
方法二:

  1. 把所有的任务写入一个可执行文件中(.sh文件,shell代码),并为文件设置可执行权限
  2. 再将可执行文件路径使用 corntab -e 添加到任务调度,如“* * * * * /root/mytask.sh”

终止任务

  1. crontab -l:列出当前所有调度任务
  2. crontab -r:终止调度任务

时间规则

时间规则“* * * * *”,分别表示:

“* * * * *”
说明 范围
分钟 每小时的第几分钟 0-59
小时 每天的第几小时 0-23
日期 每月的第几天 1-31
月份 每年的第几月 1-12
星期 每周的星期几 0-6
  • 范围不正确时,任务不执行