Linux计划任务

LINUX计划任务

crond就是计划任务,类似于我们平时生活中的闹钟。定点执行。

作用
crond主要是做一些周期性的任务。 场景1: 定期备份重要的文件或数据。
场景2: 促销活动,准点开启抢购接口,准点关闭抢
购接口。
场景3: 每分钟检测超时订单,超过30分钟未支付的订单进行取消。
场景4: 每隔5分钟上各个电商平台刷取订单信息写入自己公司的系统中。

计划任务两大类

1.系统级别的定时任务: 临时文件清理、系统信息采集、日志文件切割
2用户级别的定时任务: 定时备份数据,同步时间, 订单超时自动取消,按时间段统计信息等等
配置文件解释

[root@yum_server10 ~]# vim  /etc/crontab  

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分钟


******分  时  日  月  周******

计划任务编写范例

00 02 * * * ls 每天的凌晨2点整执行 
00 02 1* *  ls  每月的1号凌晨两点执行 
00  02   14  2  *  ls                     每年的2月14日凌晨2点执行
00   02  *  *   7   ls                    每周天的凌晨2点整执行
00   02  *   6   5   ls                  每年的6月周五凌晨2点执行
00   02    14   *   7 ls                 每月14日或每周日的凌晨2点都执行
00   02    14   2    7 ls            每年的2月14日或每年2月的周天的凌晨2点执行
*/10  02    * * *  sl                ls        每天凌晨2点,每隔10分钟执行一次 2:00开始 2:50结束
* * * * *                              ls 每分钟都执行
00  02   14   2   *                ls                    每年2月14日的凌晨执行命令
*/5  * *  *  *                      ls  每隔5分钟执行一次
00 02    *   1,5,8  *         ls              每年的1月5月8月凌晨2点执
00  02    1-8  *  *           ls 每月1号到8号凌晨2点执行
00  21  *  *    *                ls每天晚上21:00执行
45  04   *    1,10  *              ls        每月1、10、22日的4:45执
45  04   1-10  *  *  *            ls            每月1到10日的4:45执行
3,15    8-11  */2    *   *     ls                      每隔两天的上午8点到11点的第3和15分钟执行
00    23-7 /1   *    *    *    ls                  晚上11点到早上7点之间,每小时都执行
15  21  *  *   1-5   ls						周一到周五每天晚上21:15执行

使用crond 实现计划任务
-e 编辑定时任务
-l 定时查看任务
-r 删除定时任务
-u 指定其他用户

定时同步时间

使用root用户每5分钟执行一下时间同步

[root@yum_server10 ~]# crontab   -l -u  root 
*/5  * * * *  ntpdate  time.windows.com 

每天备份文件

每天凌晨3点做一次备份 ? 备份/etc/ 目录到/backup 下面
1 将备份命令写入一个脚本中
2 每天备份文件名要求格式 : 2020 -01-01_hostname_etc.tar .gz
3 在执行计划任务时不要输出任务信息
4存放备份内容的目录要求只保存三天的数据


#!/usr/bin/bash

DATE=$(date +%F)
NAME=$(hostname)
Dir=/etc/
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

cd    ~/backup
tar czf  ${DATE}_${NAME}__etc.tar.gz  ${Dir}
find   ~/backup/  -name  '*.tar.gz' -a   -mtime +3  | xargs rm  -rf

~                                                                   
[root@yum_server10 ~]# crontab  -l  -u  root
*/5  * * * *  ntpdate  time.windows.com 

# 每天凌晨3点备份/etc  配置定期删除3天前的/etc下的数据
00 03 * * *  bash  ~/backup.sh  &>/dev/null
[root@yum_server10 ~]# crontab  -l 
*/5  * * * *  ntpdate  time.windows.com 

# 每天凌晨3点备份/etc  配置定期删除3天前的/etc下的数据
00 03 * * *  bash  ~/backup.sh  &>/dev/null
[root@yum_server10 ~]# vim  backup.sh 
[root@yum_server10 ~]# crontab  -l  -u  root
*/5  * * * *  ntpdate  time.windows.com 

# 每天凌晨3点备份/etc  配置定期删除3天前的/etc下的数据
00 03 * * *  bash  ~/backup.sh  &>/dev/null

计划任务注意事项
(1)给定时任务注释
(2)将需要定期执行的任务写入shell脚本中,避免
直接使用命令无法执行的情况tar date
(3)定时任务的结尾一定要有&>/dev/null或者将结
果追加重定向>>/tmp/date.log文件


set  from=344767835@qq.com
set  smtp=smtp.qq.com
set  smtp-auth-user=344767835@qq.com
set  smtp-auth-password=wddwotpytzrpbhjd
set  smtp-auth=login

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
DATA=$(curl http://wttr.in)
mkdir   ~/tianqii.txt
echo  ${DATA} >  ~/tianqi.txt
cat  ~/tianqi.txt  | mail -s "hello test" 344767835@qq.com

~                                                                               
~                                                                               
~                                                          
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值