定时任务
什么是定时任务
类似闹钟
Linux下面定时执行任务
备份
流量低谷期(人少的时候)
脚本/命令
定时任务分类
crontab (cronie)
工作必会
anacron
适用于 服务器非7*24小时运行
atd
一次性的定时任务
crontab 分类
系统的定时任务
配置文件
/etc/crontab
目录
etc/cron.daily
这个目录内容系统定时任务 会每天执行
etc/cron.hourly
这个目录内容系统定时任务 会小时执行
etc/cron.monthly
这个目录内容系统定时任务 会每月执行
etc/cron.weekly
这个目录内容系统定时任务 会每周执行
日志切割
系统定时任务+logroate
中毒
定时检查
存放在开机自启动
#用户自己的定时任务
crontab -l
list
查看 当前用户的定时任务
crontab -e
edit
修改当前用户的定时任务
查看 修改定时任务
crontab -l
cat /var/spool/cron/root
crontab -e
vi /var/spool/cron/root
定时任务格式
规则
什么时候做什么事
分时日月周 命令/脚本
特殊符号
*
每
/
每2分钟
每隔xxx分钟
*/ * * * *date>>/tmp/oldboy.txt
检查结果
看文件的内容
看日志
容易混淆
*/1 * * * *date>>/tmp/oldboy.txt 每隔一分钟
* * * * *date>>/tmp/oldboy.txt 每隔一分钟
1 * * * *date>>/tmp/oldboy.txt 每个小时的第一分钟
一样
-
01-23
,
08,09,10,11
定时任务日志
···
# 定时任务实际备份案例
#第1个里程碑-命令行测试 (测试命令是否ok)
#第2个里程碑-书写脚本并测试脚本
#第3个里程碑-写入定时任务 每分钟执行 检查
#第4个里程碑-写入定时任务 根据要求修改时间
···
#书写脚本拍错
先运行里面的命令
运行脚本 显示脚本的执行过程
sh -x
带+号的就是脚本执行过程
加号越多越优先执行
每天晚上12点打包备份/etc目录到/tmp下
#定时任务箴言(坑)
一定要加上1个·注释
书写定时任务的时候 尽量使用脚本
运行脚本使用sh
在定时任务中 %有特殊含义 相当于回车 加上撬棍(\)就可以了
定时任务中的命令/脚本 使用绝对路径
用户的定时任务
用户家目录下
系统定时任务
根下
在定时任务里面 每个命令脚本 定向到空 或追加到文件
写法

image.png
原因

image.png
故障案例

image.png
定时任务中运行脚本环境变量问题
使用命令用绝对路径
脚本开头 重新设置 PATH
. /etc/profile
或
source /etc/profile