简单实现对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
为服务器准备的定时邮件提醒的简单功能就完成了!