Linux基础知识-计划任务~19-08.11

1、Linux计划任务
未来的某个时间执行一次任务,执行结果会通过邮件通知
1.1、定时任务:at batch
1.2、周期性任务:crontab
  • 系统任务调度
    ​ /etc/crontab
  • 用户任务调度
    ​ /var/spool/cron
1.3、mail​
  • mail -s “邮件主题” -c “抄送地址” -b “密送地址” -f 发送人地址 -F 发件人姓名 <
    ​ echo “test” | mail -s test nebulalinux03
  • at :
  • 时间定义
    ​ hh:mm 12:00
    ​ noon teatime
    ​ AM PM 8am 9pm
    ​ 2019-8-11 2019/8/11
    ​ + 5 minutes hours days weeks
    ​ today tomorrow
  • 语法结构
    at 选项 参数
    ​ -q 列出任务
    ​ -f 从文件中读取
    ​ -l 列出任务
    ​ -d 指定删除
    ​ -v 列出已执行未删除的任务
    ​ -V 列出版本号
    ​ -c 查看作业内容
  • atq
  • atrm
1.4、cron命令
  • 时间表示法:
  • 特定值
    ​ 40 8 * * *
  •  *
     * 8 * * *
    
  • 连续值
    ​ 8-10 9-17
  • 离散值
    ​ 8、10、12
  • 定义时间点 时间步长
    ​ /4
    ​ 注意:定义步长需要能被整除

例:

​ 5 * * * * 每小时执行一次,每小时的第五分钟执行一次

​ 3 4 * * 5 每周执行一次,每周五的3:04执行一次

​ 5 6 7 * * 每月执行一次,每月七号的5:06执行一次

​ 7 8 9 10 * 每年执行一次,每年十月九号的8:09执行一次

​ 8 9 * * 3,4 每周三周四的8:09执行一次

​ 0 8,9,20 * * 6, 7 每周六周天的8、9、20点执行一次

​ */5 * * * * 每隔五分钟执行一次

1.5、crontab 语法结构
  • -e 编辑任务
  • -l 列出任务列表
  • -r 移除任务
  • -i 移除时确认
  • -u

练习:
1、每一分钟执行一次commond
2、每小时的第3分钟和第15分钟执行一次command
3、从早上的8点到12点的第3分钟和第15分钟执行一次command
4、每隔两天的上午11点到18点之间的第3分钟和第15分钟执行一次command
5、每晚18点重启网卡配置
6、每周天凌晨1点重启apache 服务
7、每小时重启一次 commond 服务
8、每月的4号与每周的周一到周五执行网卡重启
9、每年的1月1号重启网卡
10、每晚的11点到早上7点之间,每小时重启一次网卡

​ (1)* * * * * command

​ (2)3,15 * * * * command

​ (3)3,15 8-12 * * *command

​ (4)3,15 11-18 */2 * * command

​ (5)0 18 * * * service network restart

​ (6)0 1 * * 0 /usr/local/apache/bin/httpd restart

​ (7)0 * * * *

​ (8)* * 4 * 1-5

​ (9)* * 1 1 * service network restart

​ (10)* 23-7/1 * * *

1.6、计划任务规范
  • 脚本要规范,脚本存放位置要规范,便于维护
  • 定时任务要写注释
  • 执行的脚本要带绝对路径
  • 执行结果的标准输出或者错误输出 >/dev/null
  • 可以以命令完成的任务,也要写在脚本
  • 分用户执行
2、Linux进程管理
2.1、程序:
一组指令以及参数集合,按照相应的逻辑控制计算机完成特性任务
2.2、进程:
​运行的程序,动态。操作系统上的基本单位,有自己的生命周期、状态。
  • 操作系统以进程为单位分配系统资源
  • 操作系统用来管理、控制、分配系统硬件资源
  • 每个进程运行是独立的
  • 具有独立的地址空间,运行状态
  • 多个程序同时有运行,每一个程序就是一个进程
  • 子进程都有父进程,子进程是由父进程产生的,子进程会继承父进程的资源、权限,而且子进程也会运行自己的程序
2.3、线程
  • 一个进程可以有多个线程
  • 线程无法独立运行,当一个进程派生的所有线程都执行成功后,这个进程才会运行
  • 程序和线程都有自己完整的一套资源集
2.4、进程的生命周期
  • centos6以“init”为第一个父进程
  • centos7以“systemd”为第一个父进程
  • 进程状态:准备/等待状态,就绪状态,运行状态,阻塞状态,休眠状态,死亡状态
