定时任务

命令:crontab
选项:-e 	编辑
	 -l		查看

格式

*	*	*	*	*	命令
分	时	日	月	周

例子

	* * * * *        表示每分钟都执行
	* 5-7 * * *      每天5点到7点,中  每分钟都执行
	00 5-7 * * *     每天5点到7点,准点执行
	00 02 * * 1,3,5  每周1、3、5 的凌晨2点执行
	*/5 * * * *      每隔5分钟执行一次

crond编写思路

1.手动执行命令,然后保留执行成功的结果。
2.编写脚本
	脚本需要统一路径/scripts
	脚本内容复制执行成功的命令(减少每个环节出错几率)
	脚本执行的输出信息可以重定向至其他位置保留或写入/dev/null
3.执行脚本
	使用bash命令执行, 防止脚本没有增加执行权限(/usr/bin/bash)
	执行脚本成功后,复制该执行的命令,以便写入cron
4.编写计划任务
	加上必要的注释信息, 人、时间、任务
	设定计划任务执行的周期
	粘贴执行脚本的命令(不要手敲)
5.调试计划任务
	增加任务频率测试
	检查环境变量问题
	检查crond服务日志

案例

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

编写脚本

[root@container ~]# cat /opt/backup.sh
#!/usr/bin/bash
#1.使用tar命令备份/etc目录到backup目录
mkdir -p /backup
tar czf /backup/$(date +%F_%H_%M)_$(hostname)_etc.tar.gz /etc/
#2.保留最近3天的数据,其余全部删除
find /backup -type f -name "*.tar.gz" -mtime +3 -delete

授执行的权限

[root@container ~]# chmod  +x  /opt/backup.sh
[root@container ~]# /usr/bin/sh /opt/backup.sh

脚本编写好了,一定要测试,测试成功后,将成功的命令,在写入crontab中。

[root@container ~]# crontab -l
#00 03 * * *  /usr/bin/sh /opt/backup.sh 	&>/dev/null
* * * * *  /usr/bin/sh /opt/backup.sh 	&>/dev/null

问题

避免被误删
1.定时任务存到哪里去了
	[root@container ~]# ll /var/spool/cron/USERNAME 的文件,文件名取决于你是什么用户
2.将定时任务的文件,定期备份起来即可。
	1.写一个备份的脚本。
	2.添加到定时任务中。

出问题怎么办?

1.拿到所有执行过的任务
	[root@container ~]# grep "CMD" /var/log/cron | awk -F '('  '{print $3}' | sort |uniq
	ntpdate time.windows.com &>/dev/null
	/usr/bin/sh /opt/backup.sh &>/dev/null
2.根据执行的任务。去过滤 ,然后找到他的执行时间和周期。
	[root@container ~]# grep "/usr/bin/sh /opt/backup.sh &>/dev/null" /var/log/cron

假设不希望yang使用 crontab

[root@container ~]# echo "oldxu" >> /etc/cron.deny
[root@container ~]# cat /etc/cron.deny
oldxu

测试
[oldxu@container ~]$ crontab -e
You (oldxu) are not allowed to use this program (crontab)
See crontab(1) for more information
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值