Day23-定时任务
导读
- 上周回顾
- 1.磁盘
- 2.进程
- 3.启动
- 今日内容
- 定时任务
- 定时任务注意的事项
- 拒绝某个用户使用
上周回顾
磁盘
磁盘的内部结构
- 盘片:正反两面都可以用来存储数据,如果有很多盘片,可以拿主轴串在一起
- 磁道:存取数据,需要磁头磁化金属颗粒,形成金属块
- 扇区:硬盘出厂的时候进行的低级格式化,每个扇区512字节为度量单位
磁盘接口类型
- 淘汰类:IDE、SCSI
- 个人类:SATA、SSD
- 企业类:SAS、SSD
硬盘指标
- 尺寸:1.8、2.5、3.5
- 容量
- 转速:7500、10000、15000
- IOPS:(dd、iostat、hdparm)
fdisk分区
- MBR分区,小于2T
- 四个主要分区
- 三个主要分区,一个扩展分区,N个逻辑分区
gdisk分区
- GPT分区,大于2T
- 128个主要分区
mkfs格式化
- 初始化文件系统,inode和block(4kb)
临时挂载
- mount挂载
- umount卸载
永久挂载
- /etc/fstab
- 设备名
- 挂载点
- 类型
- 挂载参数
- 备份
- 检查
swap交换分区
- 内存吃满,使用swap
- 内存吃满,随机kill某个进程
RAID磁盘阵列
- raid0
- raid1
- raid5
- raid10
进程
- 进程:程序运行的实例,只不过进程存在生命周期
- 进程生命周期
- 查看进程状态
- 静态ps
- STAT:R、S、S+、Ss、D、T、Z...
- 动态top:cpu使用率指标如何查看
- 使用率 内核使用率 等待IO返回 ...
- 静态ps
nice优先级
- nice
- renice
- 服务器假死问题
管理后台进程
- SCreen
管理进程状态
- kill
- pkill
- killall
中断
- 软中断
- 硬中断
平均负载
- 详见day22笔记
启动
Centos6启动流程
- 详见day22笔记
Centos7启动流程
- 详见day22笔记
c6和c7启动区别
- 加载的父进程不一样
- 加载的配置文件不一样
- 串行、并行
运行级别
- 0 6 关机和重启
- 2 4 不用
- 3 5 字符、图形
- 1 单用户
单用户模式
必须面对实体,必须系统是正常的
- 修改密码
- 修改配置文件
- sudo权限改坏 (5分钟)
救援模式
系统无法正常引导
- 引导丢失
- 内核丢失
- 分区抹掉了
思路:
- 加载光盘中的镜像
- 进入光盘中的镜像
- 挂载真实的系统目录结构
- 执行相应的命令进行恢复操作
今日内容
定时任务
-
什么是定时任务
- 定点执行某个任务
-
为什么用定时任务
- 电商秒杀,定点开启,定点关闭
- 定时备份
- 时间同步
- 日志切割(系统日志)
- 日志切割(程序产生的日志删除) ---> 实时推送到远端 ---> 远端分析 ---> 出图
- 定时执行 5分钟----> 脚本(监控数据库存活状态)
- 定时爬虫
- 定时同步
-
定时任务使用情况
- 系统使用: 日志切割(系统日志)
- 个人使用: 定时备份,定时清理,时间同步
-
定时任务如何使用
crontab
/var/spool/cron/
* * * * * user-name command to be executed
-
定时任务书写规范
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed 分 时 日 月 周 * 表示任意的(分、时、日、月、周)时间都执行 - 表示一个时间范围段,如 5-7点 , 表示分割时段,如6,0,4表示周六、日、四 /1表示每隔n单位时间,如*/10 每10分钟
定时任务注意的事项
- 给定时任务注释
- 将需要定期执行的任务写入shell脚本中,避免直接使用命令无法执行的情况
- 定时任务的结尾一定要有&>/dev/null或者将结果保存下来
拒绝某个用户使用
/etc/cron.deny