linux 定时任务

定时任务的概念

设定指定的时间周期性执行你的计划或者任务
crond 守护进程 分钟级别
两种:
系统级别定时任务:定时清理文件 收集系统信息 定切割日志
用户级别定时任务: 同步时间 定时备份数据

定时任务相关介绍

# -d 把目录像文件一样展示
[root@localhost ~]# ll -d /etc/cron*                            # 定时相关所有配置文件
drwxr-xr-x. 2 root root  21 Jul 29 08:56 /etc/cron.d		# 定时任务的统一存放目录 
drwxr-xr-x. 2 root root  57 Jul 29 08:56 /etc/cron.daily	# 系统每天执行的定时任务
-rw-------  1 root root   0 Apr 11  2018 /etc/cron.deny		# 定时任务的黑名单 
drwxr-xr-x. 2 root root  22 Jul 29 08:56 /etc/cron.hourly	# 系统每小时执行的定时任务
drwxr-xr-x. 2 root root   6 Jun 10  2014 /etc/cron.monthly	# 系统每月执行的定时任务
-rw-r--r--  1 root root 451 Jun 10  2014 /etc/crontab		# 定时任务主配置文件
drwxr-xr-x. 2 root root   6 Jun 10  2014 /etc/cron.weekly	# 系统每周执行的定时任务 

# 跟定时任务相关的文件 
[root@qls ~]# ll /var/spool/cron/root		                # 存放定时任务的配置文件 

[root@qls ~]# ll /var/log/cron		                        # 定时任务执行的过程   日志 

[root@qls ~]# ll /var/spool/mail/	                        # 用户的邮件  

# 怎样书写定时任务 
crontab == vim /etc/crontab			                # 书写定时任务的命令 

crontab 选项:
1. 语法检查 
2. 方便简单 
	-e			# 编辑定时任务    ===   vi  /var/spool/cron/root
	-l			# 查看定时任务    ===   cat  /var/spool/cron/root
         

# 定时任务的规则 
*	                        # 每(分时日月周)都执行  
*/5	                        # 每 5 (分时日月周)执行  每隔多长时间  
/5	
1-3		                # 时间范围  1-3   连续的时间  1点到3点
1,3		                # 不连续的时间  1点和3点 
 
                         

定时相关配置文件

定时任务配置

定时任务时间示例

00 02 * * *     	#每天的凌晨2点整      
00 02 1 * * 	        #每个月的1号凌晨2点整  
00 02 14 2 *        	#每年的2月14日凌晨2点整   
00 02 * * 7        	#每周日的凌晨2点整      
00 02 * 6 5 	        #每年的6月份的每周五的凌晨2点整    
00 02 14 * 7 	        #每个月的14号或者周日的凌晨2点整
00 02 14 2 7  	        #每年的2月份的14号或者周日的凌晨2点整
*/10  02 * * * 	        #每天的凌晨2点每隔10分钟  
* * * * *   	        # 每分钟 
00 00 14 2 *         	# 每年的2月份14号的凌晨0点整
*/5 * * * *          	# 每隔5分钟 
00 02 * 1,5,8 *         # 每年的1和5和8月的每天的凌晨2点整
00 02 1-8 * *           # 每个月的1到8号的凌晨2点整
00 21 * * *      	# 每天晚上21点整
45 4 1,10,22 * * 	# 每个月的1,10,22号 的凌晨4点45分 
45 4 1-10 * *  		# 每个月的1到10号的凌晨4点45分
3,15 8-11 */2 * * 	# 每个月每隔两天的8到11点的3分和15分的时候 
0 23-7/2 * * *   	# 每天的23点到7点的每隔2个小时的整点 
15 21 * * 1-5		# 每周一到周五的晚上21点15分

定时任务总结

总结:
1. 定时任务要有注释 作者 时间 
2. 定时任务的命令一定要在命令行上面执行成功
3. 定时任务要使用绝对路径 
4. 定时任务写命令的时候,尽量复制之前执行成功的命令 减少出错率
5. 定时任务的执行结果定向到指定的文件中或者定向到空
6. 定时任务中,有些特殊字符不识别,需要转义

定时发邮件

# 定时发邮箱首先需要安装发邮件的软件包管理
yum install mailx


# 邮件管理配置变量文件
vim /etc/mail.rc

# 发件人
set from=1176494252@qq.com

# 邮件服务器
set smtp=smtp.qq.com

# 发件人用户名
set smtp-auth-user=1176494252@qq.com

# 发件人密码(QQ邮箱不可以使用密码,只能使用授权码)
set smtp-auth-password=xxx

# 登录方式
set smtp-auth=login

# 邮件服务器协议及端口
set smtp=smtps://smtp.qq.com:465

# 忽略证书
set ssl-verify=ignore

# 指定证书位置或者指定别的证书位置,创建证书目录
set nss-config-dir=/etc/pki/nssdb/

# 放到邮件配置变量文件最后
set from=xxx@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=xxx@qq.com
set smtp-auth-password=xxx		#  客户端的授权码  
set smtp-auth=login
set smtp=smtps://smtp.qq.com:465
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/

示例:
[root@qls ~]# echo  "test"  | mail  -s "hello"  xxxx@qq.com  # -s 邮件主题
[root@qls ~]# Error in certificate: Peer's certificate 
issuer has been marked as not trusted by the.		     # 错误忽略
posted @ 2020-07-31 16:48  nick_xm  阅读(142)  评论(0编辑  收藏  举报