定时任务+邮件发送 小记

*定时任务就像每天喊你起床的闹钟,严格设定指定的时间周期性执行你的计划或者任务。

话不多说,上图~~

 

 

*定时任务的相关配置文件

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

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

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

 

*crontab      #书写定时任务的命令  

-e    #编辑定时任务      == vim  /var/spool/cron/root 

-l     #查看定时任务     ==  cat  /var/spool/cron/root

 

*示例*

00 02 * * *              #每天凌晨2点整 

00 02 1 * *             #每个月的1号凌晨2点整 

00 02 1 2 *            #每年的2月1日凌晨2点整 

00 02 1 2 7          #每年的【2月1号或者周日】凌晨2点整

 

[root@web01 ~]#  crontab  -l
#同步系统时间
* * * * * /usr/sbin/ntpdate ntp.aliyun.com  &>/dev/null       #每一时刻都像阿里云同步时间

 

*定时任务+发送邮件=定时定点发送邮件*

 

1.安装邮件命令

[root@web01 ~]#  yum install  -y  mailx

 

2.编辑配置文件

[root@web01 ~]#  vim /etc/mail.rc

set from=xxxx@qq.com                 #接收方看到的发件人信息
set smtp=smtp.qq.com                 #邮件服务器
set smtp=smtps://smtp.qq.com:465              #邮件服务器协议及端口
set smtp-auth-user=xxxx@qq.com                #发件人用户名
set smtp-auth-password=XXXXXXXXX           ##发件人密码(不是QQ邮箱的密码,输入的是邮箱授权码)
set smtp-auth=login                    #登录方式
set ssl-verify=ignore                    #忽略证书
set nss-config-dir=/etc/pki/nssdb/           #指定证书位置

注:邮箱授权码获取路径:QQ邮箱  > 设置 >  POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务开启 >按照提示信息发送短信

 

[root@web01 ~]# echo "发送的内容" | mail -s "邮箱主题"  xxxx@qq.com
[root@web01 ~]# Error in certificate: Peer's certificate issuer has been marked as not trusted by the.         #错误提示不影响发送邮件,忽略即可

 

*常见报错:

535 Error: http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256

smtp-server: 535 Error:

http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256

"/root/dead.letter" 11/307

. . . message not sent.

 

原因:邮箱授权码问题,按照上述提示重新操作,POP3/SMTP服务需要开启,配置文件中auth-password一定时授权码并非邮箱密码。

 

*结合定时任务与发送邮件*

1.将发送邮件写入脚本

2.定时任务执行脚本

 

彩蛋袭来~~附带情书小脚本,快去向暗恋的小哥哥|小姐姐写情书吧~~~~

1.百度好情书内容,准备多封保证每天不重样~~

2.将准备好的情书内容写入指定文件夹,1.txt  2.txt依次排~~

3.写脚本啦~~

 

[root@web01 ~]# cat qingshu.sh
#! /bin/bash

 

qingshu=$(ls -1 /qingshu |head -1)

 

mail -s "至亲爱的xxx"   XXXXXXXX@qq.com < /qingshu/$qingshu

 


if [ $? -eq 0 ];then

 

    rm -rf /qingshu/$qingshu

 

fi

 

4.加入定时任务

[root@web01 ~] crontab  -e

#时间同步
* * * * *   /usr/sbin/ntpdate ntp1.aliyun.com   &>/dev/null

#定时发送小情书
14 13 * * *  /bin/bash   /root/qingshu.sh   &>/dev/null

 

~~~只能帮你到这里啦~~~

 

 

 

 

 

 

posted @ 2020-08-12 19:01  芒果~~  阅读(347)  评论(0编辑  收藏  举报