首页 > 技术文章 > 计划任务简易版

wuqiuyin 2021-07-13 14:51 原文

1、什么是定时任务

定时任务就是Linux系统中的闹钟,将某一个脚本按照定时任务的规则去执行。

2、定时任务的格式

	*  *  *  *  *
	分 时 日 月 周

	* 		:每
	1 		:具体的时间周期
	*/1 	: 每隔一段时间
	1,3,5,7	 :某一个具体的时间段
	1-5		:具体某个连续的时间段
	1-5/2 	: 具体某个连续时间段中每2个单位时间执行一次

3、怎么设置定时任务 命令crontab

命令crontab:
参数:
-e:编辑定时任务
-l: 查看定时任务
-r:删除定时任务
-u:指定其他用户

1、写配置文件
	1、编写/etc/crontab表达式
	2、将脚本放置于/etc/cron.hourly   cron.monthly  cron.weekly   cron.daily
2、使用crontab -e
        1、crontab -e
	2、写入配置文件中 /var/spool/cron/[用户名]

4、发邮件
Python版

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import smtplib
import email.mime.multipart
import email.mime.text

msg = email.mime.multipart.MIMEMultipart()

msg['Subject'] = '你是风儿我是沙,缠缠绵绵回我家'
msg['From'] = 'qq245908373@163.com'
msg['To'] = 'qq245908373@163.com'
content = '''
    来来来,一起摇摆
'''
txt = email.mime.text.MIMEText(content,_charset='utf-8')
msg.attach(txt)

smtp = smtplib.SMTP()
smtp.connect('smtp.163.com', '25')
smtp.login('qq245908373@163.com', '密码(设置里授权码)')
smtp.sendmail('qq245908373@163.com', 'qq245908373@163.com', msg.as_string())
smtp.quit()
print('邮件发送成功email has send out !')

linux版

yum install mailx

vim /etc/mail.rc

set from=qq245908373@163.com
set smtp=smtp.163.com
set smtp-auth-user=qq245908373@163.com
set smtp-auth-password=密码(网易邮箱设置里的授权码)
set smtp-auth=login

echo "测试邮件" | mail -s "测试" alvincy@qq.com

from是发送的邮件地址
smtp是发生的外部smtp服务器的地址
smtp-auth-user是外部smtp服务器认证的用户名
smtp-auth-password是外部smtp服务器认证的用户密码
smtp-auth是邮件认证的方式


1、实时监控内存空闲率, 当空闲率小于50%, 发送报警邮件

FREE=`free | awk 'NR==2{print $4}'`
TOTAL=`free | awk 'NR==2{print $2}'`
NUM=`echo "$FREE * 100 / $TOTAL" | bc`

if [[ $NUM < 50 ]];then
	echo "【内存报警】当前空闲率:${NUM}%,空闲率小于50%。" | mail -s '测试' qq245908373@163.com
fi

推荐阅读