2.5、进程管理工具
  • pstree 进程树 查看进程之间的关系

  • -A 各进程树之间的连接以ASCII码字符来连接

  • -U 各个进程树之间的连接以utf8字符来连接

  • -p 显示pid

  • -u 显示用户

  • ps

  • -a 显示所有进程

  • -A 所有进程都显示出来,与-e具有同样的效用

  • -u 显示以用户为主的进程

  • x 和au配合使用,显示完整信息

  • -l 较长、较详细的将该pid的信息列出来

  • -f 做一个更为完整的输出

  • pgrep

  • -l 同时显示进程名和pid

  • -o 当匹配多个进程时,显示进程号最小的那个

  • -n 当匹配多个进程时,显示进程号最大的那个

  • kill

  • -0 查看进程状态,不杀死

  • -9 杀死过程

  • -w 等待进程死亡

  • -l 列出已知信号

  • u 指定用户

  • killall(可杀死所有同名进程)
    [root@localhost ~]# kill -9 bash

  • pkill(ps与kill的结合)

  • htop

  • vmstat (参数)
    vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的cup的使用情况,内存使用,虚拟内存交换情况,io读写情况。

  • -v 显示vmstat版本信息

  • -a 显示活跃和非活跃内存

  • -d 显示各个磁盘相关统计信息

  • -D 显示磁盘总体信息

  • -p 显示指定磁盘分区统计信息

  • -t 在输出信息的时候也将时间一并输出来

  • lsof (参数)

  • lsof -u uname/uid 显示归属uname/uid的进程情况

  • lsof -g gname/gid 显示归属gname/gid的进程情况

  • lsof -i 用于显示符合条件的进程情况

  • lsof -p 1234 列出进程号为1234的进程所打开的文件

  • lsof -d 4 显示使用fd为4的进程

  • lsof +d 显示目录下被进程开启的文件

  • lsof +D 显示目录下被进程开启的文件,并搜索目录下的目录

  • lsof -c abc 显示出以字母abc开头进程所打开的文件

  • lsof -u username 列出某个用户打开的文件信息

2.6、进程优先级
  • 进程优先级划分[0-139]
    0——99 有效的实时优先级,人不可以调整
    100——139 非有效的实时优先级(或静态优先级),人可以通过nice值调整这段优先级 nice值[-20——19]
    Nice值越小优先级越高

  • nice值的调整
    top “r” ——>enter 输入pid——>enter 输入nice值——>enter
    htop F7(-) F9(+)

2.7、 进程的状态
  • sleeping 睡眠状态
  • stopping 停止状态
  • running 运行状态
  • zombie 僵尸状态
    特点: 实时变化的
2.8、进程在前台后台的运行、作业控制
  • 在前台一次只能运行一个作业

  • 在后台可以运行多个作业

  • [root@localhost ~]# ping 192.168.108.3 > /dev/null 2>&1 &

  • jobs 查看后台作业与终端、不同终端上的作业要在对应终端上查看
    [root@localhost ~]# jobs
    [1]+ Running ping 192.168.108.3 > /dev/null 2>&1 &

  • fg %job编号 把作业调到前台运行

  • ctrl+z 挂起前端正在运行的作业

  • bg %job编号 把后台作业运行起来

  • kill %job编号 先停止再杀死

  • ping 192.168.108.3 & 已经在后台运行,在前台输出结果,不影响前台作业执行
    jobs

2.9、Linux系统结构、在x86平台的CPU,是如何执行内核程序和用户程序的
  • ring0:与硬件相关或者硬件寄存器、总线控制有关的程序——内核程序
  • ring1-2:驱动程序或者与虚拟化相关的程序
  • ring3:用户态程序
2.10、/proc文件系统、正在运行的内核信息映射

主要输出:进程信息、内存资源信息、磁盘分区信息等等

  • /proc/cpuinfo CPU的信息
  • /proc/meminfo RAM使用的相关信息
  • /proc/devices 已经加载的设备并分类
  • /proc/filesystems 内核当前支持的文件系统类型
  • /proc/mdstat 多硬盘,RAID配置信息
  • /proc/mount 系统中使用的所有挂载
  • /proc/stat 所有CPU活动信息
  • /proc/uptime 系统已经运行了多久
  • /proc/swaps 交换空间的使用情况
  • /proc/version Linux内核版本的gcc版本
  • /proc/driver 驱动信息
  • /proc/fs 文件系统信息
  • /proc/net 网卡设备信息
  • /proc/tty tty设备信息
  • /proc/diskstats 取得磁盘信息
  • /proc/vmstat 虚拟内存统计信息
2.11、/sys文件系统,硬件设备的驱动程序信息
  • /sys/devices /sys文件系统最重要的目录结构
  • /sys/dev 该目录下有字符设备(block)和块设备(char)两个目录
  • /sys/class 按功能分类设备
  • /sys/block 代表着系统中当前被发现的所有设备
  • /sys/fs 该目录用来描述系统中所有的文件系统
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值