红联Linux门户
Linux帮助

linux定时邮件提醒

发布时间:2016-09-13 10:07:58来源:左手码农作者:刘锐群的笔记
简单实现对Linux服务器的定时监控,可以通过定时执行任务和邮件收发来实现。
 
定时执行任务:crontab
crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程.crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
 
crontab命令的使用方法:
usage: crontab [-u user] file  
    crontab [ -u user ] [ -i ] { -e | -l | -r }  
(default operation is replace, per 1003.2)  
-e      (edit user's crontab)  
-l      (list user's crontab)  
-r      (delete user's crontab)  
-i      (prompt before deleting user's crontab)  
 
邮件发送:mail
linux 下可以使用命令mail来实现邮件收发,使用方法:
Usage: mail -eiIUdEFntBDNHRV~ -T FILE -u USER -h hops -r address -s SUBJECT -a FILE -q FILE -f FILE -A ACCOUNT -b USERS -c USERS -S OPTION users  
 
定时邮件提醒
利用以上两个工具,即可实现定时邮件提醒功能。
 
实现邮件发送
首先,编辑  /etc/mail.rc 文件,添加配置信息
set from=xxx@163.com  
set smtp=smtp://smtp.163.com:25  
set smtp-auth-user=xxx@163.com  
et smtp-auth-password=yyy  
(此处使用了163邮箱)
然后,添加邮件信息,并发送。创建脚本文件 test.sh
#!/bin/bash  
email_date=$(date "+%Y-%m-%d %H:%M:%S")  
echo "email_date : "$email_date  >> /home/xxx/mail.log  
server_ip=${ifconfig}  
echo "server : "  >> /home/xxx/mail.log  
ifconfig >> /home/xxx/mail.log  
df -h >> /home/xxx/mail.log  
mail -s "title" username@qq.com < /home/xxx/mail.log  
rm -rf /home/xxx/mail.log  
运行脚本,检测确定可用。
 
定制计划任务
首先,创建一个名为 mycron 的文件,填写设置信息
* * * * * /home/xxx/test.sh
在上面的例子,系统将每隔1分钟会执行一次 test.sh 脚本。
然后,将该文件提交给cron进程
crontab mycron
为服务器准备的定时邮件提醒的简单功能就完成了!
 
本文永久更新地址:http://www.linuxdiyf.com/linux/24116.html